mjc

org.multijava.relaxed.runtime
Class RMJSignature

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

public class RMJSignature
extends java.lang.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  java.lang.String _ambigErrorClassName
           
private  java.lang.String _baseAnchorClassName
           
private  java.lang.String _dispatcherClassName
           
private  boolean _hasInterfaceSpecializer
           
private  boolean _isAbstract
           
private  java.lang.String _kind
           
private  RMJOperation _op
           
private  java.lang.Object[] _specializers
           
private  java.lang.Object[] _specializersOrTypes
           
private  java.lang.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
 java.lang.String ambigErrorClassName()
           
 boolean appliesTo(java.lang.Object[] argSpecializers)
           
 java.lang.String baseAnchorClassName()
           
 java.lang.String bodyString()
           
 java.lang.String dispatcherClassName()
           
 boolean equals(java.lang.Object other)
           
private  void extendTuple(java.lang.Object[] earlierTuple, int pos, java.lang.Object spec, java.util.List setOfTuples)
           
private  java.util.Collection generateCrossProduct(java.lang.Object[] tupleOfSets)
           
private  java.util.Collection generateCrossProductTo(java.lang.Object[] tupleOfSets, int pos)
           
 int hashCode()
           
 boolean hasInterfaceSpecializer()
           
 java.util.Collection intersect(RMJSignature other, RMJClassLoader loader)
           
private  int intersect_one(java.lang.Object thisSpec, java.lang.Object otherSpec, RMJClassLoader loader)
           
 boolean isAbstract()
           
 boolean isBaseAnchor()
           
 boolean isConcrete()
           
 boolean isGlue()
           
 boolean isInternalGF()
           
 boolean isSubAnchor()
           
 java.lang.String kind()
           
 RMJOperation operation()
           
 java.lang.String opName()
           
private static boolean overrides(java.lang.Object[] specializers, java.lang.Object[] otherSpecializers)
           
 boolean overrides(RMJSignature other)
           
 java.lang.Object[] specializers()
           
 java.lang.Object[] specializersOrTypes()
           
 java.lang.Class[] staticTypes()
           
 java.lang.String toString()
           
static java.util.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 java.lang.Class[] _staticTypes

_specializers

private java.lang.Object[] _specializers

_specializersOrTypes

private java.lang.Object[] _specializersOrTypes

_hasInterfaceSpecializer

private boolean _hasInterfaceSpecializer

_isAbstract

private boolean _isAbstract

_kind

private java.lang.String _kind

_baseAnchorClassName

private java.lang.String _baseAnchorClassName

_dispatcherClassName

private java.lang.String _dispatcherClassName

_ambigErrorClassName

private java.lang.String _ambigErrorClassName
Constructor Detail

RMJSignature

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

unloadedClassNames

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

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

overrides

public boolean overrides(RMJSignature other)

appliesTo

public boolean appliesTo(java.lang.Object[] argSpecializers)

overrides

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

intersect

public java.util.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(java.lang.Object thisSpec,
                          java.lang.Object otherSpec,
                          RMJClassLoader loader)
                   throws RMJSignature.IncomparableSignatures,
                          RMJSignature.HasIntersection
Throws:
RMJSignature.IncomparableSignatures
RMJSignature.HasIntersection

generateCrossProduct

private java.util.Collection generateCrossProduct(java.lang.Object[] tupleOfSets)

generateCrossProductTo

private java.util.Collection generateCrossProductTo(java.lang.Object[] tupleOfSets,
                                                    int pos)

extendTuple

private void extendTuple(java.lang.Object[] earlierTuple,
                         int pos,
                         java.lang.Object spec,
                         java.util.List setOfTuples)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

bodyString

public java.lang.String bodyString()

operation

public RMJOperation operation()

opName

public java.lang.String opName()

staticTypes

public java.lang.Class[] staticTypes()

specializers

public java.lang.Object[] specializers()

specializersOrTypes

public java.lang.Object[] specializersOrTypes()

hasInterfaceSpecializer

public boolean hasInterfaceSpecializer()

isAbstract

public boolean isAbstract()

isConcrete

public boolean isConcrete()

kind

public java.lang.String kind()

isBaseAnchor

public boolean isBaseAnchor()

isSubAnchor

public boolean isSubAnchor()

isGlue

public boolean isGlue()

baseAnchorClassName

public java.lang.String baseAnchorClassName()

dispatcherClassName

public java.lang.String dispatcherClassName()

ambigErrorClassName

public java.lang.String ambigErrorClassName()

isInternalGF

public boolean isInternalGF()

mjc

mjc is Copyright (C) 2000-2004 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. mjc is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.