X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fmodule%2FImportDeclaration.java;h=21d7104051b133957c17b813a1a2a778ac2334f3;hp=54afa3c3c42e21e8bae140842e948780ff975512;hb=refs%2Fchanges%2F38%2F238%2F2;hpb=24e2b34260f219f0d1644ca7a138894980e25b14 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/ImportDeclaration.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/ImportDeclaration.java index 54afa3c3c..21d710405 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/ImportDeclaration.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/ImportDeclaration.java @@ -1,122 +1,122 @@ -package org.simantics.scl.compiler.module; - -import org.simantics.scl.compiler.elaboration.expressions.EVar; -import org.simantics.scl.compiler.internal.parsing.Symbol; -import org.simantics.scl.compiler.internal.parsing.declarations.DeclarationAst; - - -public class ImportDeclaration extends DeclarationAst { - public static final ImportSpec DEFAULT_SPEC = new ImportSpec(true, new EVar[0]); - - public static final ImportDeclaration[] EMPTY_ARRAY = new ImportDeclaration[0]; - - public static final ImportDeclaration[] ONLY_BUILTINS = - new ImportDeclaration[] { new ImportDeclaration("Builtin", "") }; - - - public final String moduleName; - public final String localName; - public final boolean reexport; - public final ImportSpec spec; - - public static class ImportSpec extends Symbol { - public final boolean hiding; - public final EVar[] values; - - public ImportSpec(boolean hiding, EVar[] values) { - this.hiding = hiding; - this.values = values; - } - - @Override - public String toString() { - if(hiding && values.length == 0) - return ""; - StringBuilder b = new StringBuilder(); - if(hiding) - b.append("hiding "); - b.append('('); - for(int i=0;i 0) - b.append(','); - b.append(values[i].name); - } - b.append(')'); - return b.toString(); - } - } - - public ImportDeclaration(String moduleName, String localName, boolean reexport) { - this.moduleName = moduleName; - this.localName = localName; - this.reexport = reexport; - this.spec = DEFAULT_SPEC; - } - - public ImportDeclaration(String moduleName, String localName, boolean reexport, ImportSpec spec) { - if(spec == null) - throw new NullPointerException(); - this.moduleName = moduleName; - this.localName = localName; - this.reexport = reexport; - this.spec = spec; - } - - public ImportDeclaration(String moduleName, String localName) { - this(moduleName, localName, false); - } - - @Override - public void toString(int indentation, StringBuilder b) { - for(int i=0;i 0) + b.append(','); + b.append(values[i].name); + } + b.append(')'); + return b.toString(); + } + } + + public ImportDeclaration(String moduleName, String localName, boolean reexport) { + this.moduleName = moduleName; + this.localName = localName; + this.reexport = reexport; + this.spec = DEFAULT_SPEC; + } + + public ImportDeclaration(String moduleName, String localName, boolean reexport, ImportSpec spec) { + if(spec == null) + throw new NullPointerException(); + this.moduleName = moduleName; + this.localName = localName; + this.reexport = reexport; + this.spec = spec; + } + + public ImportDeclaration(String moduleName, String localName) { + this(moduleName, localName, false); + } + + @Override + public void toString(int indentation, StringBuilder b) { + for(int i=0;i