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%2FEStringLiteral.java;h=58ec41fd2f74b85dbbaf4ee420601b9638ada5e8;hb=b2676209b072592da3425c2efb29f51eb5c4a0e0;hp=f15e62cbf14b312e57eacd7b194a1353e90bfd55;hpb=4bf8562ab7cbb3747f9c5844a07469291d43e905;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EStringLiteral.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EStringLiteral.java index f15e62cbf..58ec41fd2 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EStringLiteral.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EStringLiteral.java @@ -1,54 +1,57 @@ -package org.simantics.scl.compiler.elaboration.expressions; - -import org.simantics.scl.compiler.common.names.Names; -import org.simantics.scl.compiler.constants.StringInterpolation; -import org.simantics.scl.compiler.elaboration.contexts.TranslationContext; -import org.simantics.scl.compiler.elaboration.modules.SCLValue; -import org.simantics.scl.compiler.errors.Locations; - -public class EStringLiteral extends ASTExpression { - - String[] strings; - Expression[] expressions; - - public EStringLiteral(String[] strings, Expression[] expressions) { - this.strings = strings; - this.expressions = expressions; - } - - @Override - public Expression resolve(TranslationContext context) { - Expression[] components = new Expression[expressions.length]; - SCLValue showForPrinting = context.getEnvironment().getValue(Names.Prelude_showForPrinting); - for(int i=0;i 1) { - context.getErrorLog().log(location, "String interpolation can be a pattern only if has one hole."); - return new EError(); - } - return new EApply(new ELiteral(new StringInterpolation(strings)), expressions); - } - - -} +package org.simantics.scl.compiler.elaboration.expressions; + +import org.simantics.scl.compiler.common.names.Names; +import org.simantics.scl.compiler.constants.StringInterpolation; +import org.simantics.scl.compiler.elaboration.contexts.TranslationContext; +import org.simantics.scl.compiler.elaboration.modules.SCLValue; +import org.simantics.scl.compiler.errors.Locations; + +public class EStringLiteral extends ASTExpression { + + public String[] strings; + public Expression[] expressions; + + public EStringLiteral(String[] strings, Expression[] expressions) { + this.strings = strings; + this.expressions = expressions; + } + + @Override + public Expression resolve(TranslationContext context) { + Expression[] components = new Expression[expressions.length]; + SCLValue showForPrinting = context.getEnvironment().getValue(Names.Prelude_showForPrinting); + for(int i=0;i 1) { + context.getErrorLog().log(location, "String interpolation can be a pattern only if has one hole."); + return new EError(); + } + return new EApply(new ELiteral(new StringInterpolation(strings)), expressions); + } + + @Override + public void accept(ExpressionVisitor visitor) { + visitor.visit(this); + } +}