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, isPrimaryNode, lazyInitLock | 
| Constructor and description | 
|---|
| LowestUpperBoundClassNode(String name, ClassNode upper, ClassNode interfaces) | 
| Type Params | Return Type | Name and description | 
|---|---|---|
|  | public GenericsType | asGenericsType() | 
|  | public String | getLubName() | 
|  | public String | getName() | 
|  | public ClassNode | getPlainNodeReference() | 
|  | public String | getText() | 
|  | public Class | getTypeClass() | 
|  | public String | toString(boolean x) | 
Copyright © 2003-2025 The Apache Software Foundation. All rights reserved.