| Modifier and Type | Field and Description |
|---|---|
protected ClassNode |
baseTypeNode |
protected int |
numDimensions |
| Constructor and Description |
|---|
LiteralArrayNode(ClassNode baseTypeNode,
int numDimensions,
List<?> initialValue)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
Value |
evaluate(ParseSession session)
Evaluate this node.
|
protected Class<?> |
getBaseType(ParseSession session)
Resolve the array base type.
|
Class<?> |
getType(ParseSession session)
Get the type of this node's value.
|
static List<?> |
parseArrayLiteral(ParseSession session,
ParseContext ctx,
boolean complete,
int dims)
Parse an array literal initial value expression.
|
protected final ClassNode baseTypeNode
protected final int numDimensions
public LiteralArrayNode(ClassNode baseTypeNode, int numDimensions, List<?> initialValue)
baseTypeNode - array base type class nodenumDimensions - number of array dimensionsinitialValue - array initial value; each element in the list is either a List (all but the last dimension)
or a Node (last dimension)public Value evaluate(ParseSession session)
Nodesession - parse sessionpublic static List<?> parseArrayLiteral(ParseSession session, ParseContext ctx, boolean complete, int dims)
session - parse sessionctx - input to parsecomplete - false if parse is "for real", true if only for tab completion calculationdims - number of array dimensionsIllegalArgumentException - if dims is less than oneprotected Class<?> getBaseType(ParseSession session)
session - parse sessionEvalException - if base type is voidEvalException - if base type cannot be resolvedpublic Class<?> getType(ParseSession session)
Node
If the type is unknown, Object.class should be returned.
Copyright © 2017. All rights reserved.