org.omegahat.Environment.Language
Class LazyFunction

java.lang.Object
  |
  +--org.omegahat.Environment.Language.Function
        |
        +--org.omegahat.Environment.Language.LazyFunction
All Implemented Interfaces:
Evaluable, java.io.Serializable

public class LazyFunction
extends Function

See Also:
Serialized Form

Field Summary
protected  boolean defaultArgModeIsLazy
           
 
Fields inherited from class org.omegahat.Environment.Language.Function
argumentNames, body, documentation, exceptions, hasVariableArguments, MissingArgument, name, OptionalArgumentsVariableName, OptionalArgumentVariablePrefix, returnType, templateFrame
 
Constructor Summary
LazyFunction(ExpressionInt body, List args, Name returnType, List exceptions, java.lang.String name, Evaluator evaluator)
           
LazyFunction(ExpressionInt body, List args, Name returnType, List exceptions, java.lang.String name, FunctionParameterModifier defaultArgMode, Evaluator evaluator)
           
 
Method Summary
 java.lang.String addArgument(MethodParameter param, java.lang.Object value, Evaluator evaluator)
           
 java.lang.Object assignArgument(Database db, java.lang.Object arg, java.lang.String name, java.lang.String optionalArgument, Evaluator evaluator)
           
 java.lang.Object assignNamedArgument(Database db, AssignExpression assign, java.lang.String name, java.lang.String optionalArgument, Evaluator evaluator)
           
 Database createCallFrame(Evaluator evaluator)
           
 boolean defaultIsLazy()
           
 boolean defaultIsLazy(boolean val)
           
 boolean defaultIsLazy(FunctionParameterModifier mod)
           
 boolean isLazy(java.lang.String name)
           
 boolean isLazy(java.lang.String name, int flag)
           
 java.lang.Object templateArgument(Evaluable arg, java.lang.String name, Evaluator evaluator)
           
 
Methods inherited from class org.omegahat.Environment.Language.Function
addArgument, addArgument, addArgument, addArgument, addArgument, addArgumentName, argList, argList, argList, argumentName, argumentNames, argumentNames, body, body, body, callFrame, checkReturnType, createVariable, eval, eval, eval, eval, eval, eval, evalBody, exceptions, exceptions, exceptions, frame, functionName, getDocumentation, getFirstChild, hasVariableArguments, hasVariableArguments, isSynchronized, lazy, matchArgument, matchArguments, matchArguments, name, name, parameterTypes, returnType, returnType, setDocumentation, setDocumentation, showArg, showArguments, showArguments, signature, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

defaultArgModeIsLazy

protected boolean defaultArgModeIsLazy
Constructor Detail

LazyFunction

public LazyFunction(ExpressionInt body,
                    List args,
                    Name returnType,
                    List exceptions,
                    java.lang.String name,
                    Evaluator evaluator)
             throws java.lang.ClassNotFoundException

LazyFunction

public LazyFunction(ExpressionInt body,
                    List args,
                    Name returnType,
                    List exceptions,
                    java.lang.String name,
                    FunctionParameterModifier defaultArgMode,
                    Evaluator evaluator)
             throws java.lang.ClassNotFoundException
Method Detail

defaultIsLazy

public boolean defaultIsLazy()

defaultIsLazy

public boolean defaultIsLazy(boolean val)

defaultIsLazy

public boolean defaultIsLazy(FunctionParameterModifier mod)

addArgument

public java.lang.String addArgument(MethodParameter param,
                                    java.lang.Object value,
                                    Evaluator evaluator)
                             throws java.lang.ClassNotFoundException
Overrides:
addArgument in class Function

assignNamedArgument

public java.lang.Object assignNamedArgument(Database db,
                                            AssignExpression assign,
                                            java.lang.String name,
                                            java.lang.String optionalArgument,
                                            Evaluator evaluator)
                                     throws java.lang.Throwable
Overrides:
assignNamedArgument in class Function

assignArgument

public java.lang.Object assignArgument(Database db,
                                       java.lang.Object arg,
                                       java.lang.String name,
                                       java.lang.String optionalArgument,
                                       Evaluator evaluator)
                                throws java.lang.Throwable
Overrides:
assignArgument in class Function

templateArgument

public java.lang.Object templateArgument(Evaluable arg,
                                         java.lang.String name,
                                         Evaluator evaluator)
                                  throws java.lang.Throwable
Overrides:
templateArgument in class Function

createCallFrame

public Database createCallFrame(Evaluator evaluator)
Overrides:
createCallFrame in class Function

isLazy

public boolean isLazy(java.lang.String name)

isLazy

public boolean isLazy(java.lang.String name,
                      int flag)