- All Superinterfaces:
Expression,Sourceable
- All Known Subinterfaces:
DereferenceExpression,DotExpression,SubscriptExpression,VariableExpression
A left-hand-side expression. This can be used on the left hand side of an
assignment, or as the argument to address-of (invalid input: '&').
Variable expressions, subscript expressions, dereference expressions, and dot
expressions are all LHS expressions.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface dev.civl.mc.model.IF.expression.Expression
Expression.ExpressionKind -
Method Summary
Modifier and TypeMethodDescriptionvoidsetPurelyLocal(boolean pl) Updates the flag of the expression denoting if it is purely local.Return the variable that is possible the left hand side of an assignment statement.variableWritten(Scope scope) Return the variable that is visible from the given scope, which is possible the left hand side of an assignment statement.Methods inherited from interface dev.civl.mc.model.IF.expression.Expression
calculateConstantValue, calculateDerefs, constantValue, containsHere, expressionKind, expressionScope, freeVariables, getExpressionType, hasConstantValue, hasDerefs, isErrorFree, isPurelyLocal, lowestScope, purelyLocalAnalysis, purelyLocalAnalysisOfVariables, replaceWith, replaceWith, setErrorFree, variableAddressedOf, variableAddressedOfMethods inherited from interface dev.civl.mc.model.IF.Sourceable
getSource, setCIVLSource
-
Method Details
-
lhsExpressionKind
LHSExpression.LHSExpressionKind lhsExpressionKind() -
setPurelyLocal
void setPurelyLocal(boolean pl) Updates the flag of the expression denoting if it is purely local.- Parameters:
pl- True iff attempting to set the expression as purely local.
-
variableWritten
Return the variable that is visible from the given scope, which is possible the left hand side of an assignment statement.- Parameters:
scope- The given scope.- Returns:
-
variableWritten
Variable variableWritten()Return the variable that is possible the left hand side of an assignment statement.- Parameters:
scope- The given scope.- Returns:
-