Package gnu.expr
Class ResolveNames
- java.lang.Object
-
- gnu.expr.ExpVisitor<Expression,D>
-
- gnu.expr.ExpExpVisitor<Void>
-
- gnu.expr.ResolveNames
-
- All Implemented Interfaces:
SourceLocator
,SourceLocator
,Locator
- Direct Known Subclasses:
XQResolveNames
public class ResolveNames extends ExpExpVisitor<Void>
This resolves references to lexical Declarations. So far it is only used for XQuery, which overrides it. Lisp-family languages get similar functionality through the 2-phase scan/rewrite framework.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface gnu.text.SourceLocator
SourceLocator.Simple
-
-
Field Summary
Fields Modifier and Type Field Description protected NameLookup
lookup
-
Fields inherited from class gnu.expr.ExpVisitor
currentLambda, exitValue, messages
-
-
Constructor Summary
Constructors Constructor Description ResolveNames()
ResolveNames(Compilation comp)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Declaration
lookup(Expression exp, Object symbol, boolean function)
protected void
push(ScopeExp exp)
void
resolveModule(ModuleExp exp)
protected Expression
visitLetExp(LetExp exp, Void ignored)
protected Expression
visitReferenceExp(ReferenceExp exp, Void ignored)
protected Expression
visitScopeExp(ScopeExp exp, Void ignored)
protected Expression
visitSetExp(SetExp exp, Void ignored)
-
Methods inherited from class gnu.expr.ExpExpVisitor
defaultValue, error, error, update
-
Methods inherited from class gnu.expr.ExpVisitor
error, getColumnNumber, getCompilation, getCurrentLambda, getEndColumn, getEndLine, getExitValue, getFileName, getLanguage, getLineNumber, getMessages, getPublicId, getStartColumn, getStartLine, getSystemId, isStableSourceLocation, noteError, setColumn, setContext, setFile, setLine, setLine, visit, visit, visitAndUpdate, visitApplyExp, visitBeginExp, visitBlockExp, visitCaseExp, visitClassExp, visitDeclarationType, visitDeclarationTypes, visitDefaultArgs, visitExitExp, visitExpression, visitExps, visitExps, visitFluidLetExp, visitIfExp, visitLambdaExp, visitLangExp, visitModuleExp, visitObjectExp, visitQuoteExp, visitSynchronizedExp, visitThisExp, visitTryExp
-
-
-
-
Field Detail
-
lookup
protected NameLookup lookup
-
-
Constructor Detail
-
ResolveNames
public ResolveNames()
-
ResolveNames
public ResolveNames(Compilation comp)
-
-
Method Detail
-
resolveModule
public void resolveModule(ModuleExp exp)
-
push
protected void push(ScopeExp exp)
-
visitScopeExp
protected Expression visitScopeExp(ScopeExp exp, Void ignored)
- Overrides:
visitScopeExp
in classExpVisitor<Expression,Void>
-
visitLetExp
protected Expression visitLetExp(LetExp exp, Void ignored)
- Overrides:
visitLetExp
in classExpVisitor<Expression,Void>
-
lookup
public Declaration lookup(Expression exp, Object symbol, boolean function)
-
visitReferenceExp
protected Expression visitReferenceExp(ReferenceExp exp, Void ignored)
- Overrides:
visitReferenceExp
in classExpVisitor<Expression,Void>
-
visitSetExp
protected Expression visitSetExp(SetExp exp, Void ignored)
- Overrides:
visitSetExp
in classExpVisitor<Expression,Void>
-
-