JML

Uses of Interface
org.multijava.mjc.CContextType

Packages that use CContextType
org.jmlspecs.checker Contains the source code for a parser and typechecker for JML annotations and java code. 
org.jmlspecs.jmldoc.jmldoc_142   
org.jmlspecs.jmlrac Generates Java classes from JML specifications that check assertions at runtime. 
org.jmlspecs.jmlspec A tool that can generate or compare specification skeletons from Java source or class files. 
org.jmlspecs.jmlunit Generates JUnit test classes from JML specifications. 
org.multijava.mjc Implements mjc, a MultiJava compiler. 
 

Uses of CContextType in org.jmlspecs.checker
 

Classes in org.jmlspecs.checker that implement CContextType
 class JmlClassContext
          This class represents the context for a class during checking passes (checkInterface, checkInitializers, typecheck).
 class JmlCompilationUnitContext
          This class represents the context for a compilation unit during checking passes (checkInterface, checkInitializers, typecheck).
 class JmlConstructorContext
          This class represents the context for a constructor during checking passes (checkInterface, checkInitializers, typecheck).
 class JmlContext
          Descendents of this class represent local contexts during checking passes (checkInterface, checkInitializers, typecheck).
 class JmlExpressionContext
          A class for representing the context in which JML expressions are typechecked.
(package private)  class JmlFieldDeclaration.JmlFieldSpecsContext
          A special flow control context class for typechecking JML data group clauses.
 class JmlFlowControlContext
          This class is used during typechecking for control flow analysis that maintains local variable definite assignment (JLS2, 16), throwable, and reachability information (JLS2, 14.20).
 class JmlInitializerContext
          This class represents the context for a static initializer during checking passes (checkInterface, checkInitializers, typecheck).
 class JmlInterfaceContext
          This class represents the context for an interface declaration during checking passes (checkInterface, checkInitializers, typecheck).
 class JmlMethodContext
          This class represents the context for a method during checking passes (checkInterface, checkInitializers, typecheck).
 

Fields in org.jmlspecs.checker declared as CContextType
private  CContextType JmlTypeDeclaration.cachedContext
           
protected  CContextType JmlContext.parent
          The parent context.
private  CContextType JmlExpressionChecker.context
          The context with which to report error if an error is found while checking visibility and purity.
 

Methods in org.jmlspecs.checker that return CContextType
 CContextType JmlContext.getParentContext()
          Returns the parent context for this context
 CContextType JmlCompilationUnitContext.getParentContext()
          getParentContext
 

Methods in org.jmlspecs.checker with parameters of type CContextType
abstract  void JmlDeclaration.typecheck(CContextType context)
          Typechecks this invariant clause in the context in which it appears.
protected  JmlExpressionContext JmlDeclaration.createContext(CContextType context)
          Create a JmlExpressionContext object as a child of the given (CClassContextType) context that can be used to typecheck this JML declaration.
protected  CFlowControlContextType JmlDeclaration.createContextHelper(CContextType context)
          Returns a flow control context object that can be used to create an expression context objec to typecheck this JML declaration.
protected  void JmlDeclaration.checkModifiers(CContextType context)
          Checks the modifiers of this JML declaration.
protected  void JmlSourceClass.accumMostSpecificMethods(String name, CClass.NoDupStrategy actor, CMethodSet accum, CClassType[] args, CContextType context)
          Accumulates the set of methods with identifier name declared in the type represented by this, or added to the type by external methods, using the strategy actor.
 CMethodSet JmlSourceClass.lookupJMLMethodName(String name, CContextType context)
          For looking up methods that are not overloaded and appear in JML clauses that list method calls.
protected  boolean Main.jmlNoBodyOK(CContextType context)
           
 boolean Main.Main$1.noBodyOK(CContextType context)
           
 CSpecializedType JmlFormalParameter.checkInterface(CContextType context)
           
private  void JmlFormalParameter.checkNullityAdjustType(CContextType context)
          Ensures that at most one nullity modifier is used and that it is applied to a reference type.
 void JmlInvariant.typecheck(CContextType context)
          Typechecks this invariant clause in the context in which it appears.
 void JmlConstraint.typecheck(CContextType context)
          Typechecks this invariant clause in the context in which it appears.
protected  JmlExpressionContext JmlConstraint.createContext(CContextType context)
          Create a JmlExpressionContext object as a child of the given (CClassContextType) context that can be used to typecheck this JML declaration.
 void JmlRepresentsDecl.typecheck(CContextType context)
          Typechecks this depends/represents clause in the context in which it appears.
 void JmlAxiom.typecheck(CContextType context)
          Typechecks this invariant clause in the context in which it appears.
protected  JmlExpressionContext JmlAxiom.createContext(CContextType context)
          Create a JmlExpressionContext object as a child of the given (CClassContextType) context, which is suitable for checking this axiom clause.
abstract  void JmlVarAssertion.typecheck(CContextType context)
          Typecheck this variable assertion and mutates the context to store the information obtained during the checking.
 CMember JConstructorDeclarationWrapper.checkInterface(CContextType context)
           
protected  CSourceMethod JConstructorDeclarationWrapper.makeMethodSignature(CContextType context, MemberAccess access, String ident, CSpecializedType[] parameterTypes)
          Generates the signature object for this method declaration.
protected  MemberAccess JConstructorDeclarationWrapper.makeMemberAccess(CContextType context, CClass owner)
           
 void JInterfaceDeclarationWrapper.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 void JInterfaceDeclarationWrapper.checkInitializers(CContextType context)
          Checks the static initializers created during the checkInterface pass and performs some other checks that can be performed simply before full blown typechecking.
protected  CSourceMethod JMethodDeclarationWrapper.makeMethodSignature(CContextType context, MemberAccess access, String ident, CSpecializedType[] parameterTypes)
          Generates the signature object for this method declaration.
