Package org.qdl_lang.expressions
Class UserFunction
- java.lang.Object
-
- org.qdl_lang.expressions.ExpressionImpl
-
- org.qdl_lang.expressions.Polyad
-
- org.qdl_lang.expressions.UserFunction
-
- All Implemented Interfaces:
Serializable
,ExpressionNode
,ExpressionInterface
,HasResultInterface
,Statement
public class UserFunction extends Polyad
MOdels a user-defined function in QDL. This is a specialized type ofPolyad
.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.qdl_lang.expressions.ExpressionImpl
arguments, result, valence
-
Fields inherited from interface org.qdl_lang.statements.ExpressionInterface
ALL_INDICES_NODE, ALT_IF_NODE, ASSIGNMENT_NODE, AXIS_RESTRICTION_NODE, CLOSED_SLICE_NODE, COMPARISON_DYAD_NODE, CONSTANT_NODE, DYAD_NODE, DYADIC_FUNCTION_REFERENCE_NODE, EXPRESSION_STEM_NODE, EXPRESSION_STEM2_NODE, FUNCTION_REFERENCE_NODE, LAMBDA_DEFINITION_NODE, LIST_NODE, MODULE_NODE, MONAD_NODE, NILAD_NODE, OPEN_SLICE_NODE, PARENTHESIZED_NODE, PARSE_EXPRESSION_BLOCK_NODE, PARSE_STATEMENT_BLOCK_NODE, POLYAD_NODE, QDL_NULL_NODE, SELECT_NODE, SET_NODE, STEM_ENTRY_NODE, STEM_EXTRACTION_NODE, STEM_NODE, UNKNOWN_NODE, VARIABLE_NODE
-
-
Constructor Summary
Constructors Constructor Description UserFunction()
UserFunction(int operatorType)
UserFunction(String name)
UserFunction(TokenPosition tokenPosition)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
arity()
FunctionRecordInterface
getFunctionRecord()
boolean
hasFR_WithState()
Check that it has a function record before calling this.boolean
hasFunctionRecord()
void
setFunctionRecord(FunctionRecordInterface functionRecord)
-
Methods inherited from class org.qdl_lang.expressions.Polyad
evaluate, getName, getNodeType, isBuiltIn, makeCopy, setBuiltIn, setName, toString
-
Methods inherited from class org.qdl_lang.expressions.ExpressionImpl
addArgument, evalArg, evalLastArg, evaluatedArgs, getAlias, getArgAt, getArgCount, getArguments, getEvaluatedArgs, getLastArg, getOperatorType, getResult, getResultType, getSourceCode, getTokenPosition, hasAlias, hasEvaluatedArgs, hasTokenPosition, isEvaluated, isSizeQuery, setAlias, setArguments, setEvaluated, setEvaluatedArgs, setOperatorType, setResult, setResultType, setSizeQuery, setSourceCode, setTokenPosition
-
-
-
-
Constructor Detail
-
UserFunction
public UserFunction()
-
UserFunction
public UserFunction(TokenPosition tokenPosition)
-
UserFunction
public UserFunction(String name)
-
UserFunction
public UserFunction(int operatorType)
-
-
Method Detail
-
getFunctionRecord
public FunctionRecordInterface getFunctionRecord()
-
setFunctionRecord
public void setFunctionRecord(FunctionRecordInterface functionRecord)
-
hasFR_WithState
public boolean hasFR_WithState()
Check that it has a function record before calling this.- Returns:
-
hasFunctionRecord
public boolean hasFunctionRecord()
-
arity
public int arity()
-
-