Arguments: -jastaddframework -debug -d classes -instance-module m1 A.java B.java C.java Main.java jastadd$framework.module m1.module m2.module m3.module End arguments ----------Module contents---------- ------m1.module------ module m1; import own m2 export as m2a; import own m2 export as m2b; merge m2a, m2b export as m2alias; ------------------------ ------m3.module------ module m3; ------------------------ ------m2.module------ module m2; import own m3 export as m3a; import own m3 export as m3b; import own m3 as m3c; import own m3 as m3d; merge m3a, m3b export as m3alias; ------------------------ ------B.java------ module: module m2;; module CU : m2.module module name : m2 ------------------------ ------jastadd$framework.module------ module jastadd$framework; ------------------------ ------Main.java------ module: null; module CU : null module name : null ------------------------ ------C.java------ module: module m3;; module CU : m3.module module name : m3 ------------------------ ------A.java------ module: module m1;; module CU : m1.module module name : m1 ------------------------ ----------CU AST before insert---------- module: m1, file: m1.module, base module: m1 module: m3, file: m3.module, base module: m3 module: m2, file: m2.module, base module: m2 B.java package: module: jastadd$framework, file: jastadd$framework.module, base module: jastadd$framework Main.java package: C.java package: A.java package: ----------CU AST after insert---------- module: m1, file: m1.module, base module: m1 A.java package:m1 module: m3, file: m3.module, base module: m3 C.java package:m3 module: m2, file: m2.module, base module: m2 B.java package:m2 module: jastadd$framework, file: jastadd$framework.module, base module: jastadd$framework Main.java package: ----------Module CU imports before import own---------- module m1, base:m1, context:[], instantiated:false module m3, base:m3, context:[], instantiated:false module m2, base:m2, context:[], instantiated:false module jastadd$framework, base:jastadd$framework, context:[], instantiated:false -------------Instance ModuleCompilationUnit------------ module m1; import own m2 export as m2a; import own m2 export as m2b; merge m2a, m2b export as m2alias; export package *; import jastadd$framework as none null; -----------End Instance ModuleCompilationUnit---------- ----------CU AST after generateImportOwn---------- module: m1, file: m1.module, base module: m1 A.java package:m1 module: m3, file: m3.module, base module: m3 C.java package:m3 module: m2, file: m2.module, base module: m2 B.java package:m2 module: jastadd$framework, file: jastadd$framework.module, base module: jastadd$framework Main.java package: module: m1.m2alias$m3c, file: m3.module, base module: m3 C.java package:m1.m2alias$m3c module: m1.m2alias$m3d, file: m3.module, base module: m3 C.java package:m1.m2alias$m3d module: m1.m2alias.m3alias, file: m3.module, base module: m3 C.java package:m1.m2alias.m3alias module: m1.m2alias, file: m2.module, base module: m2 B.java package:m1.m2alias ----------Module CU imports after import own---------- module m1, base:m1, context:[], instantiated:true jastadd$framework:jastadd$framework [export]m2a:m1.m2alias [export]m2alias:m1.m2alias [export]m2b:m1.m2alias module m3, base:m3, context:[], instantiated:false module m2, base:m2, context:[], instantiated:false module jastadd$framework, base:jastadd$framework, context:[], instantiated:true module m1.m2alias$m3c, base:m3, context:[m1.m2alias], instantiated:true jastadd$framework:jastadd$framework module m1.m2alias$m3d, base:m3, context:[m1.m2alias], instantiated:true jastadd$framework:jastadd$framework module m1.m2alias.m3alias, base:m3, context:[m1.m2alias], instantiated:true jastadd$framework:jastadd$framework module m1.m2alias, base:m2, context:[m1], instantiated:true jastadd$framework:jastadd$framework [export]m3a:m1.m2alias.m3alias [export]m3alias:m1.m2alias.m3alias [export]m3b:m1.m2alias.m3alias m3c:m1.m2alias$m3c m3d:m1.m2alias$m3d ----------MCU collectTypes after import own---------- Module: m1 m1.A Module: m3 m3.C Module: m2 m2.B Module: jastadd$framework Module: m1.m2alias$m3c m1.m2alias$m3c.C Module: m1.m2alias$m3d m1.m2alias$m3d.C Module: m1.m2alias.m3alias m1.m2alias.m3alias.C Module: m1.m2alias m1.m2alias.B ----------CU iterator---------- m1.module, A.java, m3.module, m2.module, jastadd$framework.module, Main.java, m3.module, C.java, m3.module, C.java, m3.module, C.java, m2.module, B.java