ESC/Java2
© 2003,2004,2005,2006 David Cok and Joseph Kiniry
© 2005,2006 UCD Dublin
© 2003,2004 Radboud University Nijmegen
© 1999,2000 Compaq Computer Corporation
© 1997,1998,1999 Digital Equipment Corporation
All Rights Reserved

Uses of Class
javafe.tc.Env

Packages that use Env
escjava.tc   
javafe.tc   
 

Uses of Env in escjava.tc
 

Subclasses of Env in escjava.tc
 class EnvForGhostLocals
          EnvForGhostLocals are used to extend an existing Env with one new local binding, either a local variable definition or a formal parameter.
 class GhostEnv
          This class overrides EnvForTypeSig so that it "sees" ghost and model fields if FlowInsensitiveChecks.inAnnotation is true.
 

Fields in escjava.tc declared as Env
protected  Env EnvForGhostLocals.parent
          Our parent environment
 

Methods in escjava.tc that return Env
 Env GhostEnv.asStaticContext()
          Returns a new Env that acts the same as us, except that its current instance (if any) is not accessible.
protected  Env FlowInsensitiveChecks.checkStmt(Env env, Stmt s)
           
protected  Env FlowInsensitiveChecks.checkSkolemConstants(Env env, boolean allowed)
           
protected  Env FlowInsensitiveChecks.checkModifierPragma(ModifierPragma p, ASTNode ctxt, Env env)
           
protected  Env FlowInsensitiveChecks.checkStmtPragma(Env e, StmtPragma s)
           
 Env EnvForGhostLocals.asStaticContext()
          Returns a new Env that acts the same as us, except that its current instance (if any) is not accessible.
 

Methods in escjava.tc with parameters of type Env
protected  TypeSig Types.makeTypeSigInstance(java.lang.String simpleName, Env enclosingEnv, TypeDecl decl)
           
protected  Env FlowInsensitiveChecks.checkStmt(Env env, Stmt s)
           
protected  void FlowInsensitiveChecks.checkLoopInvariants(Env env, boolean allowed)
           
protected  void FlowInsensitiveChecks.checkLoopDecreases(Env env, boolean allowed)
           
protected  void FlowInsensitiveChecks.checkLoopPredicates(Env env, boolean allowed)
           
protected  Env FlowInsensitiveChecks.checkSkolemConstants(Env env, boolean allowed)
           
protected  Expr FlowInsensitiveChecks.checkPredicate(Env env, Expr e)
           
protected  Expr FlowInsensitiveChecks.checkExpr(Env env, Expr e)
           
protected  Env FlowInsensitiveChecks.checkModifierPragma(ModifierPragma p, ASTNode ctxt, Env env)
           
protected  Env FlowInsensitiveChecks.checkStmtPragma(Env e, StmtPragma s)
           
 

Constructors in escjava.tc with parameters of type Env
TypeSig(java.lang.String simpleName, Env enclosingEnv, TypeDecl decl)
           
GhostEnv(Env parent, TypeSig peervar, boolean staticContext)
           
EnvForGhostLocals(Env parent, GenericVarDecl decl)
          Create a environment from an existing one by adding a new local binding.
 

Uses of Env in javafe.tc
 

Subclasses of Env in javafe.tc
 class EnvForCU
          EnvForCUs are used to create an Env for a CompilationUnit.
 class EnvForEnclosedScope
          EnvForLocals are used to extend an existing Env with one new local type binding.
 class EnvForLocals
          EnvForLocals are used to extend an existing Env with one new local binding, either a local variable definition or a formal parameter.
 class EnvForLocalType
          EnvForLocals are used to extend an existing Env with one new local type binding.
 class EnvForTypeSig
          EnvForTypeSigs are used to extend an existing Env with the bindings of a TypeSig.
 

Fields in javafe.tc declared as Env
protected  Env TypeSig.enclosingEnv
          Our enclosing Env; may be null for member types because of laziness.
protected  Env EnvForTypeSig.parent
          Our parent environment
protected  Env EnvForLocalType.parent
          Our parent environment
protected  Env EnvForLocals.parent
          Our parent environment
protected  Env EnvForEnclosedScope.parent
          Our parent environment
 

Methods in javafe.tc that return Env
 Env TypeSig.getEnclosingEnv()
          Return our enclosing environment.
protected  Env FlowInsensitiveChecks.checkVarDeclStmt(Env e, LocalVarDecl s)
           
protected  Env FlowInsensitiveChecks.checkClassDeclStmt(Env e, ClassDeclStmt s)
           
protected  Env FlowInsensitiveChecks.checkSwitchStmt(Env e, SwitchStmt s)
           
