| java.lang.Object gnu.mapping.PropertySet gnu.mapping.Procedure gnu.mapping.Procedure0 gnu.expr.Expression gnu.expr.BeginExp
BeginExp | public class BeginExp extends Expression (Code) | | This class represents a sequence of Expressions.
The expressions are evaluated for their side-effects,
and the value of the last Expression is the result.
A BeginExp may optionally have "compilation options"
which can be used to control various compile-time
aspects of Kawa, such as warning messages.
author: Per Bothner |
Field Summary | |
Vector | compileOptions A Vector used to remember compile options.
This is used to set/reset the options in Compilations's currentOptions.
Each option consists of 3 elements of the Vector:
A key String that names the option;
a place to save the old value of the option;
the value the value the option should have during traversal
(using an ExpWalker or compilation) of this BeginExp.
Note traversal is not thread-safe because the "old value" is saved
in this same array. | Expression[] | exps | int | length |
compileOptions | Vector compileOptions(Code) | | A Vector used to remember compile options.
This is used to set/reset the options in Compilations's currentOptions.
Each option consists of 3 elements of the Vector:
A key String that names the option;
a place to save the old value of the option;
the value the value the option should have during traversal
(using an ExpWalker or compilation) of this BeginExp.
Note traversal is not thread-safe because the "old value" is saved
in this same array. A cleaner (future) solution might be to use
a stack in the Compilation. Since expressions (except for QuoteExp)
are local to a specific Compilation, it doesn't matter.
|
BeginExp | public BeginExp()(Code) | | |
canonicalize | final public static Expression canonicalize(Expression exp)(Code) | | Simplifies BeginExp.
(In the future, nested BeginExps may be "flattened" as well.)
|
getExpressionCount | final public int getExpressionCount()(Code) | | |
mustCompile | protected boolean mustCompile()(Code) | | |
setCompileOptions | public void setCompileOptions(Vector options)(Code) | | |
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)
|
Methods inherited from gnu.mapping.Procedure | public void apply(CallContext ctx) throws Throwable(Code)(Java Doc) public static void apply(Procedure proc, CallContext ctx) throws Throwable(Code)(Java Doc) abstract public Object apply0() throws Throwable(Code)(Java Doc) abstract public Object apply1(Object arg1) throws Throwable(Code)(Java Doc) abstract public Object apply2(Object arg1, Object arg2) throws Throwable(Code)(Java Doc) abstract public Object apply3(Object arg1, Object arg2, Object arg3) throws Throwable(Code)(Java Doc) abstract public Object apply4(Object arg1, Object arg2, Object arg3, Object arg4) throws Throwable(Code)(Java Doc) abstract public Object applyN(Object[] args) throws Throwable(Code)(Java Doc) public void check0(CallContext ctx)(Code)(Java Doc) public void check1(Object arg1, CallContext ctx)(Code)(Java Doc) public void check2(Object arg1, Object arg2, CallContext ctx)(Code)(Java Doc) public void check3(Object arg1, Object arg2, Object arg3, CallContext ctx)(Code)(Java Doc) public void check4(Object arg1, Object arg2, Object arg3, Object arg4, CallContext ctx)(Code)(Java Doc) public static void checkArgCount(Procedure proc, int argCount)(Code)(Java Doc) public void checkN(Object[] args, CallContext ctx)(Code)(Java Doc) public Procedure getSetter()(Code)(Java Doc) public String getSourceLocation()(Code)(Java Doc) public int match0(CallContext ctx)(Code)(Java Doc) public int match1(Object arg1, CallContext ctx)(Code)(Java Doc) public int match2(Object arg1, Object arg2, CallContext ctx)(Code)(Java Doc) public int match3(Object arg1, Object arg2, Object arg3, CallContext ctx)(Code)(Java Doc) public int match4(Object arg1, Object arg2, Object arg3, Object arg4, CallContext ctx)(Code)(Java Doc) public int matchN(Object[] args, CallContext ctx)(Code)(Java Doc) final public int maxArgs()(Code)(Java Doc) final public int minArgs()(Code)(Java Doc) public int numArgs()(Code)(Java Doc) public void set0(Object result) throws Throwable(Code)(Java Doc) public void set1(Object arg1, Object value) throws Throwable(Code)(Java Doc) public void setN(Object[] args) throws Throwable(Code)(Java Doc) public void setSetter(Procedure setter)(Code)(Java Doc) public void setSourceLocation(String file, int line)(Code)(Java Doc) public String toString()(Code)(Java Doc)
|
|
|