edu.mit.ai.psg.jeva
Class EnvBase

java.lang.Object
  |
  +--edu.mit.ai.psg.jeva.EnvBase
Direct Known Subclasses:
EnvLocalStore, EnvMethodBoundary, EnvOptionBits, EnvProcedureBoundary, EnvThis

public abstract class EnvBase
extends Object
implements IEnv

A base class for Environment nodes that forwards all requests to the next environment node. Subclasses should override some methods to actually do some kinds of lookups. (Environments are chains of binding nodes).

Author:
CarlManning, caroma@ai.mit.edu
Copyright (c) 1997, 1998, 1999 Massachusetts Institute of Technology

Constructor Summary
EnvBase(IEnv nextEnv)
           
 
Method Summary
 IEnv getNext()
           
 int getOptionBits()
           
 IClass lookupClass(String queryName)
           
 IClass lookupEnclosingClass()
           
 IPackage lookupEnclosingPackage()
           
 IField lookupField(String queryName)
           
 IStatementNode lookupLabel(String queryName, boolean isForContinue)
           
 IStore lookupLocal(String queryName)
           
 IPackage lookupPackage(String rootPackageName)
           
 IClass lookupReturnType()
           
 Object lookupThis()
           
 IClass[] lookupThrows()
           
abstract  String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EnvBase

public EnvBase(IEnv nextEnv)
        throws IllegalArgumentException
Method Detail

getNext

public final IEnv getNext()
Specified by:
getNext in interface IEnv

toString

public abstract String toString()
Overrides:
toString in class Object

lookupLocal

public IStore lookupLocal(String queryName)
Specified by:
lookupLocal in interface IEnv

lookupField

public IField lookupField(String queryName)
                   throws IllegalAccessException
Specified by:
lookupField in interface IEnv

lookupLabel

public IStatementNode lookupLabel(String queryName,
                                  boolean isForContinue)
Specified by:
lookupLabel in interface IEnv

lookupClass

public IClass lookupClass(String queryName)
Specified by:
lookupClass in interface IEnv

lookupPackage

public IPackage lookupPackage(String rootPackageName)
Specified by:
lookupPackage in interface IEnv

lookupReturnType

public IClass lookupReturnType()
Specified by:
lookupReturnType in interface IEnv

lookupThrows

public IClass[] lookupThrows()
Specified by:
lookupThrows in interface IEnv

lookupThis

public Object lookupThis()
Specified by:
lookupThis in interface IEnv

lookupEnclosingClass

public IClass lookupEnclosingClass()
Specified by:
lookupEnclosingClass in interface IEnv

lookupEnclosingPackage

public IPackage lookupEnclosingPackage()
Specified by:
lookupEnclosingPackage in interface IEnv

getOptionBits

public int getOptionBits()
Specified by:
getOptionBits in interface IEnv

Copyright (c) 1996-1999
Massachusetts Institute of Technology

Feedback: jeva-bugs@ai.mit.edu