1 package org.simantics.scl.compiler.elaboration.expressions.accessor;
\r
3 import org.simantics.scl.compiler.constants.StringConstant;
\r
4 import org.simantics.scl.compiler.elaboration.expressions.ELiteral;
\r
5 import org.simantics.scl.compiler.elaboration.expressions.Expression;
\r
6 import org.simantics.scl.compiler.elaboration.expressions.VariableProcedure;
\r
7 import org.simantics.scl.compiler.errors.Locations;
\r
9 public class IdAccessor extends FieldAccessor {
\r
10 public final String fieldName;
\r
12 public IdAccessor(String fieldName) {
\r
13 this.fieldName = fieldName;
\r
17 public Expression asExpression() {
\r
18 return new ELiteral(new StringConstant(fieldName));
\r
22 public boolean isVariableId() {
\r
23 return fieldName.equals("variable");
\r
27 public void setLocationDeep(long loc) {
\r
28 if(location == Locations.NO_LOCATION)
\r
33 public void accept(FieldAccessorVisitor visitor) {
\r
34 visitor.visit(this);
\r
38 public void forVariables(VariableProcedure procedure) {
\r