1 package org.simantics.scl.compiler.elaboration.expressions.accessor;
3 import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext;
4 import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;
5 import org.simantics.scl.compiler.elaboration.contexts.TypingContext;
6 import org.simantics.scl.compiler.elaboration.expressions.Expression;
7 import org.simantics.scl.compiler.internal.parsing.Symbol;
9 public abstract class FieldAccessor extends Symbol {
10 public char accessSeparator;
12 public FieldAccessor(char accessSeparator) {
13 this.accessSeparator = accessSeparator;
16 public void simplify(SimplificationContext context) {
19 public void resolve(TranslationContext context) {
22 public void checkType(TypingContext context) {
25 public abstract Expression asExpression();
27 public boolean isVariableId() {
31 public abstract void setLocationDeep(long loc);
33 public abstract void accept(FieldAccessorVisitor visitor);