protected  MemberAccess JMethodDeclarationWrapper.makeMemberAccess(CContextType context, CClass owner)
           
protected  boolean JMethodDeclarationWrapper.noBodyOK(CContextType context, CMethod self)
           
 void JMethodDeclarationWrapper.checkOverriding(CContextType context, CMethodSet superMethods)
          Checks that this method appropriately overrides the given superclass methods.
 void JMethodDeclarationWrapper.typecheck(CContextType context)
           
private  void JmlHeavyweightSpec.warnAssignable(boolean condition, CContextType context)
          Produce a caution message about missing assignable clause.
 void JmlMemberDeclaration.checkRefinedModifiers(CContextType context, JmlMemberDeclaration member)
          Makes the general modifier consistency checks between refined declarations that are required of all refining members.
 void JmlTypeDeclaration.preprocessDependencies(CContextType context)
          Performs preliminary processing on compilation units and types.
 void JmlTypeDeclaration.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 void JmlTypeDeclaration.checkInitializers(CContextType context)
          Checks the static initializers created during the checkInterface pass and performs some other checks that can be performed simply before full blown typechecking.
abstract  void JmlTypeDeclaration.resolveSpecializers(CContextType context)
          Computes the values of specializer expressions used to dispatch on compile-time constants.
 void JmlTypeDeclaration.typecheck(CContextType context)
          Typechecks this type declaration in the context in which it appears.
 void JmlTypeDeclaration.translateMJ(CContextType context)
          Refactors this to include dispatchers for multimethods and other code necessary for running MultiJava code on a standard JVM.
 void JmlTypeDeclaration.cachePassParameters(CContextType context)
          Caches the arguments for the compiler passes.
 CClassContextType JmlClassDeclaration.createContext(CContextType parent)
          Creates a class context for this class declaration.
 void JmlClassDeclaration.resolveSpecializers(CContextType context)
          Computes the values of specializer expressions used to dispatch on compile-time constants.
 CMember JmlMethodDeclaration.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 CSourceMethod JmlMethodDeclaration.checkInterfaceType(CContextType context, MemberAccess access, String ident)
          Performs the interface checks that are common to all sorts of methods.
 void JmlMethodDeclaration.resolveExtMethods(CContextType context)
           
 void JmlMethodDeclaration.resolveSpecializers(CContextType context)
          Computes the values of specializer expressions used to dispatch on compile-time constants.
 void JmlMethodDeclaration.typecheck(CContextType context)
          Typechecks this method declaration.
private  void JmlMethodDeclaration.checkNullityAdjustType(CContextType context)
          Ensures that at most one nullity modifier is used and that it is applied to a reference type.
private  void JmlMethodDeclaration.checkNullityForOverriddenMethods(CContextType context, JmlSourceMethod self)
           
private  void JmlMethodDeclaration.checkParamNullity(CContextType context, JmlSourceMethod self, JmlSourceMethod overriddenMeth)
          Ensure that nullity modifiers of the parameter(s) of self exactly match with the corresponding parameter(s) of overriddenMeth, a method that it overrides.
private  void JmlMethodDeclaration.checkResultNullity(CContextType context, JmlSourceMethod self, JmlSourceMethod overriddenMeth)
          Ensure that nullity modifiers of the (return type of) self are consistent with overriddenMeth, a method that it overrides.
private  void JmlMethodDeclaration.checkMathModes(CContextType context)
           
 void JmlMethodDeclaration.jmlchecks(CContextType context, JmlSourceMethod self)
           
 void JmlMethodDeclaration.checkOverriding(CContextType context, CMethodSet superMethods)
          Checks that this method appropriately overrides the given superclass methods.
 void JmlMethodDeclaration.checkRefinementConsistency(CContextType context)
           
private  void JmlFieldDeclaration.checkNullityAdjustType(CContextType context)
          Ensures that at most one nullity modifier is used and that it is applied to a reference type.
private  void JmlFieldDeclaration.checkAdmissibility(CContextType context)
          Admissibility check: if ownership admissibility checks are enabled, one must check that if a non-model field is not declared private, then its type is not declared as rep, i.e. a non-model rep field must be private.
private  void JmlFieldDeclaration.getValueOfStaticFieldFromClass(CContextType context)
          Get the value of a static (final) field from its class (since this value cannot be obtained from the class spec).
private  void JmlFieldDeclaration.accumulateNonNullStats(CContextType context)
           
 void JmlFieldDeclaration.checkRefinementConsistency(CContextType context)
           
 void JmlInitiallyVarAssertion.typecheck(CContextType context)
          Typecheck this variable assertion and mutates the context to store the information obtained during the checking.
 CClassContextType JmlInterfaceDeclaration.createContext(CContextType parent)
          Creates an interface context for this interface declaration.
 void JmlInterfaceDeclaration.resolveSpecializers(CContextType context)
          Computes the values of specializer expressions used to dispatch on compile-time constants.
 void JmlMonitorsForVarAssertion.typecheck(CContextType context)
          Typecheck this variable assertion and mutates the context to store the information obtained during the checking.
 boolean JmlPredicate.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 Object[] JmlPredicate.getFANonNulls(CContextType context)
          Returns a list of expressions known to be non-null (null) in this context
 Object[] JmlPredicate.getFANulls(CContextType context)
           
 void JmlReadableIfVarAssertion.typecheck(CContextType context)
          Typecheck this variable assertion and mutates the context to store the information obtained during the checking.
 void JmlWritableIfVarAssertion.typecheck(CContextType context)
          Typecheck this variable assertion and mutates the context to store the information obtained during the checking.
 boolean JmlSpecExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 Object[] JmlSpecExpression.getFANonNulls(CContextType context)
          Returns a list of expressions known to be non-null (null) in this context
 Object[] JmlSpecExpression.getFANulls(CContextType context)
           
