diff --git a/core/src/main/java/org/bsc/java2typescript/TypescriptConverter.java b/core/src/main/java/org/bsc/java2typescript/TypescriptConverter.java index f5e666f..044effe 100644 --- a/core/src/main/java/org/bsc/java2typescript/TypescriptConverter.java +++ b/core/src/main/java/org/bsc/java2typescript/TypescriptConverter.java @@ -765,8 +765,17 @@ Context getClassDecl() { Context processEnumDecl() { if (type.getValue().isEnum()) { type.setExport(true); // force export - Arrays.stream(type.getValue().getEnumConstants()).forEach((c) -> sb.append('\t').append("// ") - .append(c.toString()).append(':').append(type.getSimpleTypeName()).append(';').append('\n')); + // fix #4 + //Arrays.stream(type.getValue().getEnumConstants()) + Arrays.stream(type.getValue().getFields()) + .filter( f -> f.isEnumConstant() ) + .forEach((c) -> sb.append('\t') + .append("// ") + .append(c.getName()) + .append(':') + .append(type.getSimpleTypeName()) + .append(';') + .append('\n')); sb.append('\n'); } @@ -811,8 +820,16 @@ Context processMemberClasses(int level) { private Context processEnumType() { if (type.getValue().isEnum()) { - Arrays.stream(type.getValue().getEnumConstants()).forEach((c) -> sb.append('\t').append(c.toString()) - .append(':').append(type.getTypeName()).append(';').append('\n')); + // fix #4 + //Arrays.stream(type.getValue().getEnumConstants()) + Arrays.stream(type.getValue().getFields()) + .filter( f -> f.isEnumConstant() ) + .forEach((c) -> sb.append('\t') + .append(c.getName()) + .append(':') + .append(type.getTypeName()) + .append(';') + .append('\n')); sb.append('\n'); } diff --git a/sample/src/main/java/org/bsc/java2ts/jdk8/package-info.java b/sample/src/main/java/org/bsc/java2ts/jdk8/package-info.java index f5b0886..cec4094 100644 --- a/sample/src/main/java/org/bsc/java2ts/jdk8/package-info.java +++ b/sample/src/main/java/org/bsc/java2ts/jdk8/package-info.java @@ -19,6 +19,8 @@ @Type(java.net.URL.class), @Type(value=java.util.concurrent.Callable.class, alias="Callable"), + //@Type(value=java.util.concurrent.ConcurrentHashMap.class, export=true), + @Type(value=java.lang.management.MemoryType.class, export=true), // Member Classes @Type(value=java.util.Map.Entry.class), diff --git a/sample/src/main/ts/main.ts b/sample/src/main/ts/main.ts index 80fd302..eb6edaa 100644 --- a/sample/src/main/ts/main.ts +++ b/sample/src/main/ts/main.ts @@ -2,7 +2,13 @@ import * as colors from "colors/safe"; import mustache = require("mustache"); -import {Stream, URI, Arrays, Optional} from "ts/jdk8-types"; +import { + Stream, + URI, + Arrays, + Optional, + MemoryType, +} from "ts/jdk8-types"; let b = "hello jjs"; @@ -48,3 +54,11 @@ print( uri.resolve( u3 ).toString() ); print( Optional.empty().map( e => "element: " + e).orElse("nil") ); print( Optional.of("HELLO").map( e => "element: " + e).orElse("nil") ); + + +// TEST ENUM + +print(MemoryType.HEAP); +print(MemoryType.HEAP.name()); +print(MemoryType.HEAP.ordinal()); +