diff --git a/dumpAst/src/main/jastadd/DumpAst.relast b/dumpAst/src/main/jastadd/DumpAst.relast index 7f41406c376d88fcb9dede390a41a7ab454d7724..3d76a4b0c5fb31fd428b970c8248da607f3126a8 100644 --- a/dumpAst/src/main/jastadd/DumpAst.relast +++ b/dumpAst/src/main/jastadd/DumpAst.relast @@ -1,5 +1,5 @@ DumpAst ::= DumpNode* <PackageName> BuildConfig PrintConfig ; -rel DumpAst.RootNode -> DumpNode ; +rel DumpAst.RootNode? -> DumpNode ; DumpNode ::= DumpChildNode* DumpToken* DumpRelation* <Name> <Label> <BackgroundColor> <TextColor> <Object:Object> <Invisible:boolean> <Computed:boolean> <ManualStereotypes> diff --git a/dumpAst/src/main/jastadd/GenerationBackend.jadd b/dumpAst/src/main/jastadd/GenerationBackend.jadd index 45364244597f02931eb40747ea2f7883180279a4..be9aaff9334285645c3e4581838566d683879f5c 100644 --- a/dumpAst/src/main/jastadd/GenerationBackend.jadd +++ b/dumpAst/src/main/jastadd/GenerationBackend.jadd @@ -15,7 +15,7 @@ aspect GenerationBackend { } public TransformationOptions asRoot() { - return fromSource(Source.ROOT, false); + return fromSource(Source.ROOT, false).allowNullObjectsOnce(); } public TransformationOptions asNormal(boolean shouldBeInvisible) { diff --git a/dumpAst/src/main/jastadd/GenerationFrontend.jadd b/dumpAst/src/main/jastadd/GenerationFrontend.jadd index 2bc0d68ebb8f61d335a180ec70342b49c683c7e1..3e6fcf0a93911c07bc48e6571a9764776da6c291 100644 --- a/dumpAst/src/main/jastadd/GenerationFrontend.jadd +++ b/dumpAst/src/main/jastadd/GenerationFrontend.jadd @@ -379,7 +379,17 @@ public class DumpBuilder { protected DumpAst build() { if (result == null) { result = new DumpAst(); - result.setPackageName(this.packageName == null ? this.target.getClass().getPackage().getName() : this.packageName); + final String packageNameToUse; + if (this.packageName != null) { + packageNameToUse = this.packageName; + } else { + if (this.target == null) { + packageNameToUse = null; + } else { + packageNameToUse = this.target.getClass().getPackage().getName(); + } + } + result.setPackageName(packageNameToUse); result.setBuildConfig(this.buildConfig); result.setPrintConfig(this.printConfig); try {