|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object polyglot.ext.jl.types.TypeObject_c polyglot.ext.jl.types.ProcedureInstance_c
public abstract class ProcedureInstance_c
A ProcedureInstance_c
contains the type information for a Java
procedure (either a method or a constructor).
Field Summary | |
---|---|
protected ReferenceType |
container
|
protected java.util.List |
excTypes
|
protected Flags |
flags
|
protected java.util.List |
formalTypes
|
Fields inherited from class polyglot.ext.jl.types.TypeObject_c |
---|
position, ts |
Constructor Summary | |
---|---|
protected |
ProcedureInstance_c()
Used for deserializing types. |
|
ProcedureInstance_c(TypeSystem ts,
Position pos,
ReferenceType container,
Flags flags,
java.util.List formalTypes,
java.util.List excTypes)
|
Method Summary | |
---|---|
boolean |
callValid(java.util.List argTypes)
Returns true if a call can be made with the given argument types. |
boolean |
callValidImpl(java.util.List argTypes)
Returns true if a call can be made with the given argument types. |
ReferenceType |
container()
Return the member's containing type. |
boolean |
equalsImpl(TypeObject o)
Default implementation is pointer equality. |
Flags |
flags()
Return the member's flags. |
java.util.List |
formalTypes()
List of formal parameter types. |
boolean |
hasFormals(java.util.List formalTypes)
Returns true if the procedure has the given formal parameter types. |
boolean |
hasFormalsImpl(java.util.List formalTypes)
Returns true if the procedure has the given formal parameter types. |
int |
hashCode()
|
protected boolean |
listIsCanonical(java.util.List l)
|
boolean |
moreSpecific(ProcedureInstance p)
Return true if this is more specific than pi
in terms of method overloading. |
boolean |
moreSpecificImpl(ProcedureInstance p)
Returns whether this is more specific than
p , where more specific is defined as JLS
15.12.2.2. |
boolean |
throwsSubset(ProcedureInstance p)
Returns true iff this throws fewer exceptions than
p . |
boolean |
throwsSubsetImpl(ProcedureInstance p)
Returns true iff this throws fewer exceptions than
p . |
java.util.List |
throwTypes()
List of declared exception types thrown. |
Methods inherited from class polyglot.ext.jl.types.TypeObject_c |
---|
copy, equals, position, typeSystem |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface polyglot.types.ProcedureInstance |
---|
designator, signature |
Methods inherited from interface polyglot.types.TypeObject |
---|
isCanonical, position, typeSystem |
Methods inherited from interface polyglot.util.Copy |
---|
copy |
Field Detail |
---|
protected ReferenceType container
protected Flags flags
protected java.util.List formalTypes
protected java.util.List excTypes
Constructor Detail |
---|
protected ProcedureInstance_c()
public ProcedureInstance_c(TypeSystem ts, Position pos, ReferenceType container, Flags flags, java.util.List formalTypes, java.util.List excTypes)
Method Detail |
---|
public ReferenceType container()
MemberInstance
container
in interface MemberInstance
public Flags flags()
MemberInstance
flags
in interface MemberInstance
public java.util.List formalTypes()
ProcedureInstance
formalTypes
in interface ProcedureInstance
Type
.Type
public java.util.List throwTypes()
ProcedureInstance
throwTypes
in interface ProcedureInstance
Type
.Type
public int hashCode()
hashCode
in class TypeObject_c
public boolean equalsImpl(TypeObject o)
TypeObject_c
equalsImpl
in interface TypeObject
equalsImpl
in class TypeObject_c
TypeObject_c.equalsImpl(TypeObject)
,
Object.hashCode()
protected boolean listIsCanonical(java.util.List l)
public final boolean moreSpecific(ProcedureInstance p)
ProcedureInstance
this
is more specific than pi
in terms of method overloading.
moreSpecific
in interface ProcedureInstance
public boolean moreSpecificImpl(ProcedureInstance p)
this
is more specific than
p
, where more specific is defined as JLS
15.12.2.2.
Note: There is a fair amount of guesswork since the JLS does not include any info regarding Java 1.2, so all inner class rules are found empirically using jikes and javac.
moreSpecificImpl
in interface ProcedureInstance
public final boolean hasFormals(java.util.List formalTypes)
hasFormals
in interface ProcedureInstance
public boolean hasFormalsImpl(java.util.List formalTypes)
hasFormalsImpl
in interface ProcedureInstance
public final boolean throwsSubset(ProcedureInstance p)
this
throws fewer exceptions than
p
.
throwsSubset
in interface ProcedureInstance
public boolean throwsSubsetImpl(ProcedureInstance p)
this
throws fewer exceptions than
p
.
throwsSubsetImpl
in interface ProcedureInstance
public final boolean callValid(java.util.List argTypes)
callValid
in interface ProcedureInstance
public boolean callValidImpl(java.util.List argTypes)
callValidImpl
in interface ProcedureInstance
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |