Package edu.uiuc.ncsa.qdl.variables
Class QDLNull
- java.lang.Object
-
- edu.uiuc.ncsa.qdl.expressions.ExpressionImpl
-
- edu.uiuc.ncsa.qdl.expressions.ConstantNode
-
- edu.uiuc.ncsa.qdl.variables.QDLNull
-
- All Implemented Interfaces:
ExpressionNode
,ExpressionInterface
,HasResultInterface
,Statement
,Serializable
public class QDLNull extends ConstantNode
This represents when the user explicitly sets a variable to null. This just exists. It does nothing. Note that this is a static class -- there is exactly one null object in QDL.Created by Jeff Gaynor
on 4/9/20 at 9:08 AM- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class edu.uiuc.ncsa.qdl.expressions.ExpressionImpl
arguments, result, valence
-
Fields inherited from interface edu.uiuc.ncsa.qdl.statements.ExpressionInterface
ALL_INDICES_NODE, ALT_IF_NODE, ASSIGNMENT_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 Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static QDLNull
getInstance()
int
getNodeType()
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.String
toString()
-
Methods inherited from class edu.uiuc.ncsa.qdl.expressions.ConstantNode
evaluate, makeCopy
-
Methods inherited from class edu.uiuc.ncsa.qdl.expressions.ExpressionImpl
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
-
-
-
-
Method Detail
-
getInstance
public static QDLNull getInstance()
-
toString
public String toString()
- Overrides:
toString
in classExpressionImpl
-
getNodeType
public int getNodeType()
Description copied from interface:ExpressionInterface
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. 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).- Specified by:
getNodeType
in interfaceExpressionInterface
- Overrides:
getNodeType
in classConstantNode
- Returns:
-
-