public class LubType_c extends ClassType_c implements LubType
ClassType.Kind
Modifier and Type | Field and Description |
---|---|
protected ReferenceType |
lubCalculated |
protected java.util.List<ReferenceType> |
lubElems |
decl, memberCache
position, ts
Constructor and Description |
---|
LubType_c(TypeSystem ts,
Position pos,
java.util.List<ReferenceType> lubElems) |
Modifier and Type | Method and Description |
---|---|
AnnotationTypeElemInstance |
annotationElemNamed(java.lang.String name) |
java.util.List<AnnotationTypeElemInstance> |
annotationElems() |
Annotations |
annotations()
Annotations on the declaration of this type.
|
ReferenceType |
calculateLub() |
java.util.List<ConstructorInstance> |
constructors()
The class's constructors.
|
EnumInstance |
enumConstantNamed(java.lang.String name) |
java.util.List<EnumInstance> |
enumConstants() |
java.util.List<? extends FieldInstance> |
fields()
Returns a list of fields declared in this type.
|
Flags |
flags()
Get the class's flags.
|
boolean |
inStaticContext()
Return true if the class declaration occurs in a static context.
|
java.util.List<? extends ReferenceType> |
interfaces()
Returns a list of all the type's interfaces.
|
boolean |
isCastValidImpl(Type toType)
Requires: all type arguments are canonical.
|
java.util.LinkedList<Type> |
isImplicitCastValidChainImpl(Type toType)
Return a chain of types that show that this class can be implicitly cast
to toType.
|
boolean |
isRawClass()
Is this class a Raw Class? See JLS 3rd ed., 4.8
|
boolean |
isSubtypeImpl(Type ancestor)
Return true if this type is a subtype of
ancestor . |
Job |
job() |
ClassType.Kind |
kind()
Get the class's kind: top-level, member, local, or anonymous.
|
java.util.List<ReferenceType> |
lubElements() |
java.util.List<ClassType> |
memberClasses()
The class's member classes.
|
java.util.List<? extends MethodInstance> |
methods()
Returns a list of methods declared in this type.
|
java.lang.String |
name()
Get the short name of the class, if possible.
|
ClassType |
outer()
The class's outer class, or null if a top-level class.
|
Package |
package_()
Get the class's package.
|
void |
setContainer(ReferenceType container)
Destructively set the member's container.
|
void |
setFlags(Flags flags)
Destructively set the member's flags.
|
java.util.Set<? extends Type> |
superclasses()
All direct superclasses of the class.
|
Type |
superType()
Returns the supertype of this type.
|
java.lang.String |
toString()
Yields a string representing this type.
|
java.lang.String |
translateAsReceiver(Resolver resolver)
Translate the type as it should be if it were the receiver
of a field or method call.
|
container, copy, declaration, descendsFromImpl, fieldNamed, fullName, hasEnclosingInstance, hasEnclosingInstanceImpl, isAnonymous, isCanonical, isClass, isEnclosed, isEnclosedImpl, isImplicitCastValidImpl, isInner, isInnerClass, isLocal, isMember, isNested, isThrowable, isTopLevel, isUncheckedException, memberClassNamed, members, print, resolver, setDeclaration, toClass, translate
hasMethod, hasMethodImpl, isReference, methods, methodsNamed, toReference
arrayOf, arrayOf, descendsFrom, isArray, isBoolean, isByte, isCastValid, isChar, isComparable, isDouble, isFloat, isImplicitCastValid, isInt, isIntOrLess, isLong, isLongOrLess, isNull, isNumeric, isPackage, isPrimitive, isShort, isSubtype, isType, isVoid, numericConversionValid, numericConversionValid, numericConversionValidImpl, numericConversionValidImpl, toArray, toNull, toPackage, toPrimitive, toType, typeEquals, typeEqualsImpl
equals, equalsImpl, hashCode, position, typeSystem
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
fieldNamed, hasEnclosingInstance, hasEnclosingInstanceImpl, isAnonymous, isEnclosed, isEnclosedImpl, isInner, isInnerClass, isLocal, isMember, isNested, isTopLevel, memberClassNamed, resolver
hasMethod, hasMethodImpl, members, methods, methodsNamed
arrayOf, arrayOf, descendsFrom, descendsFromImpl, isArray, isBoolean, isByte, isCastValid, isChar, isClass, isComparable, isDouble, isFloat, isImplicitCastValid, isImplicitCastValidImpl, isInt, isIntOrLess, isLong, isLongOrLess, isNull, isNumeric, isPrimitive, isReference, isShort, isSubtype, isThrowable, isUncheckedException, isVoid, numericConversionValid, numericConversionValid, numericConversionValidImpl, numericConversionValidImpl, print, toArray, toClass, toNull, toPrimitive, toReference, translate, typeEquals, typeEqualsImpl
equalsImpl, isCanonical, position, typeSystem
container
declaration, setDeclaration
protected java.util.List<ReferenceType> lubElems
protected ReferenceType lubCalculated
public LubType_c(TypeSystem ts, Position pos, java.util.List<ReferenceType> lubElems)
public java.util.List<ReferenceType> lubElements()
lubElements
in interface LubType
public ReferenceType calculateLub()
calculateLub
in interface LubType
public ClassType.Kind kind()
ClassType
kind
in interface ClassType
kind
in class ClassType_c
public java.lang.String toString()
Type
toString
in interface Type
toString
in class ClassType_c
public boolean isCastValidImpl(Type toType)
ReferenceType_c
isCastValidImpl
in interface Type
isCastValidImpl
in class ClassType_c
public java.util.LinkedList<Type> isImplicitCastValidChainImpl(Type toType)
JL5ClassType
isImplicitCastValidChainImpl
in interface JL5ClassType
public boolean isSubtypeImpl(Type ancestor)
Type
ancestor
.isSubtypeImpl
in interface Type
isSubtypeImpl
in class Type_c
public boolean isRawClass()
JL5ClassType
isRawClass
in interface JL5ClassType
public EnumInstance enumConstantNamed(java.lang.String name)
enumConstantNamed
in interface JL5ClassType
public java.util.List<EnumInstance> enumConstants()
enumConstants
in interface JL5ClassType
public java.lang.String translateAsReceiver(Resolver resolver)
JL5ClassType
translateAsReceiver
in interface JL5ClassType
public boolean inStaticContext()
ClassType
inStaticContext
in interface ClassType
public void setFlags(Flags flags)
MemberInstance
setFlags
in interface MemberInstance
flags
- the flags to setpublic void setContainer(ReferenceType container)
MemberInstance
setContainer
in interface MemberInstance
container
- the container to setpublic Job job()
job
in class ClassType_c
public ClassType outer()
ClassType
outer
in interface ClassType
outer
in class ClassType_c
public java.lang.String name()
ClassType_c
name
in interface Named
name
in class ClassType_c
public Package package_()
ClassType_c
package_
in interface Importable
package_
in class ClassType_c
public Flags flags()
ClassType_c
flags
in interface MemberInstance
flags
in class ClassType_c
public java.util.List<ConstructorInstance> constructors()
ClassType
ConstructorInstance
.constructors
in interface ClassType
constructors
in class ClassType_c
ConstructorInstance
public java.util.List<ClassType> memberClasses()
ClassType
ClassType
.memberClasses
in interface ClassType
memberClasses
in class ClassType_c
ClassType
public java.util.List<? extends MethodInstance> methods()
ReferenceType
methods
in interface ReferenceType
methods
in class ClassType_c
MethodInstance
.MethodInstance
public java.util.List<? extends FieldInstance> fields()
ReferenceType
fields
in interface ReferenceType
fields
in class ClassType_c
FieldInstance
.FieldInstance
public java.util.List<? extends ReferenceType> interfaces()
ReferenceType
interfaces
in interface ReferenceType
interfaces
in class ClassType_c
Type
.Type
public java.util.Set<? extends Type> superclasses()
JL5ClassType
superclasses
in interface JL5ClassType
public Type superType()
ReferenceType
superType
in interface ReferenceType
superType
in class ClassType_c
public AnnotationTypeElemInstance annotationElemNamed(java.lang.String name)
annotationElemNamed
in interface JL5ClassType
public java.util.List<AnnotationTypeElemInstance> annotationElems()
annotationElems
in interface JL5ClassType
public Annotations annotations()
JL5ClassType
annotations
in interface JL5ClassType