private  void JmlVariableDefinition.checkNullityAdjustType(CContextType context)
          Ensures that at most one nullity modifier is used and that it is applied to a reference type.
 void JmlContext.mergeNullityInfo(CContextType other)
          Merge the list of guarded nulls in this context with that of the given context.
 void JmlContext.adoptNullityInfo(CContextType other)
           
private  void JmlExpressionContext.constructorHelper(CContextType parent)
           
 boolean JmlArrayDimsAndInits.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 void JmlMemberAccess.checkAccessModifiers(CContextType context, JMemberDeclaration member)
          Check illegal combinations of modifiers common to classes, interfaces, fields, and methods.
 void JmlMemberAccess.checkClassModifiers(CContextType context, JTypeDeclaration member)
          Check for illegal combinations of modifiers specific to classes and interfaces.
 void JmlMemberAccess.checkFieldModifiers(CContextType context, JFieldDeclaration member)
          Check for illegal combinations of modifiers specific to field declarations.
 long JmlMemberAccess.checkInterfaceFieldModifiers(CContextType context, JFieldDeclaration member)
          Check for illegal combinations of modifiers disallowed in interface field declarations.
 void JmlMemberAccess.checkMethodModifiers(CContextType context, JMethodDeclaration member)
          Check for illegal combinations of modifiers specific to method declarations.
 long JmlMemberAccess.checkInterfaceMethodModifiers(CContextType context, JMethodDeclaration member)
          Check for illegal combinations of modifiers disallowed in interface method declarations.
 boolean JmlCastExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
static void JmlExpressionChecker.perform(CContextType ctx, long privacy, JExpression expr, boolean checkPurity)
          Checks visibility (and purity) of the given expression, expr, in the specification context of visibility, privacy.
static void JmlExpressionChecker.perform(CContextType ctx, long privacy, JExpression expr)
          Checks visibility (and purity) of the given expression, expr, in the specification context of visibility, privacy.
static void JmlExpressionChecker.perform(CContextType ctx, JExpression expr)
          Checks purity of the given expression, expr.
static void JmlExpressionChecker.performSideEffectOk(CContextType ctx, JExpression expr)
          Checks the given expression allowing side effects.
 void JmlFlowControlContext.mergeNullityInfo(CContextType other)
          Merge the list of guarded nulls in this context with that of the given context.
 void JmlFlowControlContext.adoptNullityInfo(CContextType other)
           
 

Constructors in org.jmlspecs.checker with parameters of type CContextType
JmlContext(CContextType parent)
          Construct a block context, it supports local variable allocation throw statement and return statement
JmlSourceMethod(MemberAccess access, String ident, CType returnType, CSpecializedType[] paramTypes, CClassType[] exceptions, CTypeVariable[] typevariables, boolean deprecated, JBlock body, CContextType declarationContext, JMethodDeclaration declarationASTNode)
           
JmlClassContext(CContextType parent, CClass self)
           
JmlClassContext(CContextType parent)
          Constructs a class context.
JmlMethodContext(CContextType parent, CMethod self)
          Create a context in which to check a method.
JmlMethodContext(CContextType parent)
           
JmlConstructorContext(CContextType parent, CMethod self)
          CConstructorContext Clients should not call this but should instead call CClassContextType.createConstructorContext.
JmlExpressionChecker(CContextType ctx, long privacy)
          Constructs a new instance.
JmlExpressionChecker(CContextType ctx, long privacy, boolean checkPurity)
          Constructs a new instance.
JmlExpressionChecker(CContextType ctx, long privacy, boolean checkPurity, boolean sideEffectOk)
           
JmlInitializerContext(CContextType parent, CMethod self)
          Instantiates a context for checking initializer declarations.
JmlInterfaceContext(CContextType parent, CClass clazz)
          Instantiates a context for checking interface declarations.
JmlSigBinaryMethod(CClass owner, org.jmlspecs.util.classfile.JmlMethodInfo methodInfo, CContextType declarationContext)
          Creates a new instance by using the given method info methodInfo.
 

Uses of CContextType in org.jmlspecs.jmldoc.jmldoc_142
 

Methods in org.jmlspecs.jmldoc.jmldoc_142 with parameters of type CContextType
 boolean Main.Main$1.noBodyOK(CContextType context)
           
 boolean Main.Main$2.noBodyOK(CContextType context)
           
 

Uses of CContextType in org.jmlspecs.jmlrac
 

Methods in org.jmlspecs.jmlrac with parameters of type CContextType
 boolean Main.Main$1.noBodyOK(CContextType context)
           
 

Uses of CContextType in org.jmlspecs.jmlspec
 

Methods in org.jmlspecs.jmlspec with parameters of type CContextType
 boolean Main.Main$1.noBodyOK(CContextType context)
           
 boolean Main.Main$2.noBodyOK(CContextType context)
           
 

Uses of CContextType in org.jmlspecs.jmlunit
 

Methods in org.jmlspecs.jmlunit with parameters of type CContextType
 boolean Main.Main$1.noBodyOK(CContextType context)
           
 boolean Main.Main$2.noBodyOK(CContextType context)
           
 

Uses of CContextType in org.multijava.mjc
 