protected  Env FlowInsensitiveChecks.checkStmt(Env e, Stmt s)
          Typecheck a statement in a given environment then return the environment in effect for statements that follow the given statement.
protected  Env FlowInsensitiveChecks.checkStmtVec(Env env, StmtVec v)
           
protected  Env FlowInsensitiveChecks.checkModifierPragmaVec(ModifierPragmaVec v, ASTNode ctxt, Env env)
          Hook to do additional processing on ModifierVecs.
protected  Env FlowInsensitiveChecks.checkModifierPragma(ModifierPragma p, ASTNode ctxt, Env env)
          Hook to do additional processing on Modifiers.
protected  Env FlowInsensitiveChecks.checkStmtPragma(Env e, StmtPragma s)
           
protected  Env FlowInsensitiveChecks.checkTypeModifierPragmaVec(TypeModifierPragmaVec v, ASTNode ctxt, Env env)
           
protected  Env FlowInsensitiveChecks.checkTypeModifierPragma(TypeModifierPragma p, ASTNode ctxt, Env env)
           
protected  Env FlowInsensitiveChecks.checkTypeModifiers(Env env, Type t)
          This may be called more than once on a Type t.
 Env EnvForTypeSig.asStaticContext()
          Returns a new Env that acts the same as us, except that its current instance (if any) is not accessible.
 Env EnvForLocalType.asStaticContext()
          Returns a new Env that acts the same as us, except that its current instance (if any) is not accessible.
 Env EnvForLocals.asStaticContext()
          Returns a new Env that acts the same as us, except that its current instance (if any) is not accessible.
 Env EnvForEnclosedScope.asStaticContext()
          Returns a new Env that acts the same as us, except that its current instance (if any) is not accessible.
 Env EnvForCU.asStaticContext()
          Returns a new Env that acts the same as us, except that its current instance (if any) is not accessible.
abstract  Env Env.asStaticContext()
          Returns a new Env that acts the same as us, except that its current instance (if any) is not accessible.
 

Methods in javafe.tc with parameters of type Env
static TypeSig Types.makeTypeSig(java.lang.String simpleName, Env enclosingEnv, TypeDecl decl)
          Factory method for TypeSig structures
protected  TypeSig Types.makeTypeSigInstance(java.lang.String simpleName, Env enclosingEnv, TypeDecl decl)
           
 TypeSig PrepTypeDeclaration.processTypeNameAnnotations(TypeName tn, TypeSig sig, Env env)
           
protected  Env FlowInsensitiveChecks.checkVarDeclStmt(Env e, LocalVarDecl s)
           
protected  Env FlowInsensitiveChecks.checkClassDeclStmt(Env e, ClassDeclStmt s)
           
protected  Env FlowInsensitiveChecks.checkSwitchStmt(Env e, SwitchStmt s)
           
protected  Env FlowInsensitiveChecks.checkStmt(Env e, Stmt s)
          Typecheck a statement in a given environment then return the environment in effect for statements that follow the given statement.
protected  void FlowInsensitiveChecks.checkForLoopAfterInit(Env se, ForStmt f)
           
protected  Env FlowInsensitiveChecks.checkStmtVec(Env env, StmtVec v)
           
protected  Type[] FlowInsensitiveChecks.checkExprVec(Env env, ExprVec ev)
           
protected  VarInit FlowInsensitiveChecks.checkInit(Env env, VarInit x, Type expectedResult)
           
protected  Expr FlowInsensitiveChecks.checkDesignator(Env env, Expr e)
           
protected  Expr FlowInsensitiveChecks.checkExpr(Env env, Expr expr, Type t)
          Typechecks expressions.
protected  Expr FlowInsensitiveChecks.checkExpr(Env env, Expr x)
          Typechecks expressions.
protected  MethodInvocation FlowInsensitiveChecks.checkMethodInvocationExpr(Env env, MethodInvocation mi)
          Typecheck method invocation.
protected  Expr FlowInsensitiveChecks.checkAmbiguousMethodInvocationExpr(Env env, AmbiguousMethodInvocation ami)
          Disambiguates an ambiguous method invocation and then typechecks it.
protected  FieldAccess FlowInsensitiveChecks.checkFieldAccessExpr(Env env, FieldAccess fa)
          Typechecks a field access (e.g., this.x).
protected  Expr FlowInsensitiveChecks.checkAmbiguousVariableAccessExpr(Env env, AmbiguousVariableAccess av)
          Disambiguates an ambiguous variable access and then typechecks (e.g., x).
