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%2Finternal%2Fheader%2FModuleHeader.java;h=80acf17c571cb242e2db401233525006f118908d;hp=33a88ffba83dee70893e841c6cb516407ebca6fb;hb=78f577368ba4c71ad6fb3d9f16c03c634585cf7b;hpb=a88529426319d66aa668882d767efb3f58a1a629 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/header/ModuleHeader.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/header/ModuleHeader.java index 33a88ffba..80acf17c5 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/header/ModuleHeader.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/header/ModuleHeader.java @@ -6,17 +6,18 @@ import org.simantics.scl.compiler.elaboration.expressions.EVar; import org.simantics.scl.compiler.elaboration.expressions.annotations.AnnotationUtils; import org.simantics.scl.compiler.elaboration.expressions.records.FieldAssignment; import org.simantics.scl.compiler.errors.ErrorLog; -import org.simantics.scl.compiler.internal.parsing.declarations.DModuleHeader; public class ModuleHeader { public String classLoader; public long classLoaderLocation; public String defaultLocalName; - public boolean fields; public List export; + // Features + public boolean chr; + public boolean fields; - private void read(ErrorLog errorLog, DModuleHeader header) { - for(FieldAssignment assignment : header.fields) + private void read(ErrorLog errorLog, FieldAssignment[] fields) { + for(FieldAssignment assignment : fields) switch(assignment.name) { case "bundle": if(assignment.value == null) @@ -52,16 +53,21 @@ public class ModuleHeader { errorLog.log(assignment.location, "No value expected for property fields."); this.fields = true; break; + case "chr": + if(assignment.value != null) + errorLog.log(assignment.location, "No value expected for property chr."); + this.chr = true; + break; default: errorLog.logWarning(assignment.location, "Unknown module header field was skipped."); } } - public static ModuleHeader process(ErrorLog errorLog, DModuleHeader header) { - if(header == null) + public static ModuleHeader process(ErrorLog errorLog, FieldAssignment[] fields) { + if(fields == null) return null; ModuleHeader result = new ModuleHeader(); - result.read(errorLog, header); + result.read(errorLog, fields); return result; } }