Subinterfaces of CContextType in org.multijava.mjc
 interface CClassContextType
          This class represents the context for a class during checking passes (checkInterface, checkInitializers, typecheck).
 interface CCompilationUnitContextType
          This class represents the context for a compilation unit during checking passes (checkInterface, checkInitializers, typecheck).
 interface CConstructorContextType
          This class represents the context for a constructor during checking passes (checkInterface, checkInitializers, typecheck).
 interface CExpressionContextType
          This class represents the context for an expression during checking passes (checkInterface, checkInitializers, typecheck).
 interface CFlowControlContextType
          This class is used during typechecking for control flow analysis that maintains local variable definite assignment (JLS2, 16), throwable, and reachability information (JLS2, 14.20).
 interface CInitializerContextType
          This class represents the context for a static initializer during checking passes (checkInterface, checkInitializers, typecheck).
 interface CInterfaceContextType
          This class represents the context for an interface declaration during checking passes (checkInterface, checkInitializers, typecheck).
 interface CMethodContextType
          This class represents the context for a method during checking passes (checkInterface, checkInitializers, typecheck).
 

Classes in org.multijava.mjc that implement CContextType
 class CBinaryClassContext
          This represents the context of a binary (i.e., read from .class file) class declaration.
 class CClassContext
          This class represents the context for a class during checking passes (checkInterface, checkInitializers, typecheck).
 class CCompilationUnitContext
          This class represents the context for a compilation unit during checking passes (checkInterface, checkInitializers, typecheck).
 class CConstructorContext
          This class represents the context for a constructor during checking passes (checkInterface, checkInitializers, typecheck).
 class CContext
          Descendents of this class represent local contexts during checking passes (checkInterface, checkInitializers, typecheck).
 class CExpressionContext
          This class represents the context for an expression during checking passes (checkInterface, checkInitializers, typecheck).
 class CExtendedClassContext
          This class represents the context for a class during checking passes (checkInterface, checkInitializers, typecheck).
 class CExtendedCompilationUnitContext
          This class represents the context for a class during checking passes (checkInterface, checkInitializers, typecheck).
 class CExtMethodContext
          This represents the context in which an external method declaration is typechecked.
 class CFinallyContext
          This class implements the special definite assignment and reachability calculations for combining try and finally blocks in a try-finally statement.
 class CFlowControlContext
          This class is used during typechecking for control flow analysis that maintains local variable definite assignment (JLS2, 16), throwable, and reachability information (JLS2, 14.20).
 class CInitializerContext
          This class represents the context for a static initializer during checking passes (checkInterface, checkInitializers, typecheck).
 class CInterfaceContext
          This class represents the context for an interface declaration during checking passes (checkInterface, checkInitializers, typecheck).
 class CLabeledContext
          This class represents a labeled context during checking passes (checkInterface, checkInitializers, typecheck).
 class CLoopContext
          This class represents the context for a loop statement during checking passes (checkInterface, checkInitializers, typecheck).
 class CMethodContext
          This class represents the context for a method during checking passes (checkInterface, checkInitializers, typecheck).
 class CSwitchBodyContext
          This class represents the context for the body of a switch statement during checking passes (checkInterface, checkInitializers, typecheck).
 class CSwitchGroupContext
          This class represents the context for a switch group during checking passes.
 class CTryContext
          This class represents the context for a try statement during checking passes (checkInterface, checkInitializers, typecheck).
 

Fields in org.multijava.mjc declared as CContextType
protected  CContextType CMethod.declarationContext
          The context in which this method was declared.
protected  CContextType CContext.parent
           
protected  CContextType JTypeDeclaration.cachedContext
           
 

Methods in org.multijava.mjc that return CContextType
abstract  CContextType CContextType.getParentContext()
          Returns the parent context for this context
 CContextType CMethod.declarationContext()
          Returns the declaration context.
 CContextType CContext.getParentContext()
          Returns the parent context for this context
abstract  CContextType CCompilationUnitContextType.getParentContext()
          getParentContext
 CContextType CCompilationUnitContext.getParentContext()
          getParentContext
 

Methods in org.multijava.mjc with parameters of type CContextType
abstract  void CGenericFunctionCollection.applyAugmentationFor(CContextType context)
          For the given context, augments the appropriate classes based on the methods in this collection.
 void CGenericFunctionCollection.CGenericFunctionCollection$1.applyAugmentationFor(CContextType context)
           
abstract  void CContextType.mergeNullityInfo(CContextType other)
          Merge the list of nulls in this context with that of the given context.
abstract  void CContextType.adoptNullityInfo(CContextType other)
           
 boolean CMethod.isLocalTo(CContextType context)
          Indicates whether this method is declared local to the given context.
protected  CMethodSet CMethod.setOverriddenMethodSet(CClassType[] args, ArrayList needbridge, CContextType context)
          Calculates and returns the set of methods overridden by this method.
abstract  void JTypeDeclarationType.preprocessDependencies(CContextType context)
          Performs preliminary processing on compilation units and types.
abstract  void JTypeDeclarationType.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
abstract  void JTypeDeclarationType.checkInitializers(CContextType context)
          Checks the static initializers created during the checkInterface pass and performs some other checks that can be performed simply before full blown typechecking.
abstract  void JTypeDeclarationType.resolveSpecializers(CContextType context)
          Computes the values of specializer expressions used to dispatch on compile-time constants.
abstract  CClassContextType JTypeDeclarationType.createContext(CContextType parent)
          Creates a lexical context for typechecking and control flow analysis on this.
abstract  void JTypeDeclarationType.typecheck(CContextType context)
          Typechecks this type declaration in the context in which it appears.
abstract  void JTypeDeclarationType.translateMJ(CContextType context)
          Refactors this to include dispatchers for multimethods and other code necessary for running MultiJava code on a standard JVM.
abstract  void JTypeDeclarationType.cachePassParameters(CContextType context)
          Caches the arguments for the compiler passes.
protected  void JPhylum.fail(CContextType context, MessageDescription description, Object[] params)
          Adds a compiler error.
protected  void JPhylum.fail(CContextType context, MessageDescription description)
          Adds a compiler error.
