Class SelectAllExpression
- All Implemented Interfaces:
Expression
A 'select all' expression is an asterisk by itself (i.e. not indexing some other expression), and is currently only
supported to appear within a struct expression, e.g.
{*, foo} or {foo, *}.
A select all expression will add any members from the input scope to the struct you are declaring, so something
like... input(expression: {foo: 1}) -> select({*, bar: 2})
would yield {foo: 1, bar: 2}
A related expression is a PropertyAccess
expression with a trailing select all, e.g. foo().bar.*
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<T,
R> R accept
(ExpressionVisitor<T, R> visitor, T data) protected void
appendSource
(StringBuilder appendTo) Implementers extend this to append their source to the given string builder.protected boolean
boolean
getToken()
int
hashCode()
final String
toSource()
final String
toString()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface nz.org.riskscape.rl.ast.Expression
isA
-
Constructor Details
-
SelectAllExpression
-
-
Method Details
-
appendSource
Implementers extend this to append their source to the given string builder. Done via string builder to encourage a more efficient implementation than is possible with concatenating multiple toString calls that typically contruct a string builder anyway.
-
getBoundary
- Returns:
- a pair of tokens that represent the start and end of this expression, to be used when giving users information about where errors have occurred. If the expression has been rebuilt then the boundary may be empty or it may be from the original expression. Intended for use in problems to trace errors back to their source.
-
accept
-
equals
-
canEqual
-
hashCode
public int hashCode() -
getToken
-
toString
-
toSource
- Specified by:
toSource
in interfaceExpression
- Returns:
- a normalized version of the AST that can be parsed to be exactly the same AST as this
-