|
Groovy Documentation | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.codehaus.groovy.ast.tools.GenericsUtils
public class GenericsUtils extends java.lang.Object
Utility methods to deal with generic types.
Field Summary | |
---|---|
static GenericsType[] |
EMPTY_GENERICS_ARRAY
|
Method Summary | |
---|---|
static GenericsType[]
|
alignGenericTypes(GenericsType[] redirectGenericTypes, GenericsType[] parameterizedTypes, GenericsType[] alignmentTarget)
Given a parameterized type and a generic type information, aligns actual type parameters. |
static GenericsType
|
buildWildcardType(ClassNode... types)
Generates a wildcard generic type in order to be used for checks against class nodes. |
static java.util.Map
|
extractPlaceholders(ClassNode cn)
|
static void
|
extractPlaceholders(ClassNode node, java.util.Map map)
For a given classnode, fills in the supplied map with the parameterized types it defines. |
static ClassNode
|
parameterizeInterfaceGenerics(ClassNode hint, ClassNode target)
Interface class nodes retrieved from ClassNode.getInterfaces or ClassNode.getAllInterfaces are returned with generic type arguments. |
static ClassNode
|
parameterizeType(ClassNode hint, ClassNode target)
Interface class nodes retrieved from ClassNode.getInterfaces or ClassNode.getAllInterfaces are returned with generic type arguments. |
Methods inherited from class java.lang.Object | |
---|---|
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Field Detail |
---|
public static final GenericsType[] EMPTY_GENERICS_ARRAY
Method Detail |
---|
public static GenericsType[] alignGenericTypes(GenericsType[] redirectGenericTypes, GenericsType[] parameterizedTypes, GenericsType[] alignmentTarget)
<T,U,V>(redirectGenericTypes), is used with actual type parameters
<java.lang.String, U,V>, then a class or interface using generic types
<T,V>will be aligned to
<java.lang.String,V>
redirectGenericTypes
- the type arguments or the redirect class nodeparameterizedTypes
- the actual type arguments used on this class nodealignmentTarget
- the generic type arguments to which we want to align to
public static GenericsType buildWildcardType(ClassNode... types)
types
- the type to be used as the wildcard upper bound
public static java.util.Map extractPlaceholders(ClassNode cn)
public static void extractPlaceholders(ClassNode node, java.util.Map map)
public static ClassNode parameterizeInterfaceGenerics(ClassNode hint, ClassNode target)
hint
- the class node where generics types are parameterizedtarget
- the interface we want to parameterize generics types
public static ClassNode parameterizeType(ClassNode hint, ClassNode target)
hint
- the class node where generics types are parameterizedtarget
- the interface we want to parameterize generics types
Groovy Documentation