X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Felaboration%2Fexpressions%2FEFieldAccess.java;h=0bc8a431788d530b0aed43e5f91070014d966fec;hb=refs%2Fchanges%2F50%2F750%2F1;hp=c05b15409bf8976d6a95c386d7a714085c7c5d01;hpb=f5b8a3d0b68ab33a78235c5dfa84fc1d45f6271e;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EFieldAccess.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EFieldAccess.java index c05b15409..0bc8a4317 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EFieldAccess.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EFieldAccess.java @@ -11,7 +11,6 @@ import org.simantics.scl.compiler.elaboration.expressions.EAmbiguous.Alternative import org.simantics.scl.compiler.elaboration.expressions.accessor.FieldAccessor; import org.simantics.scl.compiler.elaboration.expressions.accessor.IdAccessor; import org.simantics.scl.compiler.errors.Locations; -import org.simantics.scl.compiler.internal.elaboration.utils.ExpressionDecorator; import org.simantics.scl.compiler.internal.header.ModuleHeader; import org.simantics.scl.compiler.types.Type; import org.simantics.scl.compiler.types.Types; @@ -67,7 +66,7 @@ public class EFieldAccess extends SimplifiableExpression { return null; List accessors = context.getEnvironment().getFieldAccessors(idAccessor.fieldName); if(accessors == null) { - context.getErrorLog().log("Couldn't resolve accessor ." + idAccessor.fieldName + "."); + context.getErrorLog().log(idAccessor.location, "Couldn't resolve accessor ." + idAccessor.fieldName + "."); return new EError(location); } Expression accessorExpression; @@ -86,9 +85,14 @@ public class EFieldAccess extends SimplifiableExpression { public Type getType() { return accessors.get(index).getType(); } + @Override + public String toString() { + return accessors.get(index).toString(); + } }; } accessorExpression = new EAmbiguous(alternatives); + accessorExpression.location = location; } return new EApply(location, accessorExpression, parent).checkType(context, requiredType); } @@ -162,11 +166,6 @@ public class EFieldAccess extends SimplifiableExpression { return this; } - @Override - public Expression decorate(ExpressionDecorator decorator) { - return decorator.decorate(this); - } - @Override public void collectEffects(THashSet effects) { // FIXME @@ -186,12 +185,6 @@ public class EFieldAccess extends SimplifiableExpression { public void accept(ExpressionVisitor visitor) { visitor.visit(this); } - - @Override - public void forVariables(VariableProcedure procedure) { - parent.forVariables(procedure); - accessor.forVariables(procedure); - } @Override public Expression accept(ExpressionTransformer transformer) {