Package org.codehaus.groovy.ast
Class GenericsType
- java.lang.Object
-
- org.codehaus.groovy.ast.ASTNode
-
- org.codehaus.groovy.ast.GenericsType
-
- All Implemented Interfaces:
NodeMetaDataHandler
public class GenericsType extends ASTNode
This class is used to describe generic type signatures for ClassNodes.- See Also:
ClassNode
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GenericsType.GenericsTypeName
Represents GenericsType name TODO In order to distinguish GenericsType with same name(See GROOVY-8409), we should add a property to keep the declaring class.
-
Field Summary
Fields Modifier and Type Field Description static GenericsType[]
EMPTY_ARRAY
-
Constructor Summary
Constructors Constructor Description GenericsType(ClassNode basicType)
GenericsType(ClassNode type, ClassNode[] upperBounds, ClassNode lowerBound)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClassNode
getLowerBound()
String
getName()
ClassNode
getType()
ClassNode[]
getUpperBounds()
boolean
isCompatibleWith(ClassNode classNode)
Compares this generics type with the provided class node.boolean
isPlaceholder()
boolean
isResolved()
boolean
isWildcard()
void
setName(String name)
void
setPlaceholder(boolean placeholder)
void
setResolved(boolean resolved)
void
setType(ClassNode type)
void
setWildcard(boolean wildcard)
String
toString()
-
Methods inherited from class org.codehaus.groovy.ast.ASTNode
copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition, visit
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler
copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setNodeMetaData
-
-
-
-
Field Detail
-
EMPTY_ARRAY
public static final GenericsType[] EMPTY_ARRAY
-
-
Method Detail
-
getType
public ClassNode getType()
-
setType
public void setType(ClassNode type)
-
getName
public String getName()
-
setName
public void setName(String name)
-
isResolved
public boolean isResolved()
-
setResolved
public void setResolved(boolean resolved)
-
isPlaceholder
public boolean isPlaceholder()
-
setPlaceholder
public void setPlaceholder(boolean placeholder)
-
isWildcard
public boolean isWildcard()
-
setWildcard
public void setWildcard(boolean wildcard)
-
getLowerBound
public ClassNode getLowerBound()
-
getUpperBounds
public ClassNode[] getUpperBounds()
-
isCompatibleWith
public boolean isCompatibleWith(ClassNode classNode)
Compares this generics type with the provided class node. If the provided class node is compatible with the generics specification, returns true. Otherwise, returns false. The check is complete, meaning that nested generics are also checked.- Returns:
- if
classNode
is or is not compatible with this generics specification
-
-