public class MultiType extends Type
Type.isAssignableFrom(Type), as well as removing non-intersecting
types during a merge.
Note: Currently the | Constructor and Description |
|---|
MultiType(Map interfaces) |
MultiType(Map interfaces,
Type potentialClass) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object o) |
Type |
getComponent()
Always returns null since this type is never used for an array.
|
CtClass |
getCtClass()
Gets the class that corresponds with this type.
|
int |
getSize()
Always returns 1, since this type is a reference.
|
boolean |
isArray()
Always reutnrs false since this type is never used for an array
|
boolean |
isAssignableFrom(Type type)
Determines whether this type is assignable, to the passed type.
|
boolean |
isAssignableTo(Type type) |
boolean |
isReference()
Always returns true, since this type is always a reference.
|
Type |
merge(Type type)
Finds the common base type, or interface which both this and the specified
type can be assigned.
|
String |
toString() |
get, getDimensions, isSpecialpublic MultiType(Map interfaces)
public CtClass getCtClass()
getCtClass in class Typepublic Type getComponent()
getComponent in class Typepublic int getSize()
public boolean isArray()
public boolean isAssignableFrom(Type type)
TypeisAssignableFrom in class Typetype - the type to test assignability topublic boolean isAssignableTo(Type type)
public boolean isReference()
isReference in class Typepublic Type merge(Type type)
TypeMultiType,
or a MultiArrayType is returned. Multi-types have special rules,
and successive merges and assignment tests on them will alter their internal state,
as well as other multi-types they have been merged with. This method is used by
the data-flow analyzer to merge the type state from multiple branches.Copyright © 2013. All rights reserved.