]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/accessor/StringAccessor.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / accessor / StringAccessor.java
1 package org.simantics.scl.compiler.elaboration.expressions.accessor;\r
2 \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
8 \r
9 public class StringAccessor extends FieldAccessor {\r
10     public final String fieldName;\r
11 \r
12     public StringAccessor(String fieldName) {\r
13         this.fieldName = fieldName;\r
14     }\r
15     \r
16     @Override\r
17     public Expression asExpression() {\r
18         return new ELiteral(new StringConstant(fieldName));\r
19     }\r
20     \r
21     @Override\r
22     public void setLocationDeep(long loc) {\r
23         if(location == Locations.NO_LOCATION)\r
24             location = loc;\r
25     }\r
26 \r
27     @Override\r
28     public void accept(FieldAccessorVisitor visitor) {\r
29         visitor.visit(this);\r
30     }\r
31 \r
32     @Override\r
33     public void forVariables(VariableProcedure procedure) {\r
34     }\r
35 }\r