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-2024 The Apache Software Foundation. All rights reserved.