protected  void JPhylum.fail(CContextType context, MessageDescription description, Object param)
          Adds a compiler error.
 void JPhylum.check(CContextType context, boolean cond, MessageDescription description, Object[] params)
          Verifies that the condition is true; otherwise adds an error.
 void JPhylum.check(CContextType context, boolean cond, MessageDescription description, Object param1, Object param2)
          Verifies that the condition is true; otherwise adds an error.
 void JPhylum.check(CContextType context, boolean cond, MessageDescription description, Object param)
          Verifies that the condition is true; otherwise adds an error.
 void JPhylum.check(CContextType context, boolean cond, MessageDescription description)
          Verifies that the condition is true; otherwise adds an error.
 void JPhylum.warn(CContextType context, MessageDescription description, Object[] params)
          Gives a warning message.
 void JPhylum.warn(CContextType context, MessageDescription description)
          Gives a warning message.
 void JPhylum.warn(CContextType context, MessageDescription description, Object param)
          Gives a warning message.
 void JPhylum.warn(CContextType context, MessageDescription description, Object param1, Object param2)
          Gives a warning message.
 CClass CClass.lookupClass(String name, CContextType context)
          Searches for a class with the given simple name according the procedure in JLS2 6.5.5.
 void CClass.checkTypeVariables(CContextType context)
          Performs the typechecking for the type variables of this class.
 CMethod CClass.lookupMethod(String name, CType[] params, CClassType[] args, CContextType context)
          Searches for the generic function applicable to the given identifier and argument type tuple, in the given context, looking in parent hierarchy and augmentation map as needed.
 CMethodSet CClass.lookupMethodOrSet(String name, CType[] params, CClassType[] argss, CContextType context)
          Searches for the generic function applicable to the given identifier and argument type tuple, in the given context, looking in parent hierarchy and augmentation map as needed.
 CMethodSet CClass.lookupMethodsSpecializedByMethod(CMethod specMethod, CClassType[] args, ArrayList needbridge, CContextType context)
          Searches for the methods specialized by a given method, in the given context, looking in parent hierarchy and augmentation map as needed.
 CMethod CClass.lookupTopConcreteMethod(CMethod method, CClassType[] args, CContextType context)
          Searches for the top concrete method of the generic function to which the given method belongs, in the given context, looking in the parent hierarchy and augmentation map as needed.
 CMethodSet CClass.lookupMSAMethod(CMethod top, CType[] argTuple, CClassType[] argss, CContextType context)
          Searches for the most specific applicable method for the given argument tuple in the generic function to which the given method belongs in the given context, looking in parent hierarchy and augmentation map as needed.
 CMethodSet CClass.lookupAllMethods(CMethod m, CClassType[] args, CContextType context)
          Collects all the methods in the same GF as the argument method, visible in the given context, looking in parent hierarchy and augmentation map as needed.
 CMethod CClass.lookupOverloadedMethod(CMethod overloader, CClassType[] args, CContextType context)
          If overloader could be rewritten to dynamically specialize a method instead of statically overloading it, then this return said method.
protected  void CClass.accumMostSpecificMethods(String name, CClass.NoDupStrategy actor, CMethodSet accum, CClassType[] args, CContextType context)
          Accumulates the set of methods with identifier name declared in the type represented by this, or added to the type by external methods, using the strategy actor.
protected  void CClass.accumLocalExtAndInheritedMethods(String name, CClass.NoDupStrategy actor, CMethodSet accum, CClassType[] args, CContextType context)
          Accumulates the set of methods with identifier name declared in the type represented by this, or added to the type by external methods, using the strategy actor.
 void CClass.addBridgeMethod(CMethod me, CContextType context)
           
 void CClass.checkBridgeMethod(CMethod me, CClassType[] args, CContextType context)
           
protected  boolean CClass.memberNeedsPrivilegedAccess(CMember m, CContextType context)
          Indicates whether the given member needs a wrapper method
 CMethodSet CSourceClass.lookupMethodOrSet(String name, CType[] params, CClassType[] args, CContextType context)
           
 CClass CSourceClass.lookupClass(String name, CContextType context)
           
 CType CType.getErasure(CContextType context)
           
 CType CType.getCapture(CContextType context)
          Returns the result of applying capture conversion (JLS3 5.1.10) to this type.
 boolean CType.isLocalTo(CContextType context)
          Indicates whether this type is declared local to the given context.
abstract  CType CType.checkType(CContextType context)
          Checks that this type is valid, throwing an exception if it is not.
 boolean CClassType.isLocalTo(CContextType context)
          Indicates whether this type is declared local to the given context.
 CType CClassType.checkType(CContextType context)
          Checks that this type is valid, throwing an exception if it is not.
 boolean Main.ContextBehavior.noBodyOK(CContextType c)
           
 boolean JLocalVariable.isNonNull(CContextType context)
           
 void JLocalVariable.setAssigned(TokenReference ref, CContextType context)
          Records that this variable is assigned to and reports a warning if the assignment is to a for-loop variable in a location other than the increment of the loop.
 CSpecializedType JFormalParameter.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 boolean JExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 Object[] JExpression.getFANonNulls(CContextType context)
          Returns a list of expressions known to be non-null if this evaluates to true.
 Object[] JExpression.getFANulls(CContextType context)
          Returns a list of expressions known to be null if this evaluates to false.
protected  void JExpression.fail(CContextType context, MessageDescription key, Object[] params)
          Adds a compiler error.
 boolean JMethodCallExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 void CBinaryMethod.checkTypes(CContextType context)
           
 CMember JMethodDeclaration.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 CSourceMethod JMethodDeclaration.checkInterfaceType(CContextType context, MemberAccess access, String ident)
          Performs the interface checks that are common to all sorts of methods.
 CExtendedClassContext JMethodDeclaration.createExtendedClassContext(CContextType parent, CTypeVariable[] typevariables)
          Create a Extended Class context that include the typevariables
