[Java] Class WideningCategories.LowestUpperBoundClassNode
- org.codehaus.groovy.ast.tools.WideningCategories.LowestUpperBoundClassNode
public static class WideningCategories.LowestUpperBoundClassNode extends ClassNode
This ClassNode specialization is used when the lowest upper bound of two types cannot be represented by an existing type. For example, if B extends A, C extends A and both C and B implement a common interface not implemented by A, then we use this class to represent the bound. At compile time, some classes like AsmClassGenerator need to know about a real class node, so we compute a "compile time" node which will be used to return a name and a type class.
Fields inherited from class | Fields |
---|---|
class ClassNode | EMPTY_ARRAY, SUPER, THIS, clazz, innerClasses, isPrimaryNode, lazyInitLock |
Constructor Summary
Constructor and description |
---|
LowestUpperBoundClassNode
(String name, ClassNode upper, ClassNode interfaces) |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
public String |
getLubName() | |
public String |
getName() | |
public ClassNode |
getPlainNodeReference() | |
public String |
getText() | |
public Class |
getTypeClass() | |
public int |
hashCode() |
Inherited Methods Summary
Constructor Detail
public LowestUpperBoundClassNode(String name, ClassNode upper, ClassNode interfaces)
Method Detail
public String getLubName()
@Override public String getName()
@Override public ClassNode getPlainNodeReference()
@Override public String getText()
@Override public Class getTypeClass()
@Override public int hashCode()
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/org/codehaus/groovy/ast/tools/WideningCategories.LowestUpperBoundClassNode.html