protected  Expr FlowInsensitiveChecks.checkParenExpr(Env env, ParenExpr pe)
          Typechecks paranthesis.
protected  Expr FlowInsensitiveChecks.checkNotExpr(Env env, UnaryExpr ue)
          Typecheck boolean not (e.g., !
protected  Expr FlowInsensitiveChecks.checkIncDecExpr(Env env, UnaryExpr ue)
          Typecheck unary increment and decrement operators (e.g., ++x).
protected  Expr FlowInsensitiveChecks.checkBitnotExpr(Env env, UnaryExpr ue)
          Typecheck bitwise negation (e.g., ~x).
protected  Expr FlowInsensitiveChecks.checkSignExpr(Env env, UnaryExpr ue)
          Typecheck sign (e.g.
protected  Expr FlowInsensitiveChecks.checkAssignmentExpr(Env env, BinaryExpr be)
          Typecheck assignment-like expressions (e.g., a += 2).
protected  Expr FlowInsensitiveChecks.checkBinaryExpr(Env env, BinaryExpr be)
          Typecheck simple binary expressions (e.g., x + y).
protected  Expr FlowInsensitiveChecks.checkClassLiteralExpr(Env env, ClassLiteral cl)
          Typechecks a class literal (e.g., X which might appear as the rhs of instanceof).
protected  CastExpr FlowInsensitiveChecks.checkCastExpr(Env env, CastExpr ce)
          Typecheck a (dynamic) cast.
protected  Expr FlowInsensitiveChecks.checkInstanceOfExpr(Env env, InstanceOfExpr ie)
          Typechecks a dynamic type probe (e.g., x instanceof X).
protected  Expr FlowInsensitiveChecks.checkCondExpr(Env env, CondExpr ce)
          Typechecks a conditional expression (e..g, a == 0 ?
protected  Expr FlowInsensitiveChecks.checkNewArrayExpr(Env env, NewArrayExpr na)
          Typecheck a new array construction (e.g., new int[100]).
protected  NewInstanceExpr FlowInsensitiveChecks.checkNewInstanceExpr(Env env, NewInstanceExpr ne)
          Typecheck a class instantiation (e.g., new C()).
protected  ArrayRefExpr FlowInsensitiveChecks.checkArrayRefExpr(Env env, ArrayRefExpr r)
          Typechecks an array reference expression (e.g., a[3]).
protected  Expr FlowInsensitiveChecks.checkThisExpr(Env env, ThisExpr e)
          Typechecks this expression.
protected  Type FlowInsensitiveChecks.checkObjectDesignator(Env env, ObjectDesignator od)
           
protected  Env FlowInsensitiveChecks.checkModifierPragmaVec(ModifierPragmaVec v, ASTNode ctxt, Env env)
          Hook to do additional processing on ModifierVecs.
protected  Env FlowInsensitiveChecks.checkModifierPragma(ModifierPragma p, ASTNode ctxt, Env env)
          Hook to do additional processing on Modifiers.
protected  Env FlowInsensitiveChecks.checkStmtPragma(Env e, StmtPragma s)
           
protected  Env FlowInsensitiveChecks.checkTypeModifierPragmaVec(TypeModifierPragmaVec v, ASTNode ctxt, Env env)
           
protected  Env FlowInsensitiveChecks.checkTypeModifierPragma(TypeModifierPragma p, ASTNode ctxt, Env env)
           
protected  Env FlowInsensitiveChecks.checkTypeModifiers(Env env, Type t)
          This may be called more than once on a Type t.
 

Constructors in javafe.tc with parameters of type Env
TypeSig(java.lang.String simpleName, Env enclosingEnv, TypeDecl decl)
          Create a TypeSig that represents a non-member type.
EnvForTypeSig(Env parent, TypeSig peervar, boolean staticContext)
          Create an environment from an existing one by adding a new TypeSigs bindings.
EnvForLocalType(Env parent, TypeDecl decl)
          Create a environment from an existing one by adding a new local type binding.
EnvForLocals(Env parent, GenericVarDecl decl)
          Create a environment from an existing one by adding a new local binding.
EnvForLocals(Env parent, GenericVarDecl decl, boolean warnAboutDuplication)
           
EnvForEnclosedScope(Env parent)
          Create a environment from an existing one by adding a new local type binding.
 


ESC/Java2
© 2003,2004,2005,2006 David Cok and Joseph Kiniry
© 2005,2006 UCD Dublin
© 2003,2004 Radboud University Nijmegen
© 1999,2000 Compaq Computer Corporation
© 1997,1998,1999 Digital Equipment Corporation
All Rights Reserved

The ESC/Java2 Project Homepage