rt/vm/src/main/java/org/apidesign/vm4brwsr/ExportedSymbols.java
branchclosure
changeset 1561 f6200b8decc4
parent 1491 4a1398eff4fb
child 1583 89b6b369c13d
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ExportedSymbols.java	Sat Apr 26 21:30:06 2014 +0200
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ExportedSymbols.java	Tue May 13 11:27:01 2014 +0200
     1.3 @@ -55,8 +55,20 @@
     1.4      }
     1.5  
     1.6      boolean isExported(FieldData fieldData) throws IOException {
     1.7 -        return isAccessible(fieldData.access) && isExported(fieldData.cls)
     1.8 -                   || isMarkedAsExported(fieldData);
     1.9 +        if (
    1.10 +            isAccessible(fieldData.access) && 
    1.11 +            isExported(fieldData.cls) || isMarkedAsExported(fieldData)
    1.12 +        ) {
    1.13 +            return true;
    1.14 +        }
    1.15 +        if (
    1.16 +            fieldData.isStatic() && fieldData.getName().equals("$VALUES") &&
    1.17 +            "java/lang/Enum".equals(fieldData.cls.getSuperClassName())
    1.18 +        ) {
    1.19 +            // enum values need to be exported
    1.20 +            return true;
    1.21 +        }
    1.22 +        return false;
    1.23      }
    1.24  
    1.25      private boolean isMarkedAsExportedPackage(String pkgName) {