rt/vm/src/main/java/org/apidesign/vm4brwsr/ExportedSymbols.java
branchclosure
changeset 1491 4a1398eff4fb
parent 1029 b1fe994d4267
child 1561 f6200b8decc4
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ExportedSymbols.java	Fri Apr 26 18:48:34 2013 +0200
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ExportedSymbols.java	Sat Apr 26 21:30:06 2014 +0200
     1.3 @@ -30,15 +30,20 @@
     1.4  @ExtraJavaScript(processByteCode = false, resource="")
     1.5  final class ExportedSymbols {
     1.6      private final Bck2Brwsr.Resources resources;
     1.7 +    private final StringArray exported;
     1.8      private final Map<Object, Boolean> isMarkedAsExportedCache;
     1.9  
    1.10 -    ExportedSymbols(final Bck2Brwsr.Resources resources) {
    1.11 +    ExportedSymbols(final Bck2Brwsr.Resources resources, StringArray explicitlyExported) {
    1.12          this.resources = resources;
    1.13 +        this.exported = explicitlyExported;
    1.14  
    1.15          isMarkedAsExportedCache = new HashMap<Object, Boolean>();
    1.16      }
    1.17  
    1.18      boolean isExported(ClassData classData) throws IOException {
    1.19 +        if (exported.contains(classData.getClassName())) {
    1.20 +            return true;
    1.21 +        }
    1.22          return classData.isPublic() && isMarkedAsExportedPackage(
    1.23                                             classData.getPkgName())
    1.24                     || isMarkedAsExported(classData);