public class DiamondType_c extends JL5ClassType_c implements DiamondType
ClassType.Kind
Modifier and Type | Field and Description |
---|---|
protected JL5ParsedClassType |
base |
protected JL5SubstClassType |
inferred |
decl, memberCache
position, ts
Constructor and Description |
---|
DiamondType_c(Position pos,
JL5ParsedClassType base) |
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.
|
JL5ParsedClassType |
base()
The JL5ParsedClassType of which this is the diamond version.
|
java.util.List<? extends ConstructorInstance> |
constructors()
The class's constructors.
|
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.
|
JL5SubstClassType |
inferred()
Return the JL5SubstClassType inferred version of the diamond class.
|
void |
inferred(JL5SubstClassType inferred)
Set the inferred JL5SubstClassType asoociated with this diamond class.
|
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.
|
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
|
Job |
job() |
ClassType.Kind |
kind()
Get the class's kind: top-level, member, local, or anonymous.
|
java.util.List<? extends ClassType> |
memberClasses()
The class's member classes.
|
java.util.List<? extends MethodInstance> |
methods()
Returns a list of methods declared in this type.
|
protected JL5ClassType |
mostSpecific() |
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 |
translate(Resolver c)
Return a string into which to translate the 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.
|
JL7TypeSystem |
typeSystem()
The object's type system.
|
enumConstantNamed, isCastValidImpl, isImplicitCastValidImpl
container, copy, declaration, descendsFromImpl, fieldNamed, fullName, hasEnclosingInstance, hasEnclosingInstanceImpl, isAnonymous, isCanonical, isClass, isEnclosed, isEnclosedImpl, isInner, isInnerClass, isLocal, isMember, isNested, isThrowable, isTopLevel, isUncheckedException, memberClassNamed, members, print, resolver, setDeclaration, toClass
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, isSubtypeImpl, isType, isVoid, numericConversionValid, numericConversionValid, numericConversionValidImpl, numericConversionValidImpl, toArray, toNull, toPackage, toPrimitive, toType, typeEquals, typeEqualsImpl
equals, equalsImpl, hashCode, position
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
enumConstantNamed
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, isCastValidImpl, isChar, isClass, isComparable, isDouble, isFloat, isImplicitCastValid, isImplicitCastValidImpl, isInt, isIntOrLess, isLong, isLongOrLess, isNull, isNumeric, isPrimitive, isReference, isShort, isSubtype, isSubtypeImpl, isThrowable, isUncheckedException, isVoid, numericConversionValid, numericConversionValid, numericConversionValidImpl, numericConversionValidImpl, print, toArray, toClass, toNull, toPrimitive, toReference, typeEquals, typeEqualsImpl
equalsImpl, isCanonical, position
container
declaration, setDeclaration
protected JL5ParsedClassType base
protected transient JL5SubstClassType inferred
public DiamondType_c(Position pos, JL5ParsedClassType base)
protected JL5ClassType mostSpecific()
public JL7TypeSystem typeSystem()
TypeObject
typeSystem
in interface TypeObject
typeSystem
in class TypeObject_c
public boolean isRawClass()
JL5ClassType
isRawClass
in interface JL5ClassType
public JL5ParsedClassType base()
DiamondType
base
in interface DiamondType
public JL5SubstClassType inferred()
DiamondType
inferred
in interface DiamondType
public void inferred(JL5SubstClassType inferred)
DiamondType
inferred
in interface DiamondType
public AnnotationTypeElemInstance annotationElemNamed(java.lang.String name)
annotationElemNamed
in interface JL5ClassType
public java.util.List<AnnotationTypeElemInstance> annotationElems()
annotationElems
in interface JL5ClassType
public java.lang.String translateAsReceiver(Resolver resolver)
JL5ClassType
translateAsReceiver
in interface JL5ClassType
public Annotations annotations()
JL5ClassType
annotations
in interface JL5ClassType
public java.util.Set<? extends Type> superclasses()
JL5ClassType
superclasses
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 java.util.List<EnumInstance> enumConstants()
enumConstants
in interface JL5ClassType
enumConstants
in class JL5ClassType_c
public Job job()
job
in class ClassType_c
public ClassType.Kind kind()
ClassType
kind
in interface ClassType
kind
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<? extends ConstructorInstance> constructors()
ClassType
ConstructorInstance
.constructors
in interface ClassType
constructors
in class ClassType_c
ConstructorInstance
public java.util.List<? extends 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 Type superType()
ReferenceType
superType
in interface ReferenceType
superType
in class ClassType_c
public java.util.LinkedList<Type> isImplicitCastValidChainImpl(Type toType)
JL5ClassType
isImplicitCastValidChainImpl
in interface JL5ClassType
isImplicitCastValidChainImpl
in class JL5ClassType_c
public java.lang.String translate(Resolver c)
Type
translate
in interface Type
translate
in class JL5ClassType_c
c
- A resolver in which to lookup this type to determine if
the type is unique in the given resolver.public java.lang.String toString()
Type
toString
in interface Type
toString
in class ClassType_c