protected  CSourceMethod JMethodDeclaration.makeMethodSignature(CContextType context, MemberAccess access, String ident, CSpecializedType[] parameterTypes)
          Generates the signature object for this method declaration.
protected  MemberAccess JMethodDeclaration.makeMemberAccess(CContextType context, CClass owner)
           
 void JMethodDeclaration.resolveSpecializers(CContextType context)
          Computes the values of specializer expressions used to dispatch on compile-time constants.
 void JMethodDeclaration.resolveExtMethods(CContextType context)
          Makes sure that all in-scope external generic functions are added to the appropriate augmentation maps before top method searches occur in later passes.
private  void JMethodDeclaration.changeParametersToReadonly(CContextType context, CType[] params)
           
private  void JMethodDeclaration.checkUniverses(CContextType context)
           
private  void JMethodDeclaration.checkUniverseOverriding(CContextType context, CType[] thisparams, CMethod superMethod)
           
protected  boolean JMethodDeclaration.noBodyOK(CContextType context, CMethod self)
           
 void JMethodDeclaration.typecheck(CContextType context)
          Typechecks this method declaration.
 void JMethodDeclaration.addBridge(CContextType context, CMethod method)
           
 void JMethodDeclaration.checkOverriding(CContextType context, CMethodSet superMethods)
          Checks that this method appropriately overrides the given superclass methods.
abstract  CMember JMethodDeclarationType.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
abstract  CSourceMethod JMethodDeclarationType.checkInterfaceType(CContextType context, MemberAccess access, String ident)
          Performs the interface checks that are common to all sorts of methods.
abstract  void JMethodDeclarationType.resolveSpecializers(CContextType context)
          Computes the values of specializer expressions used to dispatch on compile-time constants.
abstract  void JMethodDeclarationType.resolveExtMethods(CContextType context)
          Makes sure that all in-scope external generic functions are added to the appropriate augmentation maps before top method searches occur in later passes.
abstract  void JMethodDeclarationType.typecheck(CContextType context)
          Typechecks this method declaration.
abstract  void JMethodDeclarationType.checkOverriding(CContextType context, CMethodSet superMethods)
          Checks that this method appropriately overrides the given superclass methods.
 void CContext.mergeNullityInfo(CContextType other)
          Merge the list of nulls in this context with that of the given context.
 void CContext.adoptNullityInfo(CContextType other)
           
private  JExpression JThisExpression.makeThisVariableReference(CContextType context)
          Generates a synthetic variable reference to a local variable that will resolve to "this" at run time.
 boolean JLocalVariableExpression.isDefinitelyAssigned(CContextType context)
          Returns true if this field is already initialized.
private  boolean JLocalVariableExpression.isDefinitelyUnassigned(CContextType context)
           
 void JLocalVariableExpression.initialize(CContextType context)
          Records that this variable is initialized in the given context.
 boolean JLocalVariableExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
abstract  void CInitializable.initialize(CContextType ctxt)
          Initialize this object
abstract  boolean CInitializable.isDefinitelyAssigned(CContextType context)
           
abstract  void JTypeDeclaration.preprocessDependencies(CContextType context)
          Performs preliminary processing on compilation units and types.
 void JTypeDeclaration.preprocessDependencies(CContextType context, CClassType superClassType)
          Performs preliminary processing on compilation units and types.
 void JTypeDeclaration.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 void JTypeDeclaration.resolveExtMethods(CContextType context)
          Makes sure that all in-scope external generic functions are added to the appropriate augmentation maps before top method searches occur in later passes.
 void JTypeDeclaration.checkInitializers(CContextType context)
          Checks the static initializers created during the checkInterface pass and performs some other checks that can be performed simply before full blown typechecking.
abstract  void JTypeDeclaration.resolveSpecializers(CContextType context)
          Computes the values of specializer expressions used to dispatch on compile-time constants.
abstract  CClassContextType JTypeDeclaration.createContext(CContextType parent)
          Creates a lexical context for typechecking and control flow analysis on this.
 void JTypeDeclaration.typecheck(CContextType context)
          Typechecks this type declaration in the context in which it appears.
 void JTypeDeclaration.translateMJ(CContextType context)
          Refactors this to include dispatchers for multimethods and other code necessary for running MultiJava code on a standard JVM.
protected  JTypeDeclaration.WrapResult JTypeDeclaration.dispatcherWrapMethods(CContextType context, JMethodDeclarationType[] methodDecls)
          Builds a collection of methods for code generation.
 void JTypeDeclaration.cachePassParameters(CContextType context)
          Caches the arguments for the compiler passes.
protected  void JTypeDeclaration.annotateInternalInterfaceMethods(CContextType context)
           
private  void JTypeDeclaration.annotateInternalInterfaceMethodsFor(CMethod topConcreteMethod, CContextType context)
           
 CType CClassNameType.checkType(CContextType context)
          Checks that this type is valid, throwing an exception if it is not.
protected  void CClassNameType.checkInstantiation(CContextType context)
          Checks the instantiation of a generic type by performing the following checks on this type's CClass and all its owners: Type check the type variables of the class.
private  void CClassNameType.checkPossibleRawType(CContextType context)
          Performs the necessary type checking for a raw type.
private static void CClassNameType.checkTypeArguments(CTypeVariable[] typeVariables, CClassType[] typeArguments, CContextType context)
          Performs the type checking on all the typeArguments (the type checked versions are re-stored into the same array) and checks whether the typeArguments are valid for the given typeVariables.
