JML

org.multijava.relaxed.runtime
Class RMJSignature

java.lang.Object
  extended byorg.multijava.relaxed.runtime.RMJSignature

public class RMJSignature
extends Object


Nested Class Summary
static class RMJSignature.ArgumentOverrides
           
static class RMJSignature.EqualSignatures
           
private static class RMJSignature.HasIntersection
           
static class RMJSignature.IncomparableSignatures
           
static class RMJSignature.OverridesArgument
           
 
Field Summary
private  String _ambigErrorClassName
           
private  String _baseAnchorClassName
           
private  String _dispatcherClassName
           
private  boolean _hasInterfaceSpecializer
           
private  boolean _isAbstract
           
private  String _kind
           
private  RMJOperation _op
           
private  Object[] _specializers
           
private  Object[] _specializersOrTypes
           
private  Class[] _staticTypes
           
private static int AMBIGUOUS
           
private static int EQUAL
           
private static int OTHER_OVERRIDES
           
private static int THIS_OVERRIDES
           
 
Constructor Summary
RMJSignature(RMJAnnotation.Method anno, RMJClassLoader loader)
           
 
Method Summary
 String ambigErrorClassName()
           
 boolean appliesTo(Object[] argSpecializers)
           
 String baseAnchorClassName()
           
 String bodyString()
           
 String dispatcherClassName()
           
 boolean equals(Object other)
           
private  void extendTuple(Object[] earlierTuple, int pos, Object spec, List setOfTuples)
           
private  Collection generateCrossProduct(Object[] tupleOfSets)
           
private  Collection generateCrossProductTo(Object[] tupleOfSets, int pos)
           
 int hashCode()
           
 boolean hasInterfaceSpecializer()
           
 Collection intersect(RMJSignature other, RMJClassLoader loader)
           
private  int intersect_one(Object thisSpec, Object otherSpec, RMJClassLoader loader)
           
 boolean isAbstract()
           
 boolean isBaseAnchor()
           
 boolean isConcrete()
           
 boolean isGlue()
           
 boolean isInternalGF()
           
 boolean isSubAnchor()
           
 String kind()
           
 RMJOperation operation()
           
 String opName()
           
private static boolean overrides(Object[] specializers, Object[] otherSpecializers)
           
 boolean overrides(RMJSignature other)
           
 Object[] specializers()
           
 Object[] specializersOrTypes()
           
 Class[] staticTypes()
           
 String toString()
           
static Set unloadedClassNames(RMJAnnotation.Method anno, RMJClassLoader loader)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

EQUAL

private static final int EQUAL

THIS_OVERRIDES

private static final int THIS_OVERRIDES

OTHER_OVERRIDES

private static final int OTHER_OVERRIDES

AMBIGUOUS

private static final int AMBIGUOUS

_op

private RMJOperation _op

_staticTypes

private Class[] _staticTypes

_specializers

private Object[] _specializers

_specializersOrTypes

private Object[] _specializersOrTypes

_hasInterfaceSpecializer

private boolean _hasInterfaceSpecializer

_isAbstract

private boolean _isAbstract

_kind

private String _kind

_baseAnchorClassName

private String _baseAnchorClassName

_dispatcherClassName

private String _dispatcherClassName

_ambigErrorClassName

private String _ambigErrorClassName
Constructor Detail

RMJSignature

public RMJSignature(RMJAnnotation.Method anno,
                    RMJClassLoader loader)
Method Detail

unloadedClassNames

public static Set unloadedClassNames(RMJAnnotation.Method anno,
                                     RMJClassLoader loader)

equals

public boolean equals(Object other)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

overrides

public boolean overrides(RMJSignature other)

appliesTo

public boolean appliesTo(Object[] argSpecializers)

overrides

private static boolean overrides(Object[] specializers,
                                 Object[] otherSpecializers)

intersect

public Collection intersect(RMJSignature other,
                            RMJClassLoader loader)
                     throws RMJSignature.OverridesArgument,
                            RMJSignature.ArgumentOverrides,
                            RMJSignature.EqualSignatures,
                            RMJSignature.IncomparableSignatures
Throws:
RMJSignature.OverridesArgument
RMJSignature.ArgumentOverrides
RMJSignature.EqualSignatures
RMJSignature.IncomparableSignatures

intersect_one

private int intersect_one(Object thisSpec,
                          Object otherSpec,
                          RMJClassLoader loader)
                   throws RMJSignature.IncomparableSignatures,
                          RMJSignature.HasIntersection
Throws:
RMJSignature.IncomparableSignatures
RMJSignature.HasIntersection

generateCrossProduct

private Collection generateCrossProduct(Object[] tupleOfSets)

generateCrossProductTo

private Collection generateCrossProductTo(Object[] tupleOfSets,
                                          int pos)

extendTuple

private void extendTuple(Object[] earlierTuple,
                         int pos,
                         Object spec,
                         List setOfTuples)

toString

public String toString()
Overrides:
toString in class Object

bodyString

public String bodyString()

operation

public RMJOperation operation()

opName

public String opName()

staticTypes

public Class[] staticTypes()

specializers

public Object[] specializers()

specializersOrTypes

public Object[] specializersOrTypes()

hasInterfaceSpecializer

public boolean hasInterfaceSpecializer()

isAbstract

public boolean isAbstract()

isConcrete

public boolean isConcrete()

kind

public String kind()

isBaseAnchor

public boolean isBaseAnchor()

isSubAnchor

public boolean isSubAnchor()

isGlue

public boolean isGlue()

baseAnchorClassName

public String baseAnchorClassName()

dispatcherClassName

public String dispatcherClassName()

ambigErrorClassName

public String ambigErrorClassName()

isInternalGF

public boolean isInternalGF()

JML

JML is Copyright (C) 1998-2002 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This release depends on code from the MultiJava project and is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.