public class SubstClassType_c<Formal extends Param,Actual extends TypeObject> extends ClassType_c implements SubstType<Formal,Actual>
ClassType.Kind
Modifier and Type | Field and Description |
---|---|
protected ClassType |
base
The class type we are substituting into.
|
protected java.util.List<? extends ConstructorInstance> |
constructors |
protected java.util.List<? extends FieldInstance> |
fields |
protected java.util.List<? extends ReferenceType> |
interfaces |
protected java.util.List<? extends ClassType> |
memberClasses |
protected java.util.List<? extends MethodInstance> |
methods |
protected Subst<Formal,Actual> |
subst
Map from formal parameters (of type Param) to actuals.
|
protected java.util.List<? extends ConstructorInstance> |
substConstructors |
protected java.util.List<? extends FieldInstance> |
substFields |
protected java.util.List<? extends ReferenceType> |
substInterfaces |
protected java.util.List<? extends ClassType> |
substMemberClasses |
protected java.util.List<? extends MethodInstance> |
substMethods |
decl, memberCache
position, ts
Constructor and Description |
---|
SubstClassType_c(ParamTypeSystem<Formal,Actual> ts,
Position pos,
ClassType base,
Subst<Formal,Actual> subst) |
Modifier and Type | Method and Description |
---|---|
Type |
base()
The type on which substitutions are performed.
|
java.util.List<? extends ConstructorInstance> |
constructors()
The class's constructors.
|
protected <T extends TypeObject> |
deepCopy(java.util.List<T> src) |
java.util.Iterator<java.util.Map.Entry<Formal,Actual>> |
entries()
Entries of underlying substitution map.
|
boolean |
equalsImpl(TypeObject t)
Default implementation is pointer equality.
|
java.util.List<? extends FieldInstance> |
fields()
Returns a list of fields declared in this type.
|
Flags |
flags()
Get the class's flags.
|
java.lang.String |
fullName()
Get the full name of the class, if possible.
|
int |
hashCode() |
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.
|
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.
|
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.
|
Subst<Formal,Actual> |
subst()
The substitution function.
|
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.
|
boolean |
typeEqualsImpl(Type t)
Return true if this type is equivalent to t.
|
container, copy, declaration, descendsFromImpl, fieldNamed, hasEnclosingInstance, hasEnclosingInstanceImpl, isAnonymous, isCanonical, isCastValidImpl, isClass, isEnclosed, isEnclosedImpl, isImplicitCastValidImpl, 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
equals, position, typeSystem
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
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
isCanonical, position, typeSystem
hasMethod, hasMethodImpl, methods, methodsNamed
protected transient java.util.List<? extends ReferenceType> interfaces
protected transient java.util.List<? extends FieldInstance> fields
protected transient java.util.List<? extends MethodInstance> methods
protected transient java.util.List<? extends ConstructorInstance> constructors
protected transient java.util.List<? extends ClassType> memberClasses
protected transient java.util.List<? extends ReferenceType> substInterfaces
protected transient java.util.List<? extends FieldInstance> substFields
protected transient java.util.List<? extends MethodInstance> substMethods
protected transient java.util.List<? extends ConstructorInstance> substConstructors
protected transient java.util.List<? extends ClassType> substMemberClasses
protected ClassType base
protected Subst<Formal extends Param,Actual extends TypeObject> subst
public java.util.Iterator<java.util.Map.Entry<Formal,Actual>> entries()
SubstType
public Type base()
SubstType
public Subst<Formal,Actual> subst()
SubstType
public Type superType()
ReferenceType
superType
in interface ReferenceType
superType
in class ClassType_c
public java.util.List<? extends ReferenceType> interfaces()
ReferenceType
interfaces
in interface ReferenceType
interfaces
in class ClassType_c
Type
.Type
public java.util.List<? extends FieldInstance> fields()
ReferenceType
fields
in interface ReferenceType
fields
in class ClassType_c
FieldInstance
.FieldInstance
public java.util.List<? extends MethodInstance> methods()
ReferenceType
methods
in interface ReferenceType
methods
in class ClassType_c
MethodInstance
.MethodInstance
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 ClassType outer()
ClassType
outer
in interface ClassType
outer
in class ClassType_c
protected <T extends TypeObject> java.util.List<T> deepCopy(java.util.List<T> src)
public ClassType.Kind kind()
ClassType
kind
in interface ClassType
kind
in class ClassType_c
public boolean inStaticContext()
ClassType
inStaticContext
in interface ClassType
public java.lang.String fullName()
ClassType_c
fullName
in interface Named
fullName
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.lang.String translate(Resolver c)
Type
translate
in interface Type
translate
in class ClassType_c
c
- A resolver in which to lookup this type to determine if
the type is unique in the given resolver.public boolean typeEqualsImpl(Type t)
Type
typeEqualsImpl
in interface Type
typeEqualsImpl
in class Type_c
t
- Type to compare topublic boolean equalsImpl(TypeObject t)
TypeObject_c
equalsImpl
in interface TypeObject
equalsImpl
in class TypeObject_c
TypeObject_c.equalsImpl(TypeObject)
,
Object.hashCode()
public int hashCode()
hashCode
in class TypeObject_c
public java.lang.String toString()
Type
toString
in interface Type
toString
in class ClassType_c
public Job job()
job
in class ClassType_c
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 set