public final class PropertyLiteralExpression extends Expression
Constructor and Description |
---|
PropertyLiteralExpression(ASTInfo info,
RecordType recordType,
List<String> properties) |
PropertyLiteralExpression(ASTInfo info,
RecordType recordType,
String property) |
Modifier and Type | Method and Description |
---|---|
<T,E extends Throwable> |
accept(ExpressionVisitor<T,E> visitor)
Accepts visitor.
|
protected Object |
basicInterpret(Interpreter interpreter,
InterpreterStackTrace stackTrace)
Interpret expression.
|
Object |
getParseTimeConstant()
Returns the value of the expression determined in parse time.
|
List<String> |
getProperties() |
ASTRange |
getPropertyRange(int index)
Returns the range of the property identifier at the given index.
|
RecordProperty |
getRecordProperty(int index)
Returns the record property corresponding to the path segment at the given index.
|
RecordType |
getRecordType() |
int |
getSegmentCount() |
ASTNode |
getTypeRange()
Returns the range of the record type.
|
PropertyPath |
getValue()
Returns the property path value, or
null
if the expression is not valid. |
boolean |
isParseTimeConstant()
Returns
true if the value of the expression is known
in parse time. |
createANTLRParser, doInterpret, evalCondition, evaluateToExpressions, executeCompiled, getCompiled, getDebugLine, getIdentifierAst, getPrimaryRange, getPropertySelectorRange, getRange, getResultExpression, getResultExpressions, getType, interpret, interpretInCurrentNamespace, isCreatingNonModuleContextObjects, requiresNewNamespace, setCompiled, showInFullText, showInSurroundingText, showInText, toExpressions
getFullText, getLine, getNodeText, getText, toString
contains, getBeginIndex, getEndIndex, getLength
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getFullText, getLine, getNodeText, getText
contains, getBeginIndex, getEndIndex, getLength
public PropertyLiteralExpression(ASTInfo info, RecordType recordType, String property)
info
- recordType
- property
- public PropertyLiteralExpression(ASTInfo info, RecordType recordType, List<String> properties)
info
- recordType
- properties
- public PropertyPath getValue()
null
if the expression is not valid.public boolean isParseTimeConstant()
Expression
true
if the value of the expression is known
in parse time. E.g. constant literals, enumerations, types (without free types).isParseTimeConstant
in class Expression
true
if the expression value is known during parsingExpression.getParseTimeConstant()
public Object getParseTimeConstant()
Expression
UnsupportedOperationException
.
Subclasses, which return true
when Expression.isParseTimeConstant()
is called, should override this method.getParseTimeConstant
in class Expression
Expression.isParseTimeConstant()
public RecordType getRecordType()
public int getSegmentCount()
public <T,E extends Throwable> T accept(ExpressionVisitor<T,E> visitor) throws E extends Throwable
Expression
accept
in class Expression
E
E extends Throwable
protected Object basicInterpret(Interpreter interpreter, InterpreterStackTrace stackTrace)
Expression
basicInterpret
in class Expression
public RecordProperty getRecordProperty(int index)
null
if the expression is not valid.index
- public ASTNode getTypeRange()
public ASTRange getPropertyRange(int index)
index
- Copyright © 2007-2020 Whitestein Technologies. All Rights Reserved.