Package org.qdl_lang.expressions
Class Polyad
- java.lang.Object
- 
- org.qdl_lang.expressions.ExpressionImpl
- 
- org.qdl_lang.expressions.Polyad
 
 
- 
- All Implemented Interfaces:
- Serializable,- ExpressionNode,- ExpressionInterface,- HasResultInterface,- Statement
 - Direct Known Subclasses:
- UserFunction
 
 public class Polyad extends ExpressionImpl For multiple arguments. This is used, e.g., for all functions.Created by Jeff Gaynor 
 on 1/16/20 at 6:12 AM- See Also:
- Serialized Form
 
- 
- 
Field Summary- 
Fields inherited from class org.qdl_lang.expressions.ExpressionImplarguments, result, valence
 - 
Fields inherited from interface org.qdl_lang.statements.ExpressionInterfaceALL_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
 
- 
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description QDLValueevaluate(State state)int[]getAllowedArgCounts()Used in bootstrapping to find what the numbers of arguments are to a function.StringgetName()Human readable name for this.intgetNodeType()QDL is not strongly typed but Java is, so each node type should have a unique integer and conditionals should use that, not the instanceof operator.booleanisBuiltIn()ExpressionNodemakeCopy()voidsetAllowedArgCounts(int[] allowedArgCounts)voidsetBuiltIn(boolean builtIn)voidsetName(String name)StringtoString()- 
Methods inherited from class org.qdl_lang.expressions.ExpressionImpladdArgument, 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, setResult, setSizeQuery, setSourceCode, setTokenPosition
 
- 
 
- 
- 
- 
Constructor Detail- 
Polyadpublic Polyad() 
 - 
Polyadpublic Polyad(TokenPosition tokenPosition) 
 - 
Polyadpublic Polyad(String name) 
 - 
Polyadpublic Polyad(int operatorType) 
 
- 
 - 
Method Detail- 
getNamepublic String getName() Human readable name for this.- Returns:
 
 - 
setNamepublic void setName(String name) 
 - 
isBuiltInpublic boolean isBuiltIn() 
 - 
setBuiltInpublic void setBuiltIn(boolean builtIn) 
 - 
toStringpublic String toString() - Overrides:
- toStringin class- ExpressionImpl
 
 - 
makeCopypublic ExpressionNode makeCopy() 
 - 
getNodeTypepublic int getNodeType() Description copied from interface:ExpressionInterfaceQDL is not strongly typed but Java is, so each node type should have a unique integer and conditionals should use that, not the instanceof operator. This allows for efficient programming with switch statements rather than a bevy of conditionals (potentially each of which gets done even if the correct case has been handled).- Returns:
 
 - 
getAllowedArgCountspublic int[] getAllowedArgCounts() Used in bootstrapping to find what the numbers of arguments are to a function.- Returns:
 
 - 
setAllowedArgCountspublic void setAllowedArgCounts(int[] allowedArgCounts) 
 
- 
 
-