protected  void CClassNameType.registerAsVisibleIn(CContextType context)
          Registers the type represented by this as being visible in the given context.
 CType CClassNameType.getCapture(CContextType context)
           
 CType CClassFQNameType.checkType(CContextType context)
          Checks that this type is valid, throwing an exception if it is not.
 void JClassDeclaration.preprocessDependencies(CContextType context)
          Performs preliminary processing on compilation units and types.
 void JClassDeclaration.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 void JClassDeclaration.checkInitializers(CContextType context)
          Checks the static initializers created during the checkInterface pass and performs some other checks that can be performed simply before full blown typechecking.
 void JClassDeclaration.resolveSpecializers(CContextType context)
          Computes the values of specializer expressions used to dispatch on compile-time constants.
 void JClassDeclaration.typecheck(CContextType context)
          Typechecks this type declaration in the context in which it appears.
 CClassContextType JClassDeclaration.createContext(CContextType parent)
          Creates a class context for this class declaration.
abstract  CClassContextType JClassDeclarationType.createContext(CContextType parent)
          Creates a class context for this class declaration.
 CType CTypeVariable.checkType(CContextType context)
           
protected  void JStatement.fail(CContextType context, MessageDescription key, Object[] params)
          Adds a compiler error.
 CMember JConstructorDeclaration.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 void JConstructorDeclaration.resolveExtMethods(CContextType context)
          Makes sure that all in-scope external generic functions are added to the appropriate augmentation maps before top method searches occur in later passes.
 void JConstructorDeclaration.typecheck(CContextType context)
          Typechecks this method declaration.
 void MemberAccess.checkAccessModifiers(CContextType context, JMemberDeclaration member)
          Check illegal combinations of modifiers common to classes, interfaces, fields, and methods.
 void MemberAccess.checkClassModifiers(CContextType context, JTypeDeclaration member)
          Check for illegal combinations of modifiers disallowed in classes and interfaces.
 void MemberAccess.checkFieldModifiers(CContextType context, JFieldDeclaration member)
          Check for illegal combinations of modifiers disallowed in field declarations.
 long MemberAccess.checkInterfaceFieldModifiers(CContextType context, JFieldDeclaration member)
          Check for illegal combinations of modifiers disallowed in interface field declarations.
 void MemberAccess.checkMethodModifiers(CContextType context, JMethodDeclaration member)
          Check for illegal combinations of modifiers disallowed in method declarations.
 void MemberAccess.checkExternalMethodModifiers(CContextType context, JMethodDeclaration member)
          Check for illegal combinations of modifiers disallowed in external method declarations.
 long MemberAccess.checkInterfaceMethodModifiers(CContextType context, JMethodDeclaration member)
          Check for illegal combinations of modifiers disallowed in interface method declarations.
 boolean JFieldDeclaration.isNonNull(CContextType context)
           
 void JInterfaceDeclaration.preprocessDependencies(CContextType context)
          Performs preliminary processing on compilation units and types.
 void JInterfaceDeclaration.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 void JInterfaceDeclaration.checkInitializers(CContextType context)
          Checks the static initializers created during the checkInterface pass and performs some other checks that can be performed simply before full blown typechecking.
 void JInterfaceDeclaration.resolveSpecializers(CContextType context)
          Computes the values of specializer expressions used to dispatch on compile-time constants.
 void JInterfaceDeclaration.typecheck(CContextType context)
          Typechecks this type declaration in the context in which it appears.
 CClassContextType JInterfaceDeclaration.createContext(CContextType parent)
          Creates an interface context for this interface declaration.
abstract  CClassContextType JInterfaceDeclarationType.createContext(CContextType parent)
          Creates an interface context for this interface declaration.
 void MJGenericFunctionDecl.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 void MJGenericFunctionDecl.resolveSpecializers(CContextType context)
          Computes the values of specializer expressions used to dispatch on compile-time constants.
 void MJGenericFunctionDecl.resolveExtMethods(CContextType context)
          Makes sure that all in-scope external generic functions are added to the appropriate augmentation maps before top method searches occur in later passes.
 void MJGenericFunctionDecl.typecheck(CContextType context)
          Typechecks this generic function declaration in the context in which it appears.
 CMember MJTopLevelMethodDeclaration.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 CExtendedCompilationUnitContext MJTopLevelMethodDeclaration.createExtendedCompilationUnitContext(CContextType parent, CTypeVariable[] typevariables)
           
abstract  CMember MJTopLevelDeclaration.checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 void JReturnStatement.checkNullity(CContextType context)
           
 Object[] JParenthesedExpression.getFANonNulls(CContextType context)
          Returns a list of expressions known to be non-null (null) in this context
 Object[] JParenthesedExpression.getFANulls(CContextType context)
           
 void JParenthesedExpression.initialize(CContextType context)
          Delegates to expr.
 boolean JParenthesedExpression.isDefinitelyAssigned(CContextType context)
          Delegates to expr.
 boolean JParenthesedExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 boolean JNewArrayExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 boolean JNameExpression.isNonNull(CContextType context)
           
 Object[] JConditionalAndExpression.getFANonNulls(CContextType context)
          Returns a list of expressions known to be non-null (null) in this context
 Object[] JConditionalOrExpression.getFANulls(CContextType context)
          Returns a list of expressions known to be null in this context
 Object[] JInstanceofExpression.getFANonNulls(CContextType context)
          Returns a list of expressions known to be non-null (null) in this context
 Object[] JEqualityExpression.getFANonNulls(CContextType context)
          Returns a list of expressions known to be non-null in this context Any expression can be returned, but adding them to the contexts will filter it out
 Object[] JEqualityExpression.getFANulls(CContextType context)
          Returns a list of expressions known to be null in this context
 boolean JConditionalExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 boolean JAssignmentExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 boolean JClassFieldExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 boolean JClassFieldExpression.isDefinitelyAssigned(CContextType context)
          Returns true if this field is already initialized
 void JClassFieldExpression.initialize(CContextType context)
          Records that this field is initialized in the given context.
 boolean JCastExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 boolean JUnaryPromote.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 Object[] JBitwiseExpression.getFANonNulls(CContextType context)
          Returns a list of expressions known to be non-null (null) in this context
 Object[] JBitwiseExpression.getFANulls(CContextType context)
           
 boolean JArrayAccessExpression.isDefinitelyAssigned(CContextType context)
           
 void JArrayAccessExpression.initialize(CContextType ctxt)
          Initialize this object
 boolean JArrayAccessExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
