| gnu.expr.Expression gnu.expr.ScopeExp gnu.expr.LetExp kawa.lang.TemplateScope
TemplateScope | public class TemplateScope extends LetExp implements Externalizable(Code) | | A scope created when expanding a SyntaxTemplate.
This is used to ensure proper "hygiene".
|
Field Summary | |
Declaration | macroContext The module instance containing the defining macro.
If we're expanding a macro imported from some external module,
the macro's template(s) may expand to references to declarations in
that external module. |
macroContext | Declaration macroContext(Code) | | The module instance containing the defining macro.
If we're expanding a macro imported from some external module,
the macro's template(s) may expand to references to declarations in
that external module. If the module is non-static, we may need a
context instance to access those declarations; we inherit the context
instance from the declaration bound to the imported macro.
This is used to setContextDecl() of such references.
|
TemplateScope | public TemplateScope()(Code) | | |
Methods inherited from gnu.expr.ScopeExp | public void add(Declaration decl)(Code)(Java Doc) public void add(Declaration prev, Declaration decl)(Code)(Java Doc) final public Declaration addDeclaration(Object name)(Code)(Java Doc) final public Declaration addDeclaration(Object name, Type type)(Code)(Java Doc) final public void addDeclaration(Declaration decl)(Code)(Java Doc) public int countDecls()(Code)(Java Doc) public LambdaExp currentLambda()(Code)(Java Doc) public ModuleExp currentModule()(Code)(Java Doc) public static void duplicateDeclarationError(Declaration oldDecl, Declaration newDecl, Compilation comp)(Code)(Java Doc) public Declaration firstDecl()(Code)(Java Doc) public Declaration getDefine(Object name, char severity, Compilation parser)(Code)(Java Doc) public Declaration getNoDefine(Object name)(Code)(Java Doc) public Scope getVarScope()(Code)(Java Doc) public Declaration lookup(Object sym)(Code)(Java Doc) public Declaration lookup(Object sym, Language language, int namespace)(Code)(Java Doc) public static int nesting(ScopeExp sc)(Code)(Java Doc) public void popScope(CodeAttr code)(Code)(Java Doc) public void remove(Declaration decl)(Code)(Java Doc) public void remove(Declaration prev, Declaration decl)(Code)(Java Doc) public void replaceFollowing(Declaration prev, Declaration newDecl)(Code)(Java Doc) protected void setIndexes()(Code)(Java Doc) public String toString()(Code)(Java Doc) protected Expression walk(ExpWalker walker)(Code)(Java Doc)
|
Methods inherited from gnu.expr.Expression | public void apply(CallContext ctx) throws Throwable(Code)(Java Doc) final public Object apply0() throws Throwable(Code)(Java Doc) abstract public void compile(Compilation comp, Target target)(Code)(Java Doc) final public void compile(Compilation comp, Type type)(Code)(Java Doc) final public void compile(Compilation comp, Declaration lhs)(Code)(Java Doc) public static void compileButFirst(Expression exp, Compilation comp)(Code)(Java Doc) final public void compileNotePosition(Compilation comp, Target target, Expression position)(Code)(Java Doc) final public void compileWithPosition(Compilation comp, Target target)(Code)(Java Doc) final public void compileWithPosition(Compilation comp, Target target, Expression position)(Code)(Java Doc) final public Object eval(CallContext ctx) throws Throwable(Code)(Java Doc) final public Object eval(Environment env) throws Throwable(Code)(Java Doc) final public int getColumnNumber()(Code)(Java Doc) final public String getFileName()(Code)(Java Doc) public boolean getFlag(int flag)(Code)(Java Doc) public int getFlags()(Code)(Java Doc) final public int getLineNumber()(Code)(Java Doc) public String getPublicId()(Code)(Java Doc) public String getSystemId()(Code)(Java Doc) public Type getType()(Code)(Java Doc) public Expression inline(ApplyExp exp, InlineCalls walker, Declaration decl)(Code)(Java Doc) public boolean isStableSourceLocation()(Code)(Java Doc) public static Expression makeWhile(Object cond, Object body, Compilation parser)(Code)(Java Doc) final public int match0(CallContext ctx)(Code)(Java Doc) abstract protected boolean mustCompile()(Code)(Java Doc) final public void print(Consumer out)(Code)(Java Doc) abstract public void print(OutPort ps)(Code)(Java Doc) public void printLineColumn(OutPort out)(Code)(Java Doc) final public void setFile(String filename)(Code)(Java Doc) public void setFlag(boolean setting, int flag)(Code)(Java Doc) public void setFlag(int flag)(Code)(Java Doc) final public Expression setLine(Expression old)(Code)(Java Doc) final public void setLine(int lineno, int colno)(Code)(Java Doc) final public void setLine(int lineno)(Code)(Java Doc) public void setLine(Compilation comp)(Code)(Java Doc) final public void setLocation(SourceLocator location)(Code)(Java Doc) public boolean side_effects()(Code)(Java Doc) public String toString()(Code)(Java Doc) public Object valueIfConstant()(Code)(Java Doc) protected Expression walk(ExpWalker walker)(Code)(Java Doc) protected void walkChildren(ExpWalker walker)(Code)(Java Doc)
|
|
|