protected  void JSwitchLabel.fail(CContextType context, MessageDescription key, Object[] params)
          Adds a compiler error.
 boolean JStringLiteral.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 boolean JNullLiteral.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 boolean JArrayInitializer.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 boolean JArrayDimsAndInits.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 CClass CCompilationUnit.lookupClass(String name, CContextType context)
          Searches for a class with the given simple name according the procedure in JLS2 6.5.5.
 CExtendedClassContext CBinaryClass.createExtendedClassContext(CContextType parent, CTypeVariable[] tvs)
           
 void CBinaryClass.checkTypes(CMethod method, CContextType context)
           
 void CBinaryClass.checkTypes(CField field, CType fieldtype, CContextType context)
           
 void CContextNullity.mergeNullityInfo(CContextType other)
          Merge the list of nulls in this context with that of the given context.
 void CContextNullity.adoptNullityInfo(CContextType other)
           
 CType CNumericType.checkType(CContextType context)
          Checks that this type is valid, throwing an exception if it is not.
 void CBinaryField.checkTypes(CContextType context)
           
 CType CArrayType.checkType(CContextType context)
          Checks that this type is valid, throwing an exception if it is not.
 CClass CBadClass.lookupClass(String name, CContextType context)
          Searches for a class with the given simple name according the procedure in JLS2 6.5.5.
 CMethodSet CBadClass.lookupMethodOrSet(String name, CType[] params, CContextType context)
          Searches for the most specific method applicable to the given identifier and argument type tuple, in the given context, looking in parent hierarchy and augmentation map as needed.
 void CBinaryGFCollection.applyAugmentationFor(CContextType context)
          Augments the classes given by the receivers of methods in this collection for the given context.
 void CGenericFunctionCollection.Impl.applyAugmentationFor(CContextType context)
          For the given context, augments the appropriate classes based on the methods in this collection.
 CType CBooleanType.checkType(CContextType context)
          Checks that this type is valid, throwing an exception if it is not.
 CType CValueType.checkType(CContextType context)
          Register this type as visible, so it can be checked during ITC on the compilation unit
 CType CWildcardType.checkType(CContextType context)
          During type checking, the wildcard's optional bound is type checked, too.
 CType CErasedClassType.checkType(CContextType context)
          check that type is valid necessary to resolve String into java/lang/String
 void CSourceGFCollection.applyAugmentationFor(CContextType context)
          Augments the classes given by the receivers of methods in this collection for the given context.
 CType CVoidType.checkType(CContextType context)
          Checks that this type is valid, throwing an exception if it is not.
static boolean CTypeNullity.isAssignable(JLocalVariable left, JExpression right, CContextType context)
          Returns true if the nullity of left and right would allow the assignment left=right.
static boolean CTypeNullity.isAssignable(JMethodDeclaration left, JExpression right, CContextType context)
           
static boolean CTypeNullity.isAssignable(JExpression left, JExpression right, CContextType context)
           
private static boolean CTypeNullity.isAssignable(boolean leftIsDeclaredNonNull, JExpression right, CType leftType, CContextType context)
           
 CType CTypeVariableAlias.checkType(CContextType context)
           
 boolean JCheckedExpression.isNonNull(CContextType context)
          Returns true iff the value represented by this expression is non-null
 CMember MJTopLevelAbstractMethodDeclaration.checkInterface(CContextType context)
           
 

Constructors in org.multijava.mjc with parameters of type CContextType
CMethod(MemberAccess access, String ident, CType returnType, CSpecializedType[] parameters, CClassType[] exceptions, CTypeVariable[] typevariables, boolean deprecated, CContextType declarationContext)
          Constructs a method member.
CSourceMethod(MemberAccess access, String ident, CType returnType, CSpecializedType[] paramTypes, CClassType[] exceptions, CTypeVariable[] typevariables, boolean deprecated, JBlock body, CContextType declarationContext, JMethodDeclaration declarationASTNode)
          Constructs a representation of the method as read from the source file including the type signature and the method body
CBinaryMethod(CClass host, MethodInfo methodInfo, CContextType declarationContext)
          Constructs a method
CBinaryMethod(MemberAccess acc, MethodInfo methodInfo, CContextType declarationContext)
          Constructs a method
CContext(CContextType parent)
          Constructs a nested context.
CClassContext(CContextType parent, CClass self)
           
CExtMethodContext(CContextType parent, CSourceClass host, CClass owner)
           
CExtendedClassContext(CContextType parent, CTypeVariable[] typevariables)
           
CSourceRedirectorMethod(CMethod target, TokenReference where, CContextType context)
          Constructs a redirector for the given method, assuming the given declaration context.
CSourceRedirectorMethod(CClass owner, CMemberHost host, long modifiers, String ident, CType returnType, CSpecializedType[] paramTypes, CClassType[] exceptions, boolean deprecated, JBlock body, CContextType declarationContext)
          Constructs a redirector method.
CMethodContext(CContextType parent, CMethod self)
          Create a context in which to check a method.
CConstructorContext(CContextType parent, CMethod self)
          CConstructorContext Clients should not call this but should instead call CClassContextType.createConstructorContext.
CExtendedCompilationUnitContext(CContextType parent, CTypeVariable[] typevariables)
           
CInitializerContext(CContextType parent, CMethod self)
          Instantiates a context for checking initializer declarations.
CInterfaceContext(CContextType parent, CClass clazz)
          Instantiates a context for checking interface declarations.
 


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.