Skip to content

Commit c993510

Browse files
committed
make exclusion work with fully qualified class names
1 parent 3ab4d64 commit c993510

File tree

4 files changed

+11
-13
lines changed

4 files changed

+11
-13
lines changed

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/jvm2dts/Converter.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public Converter(TypeMapper typeMapper) {
3838
this.typeMapper = typeMapper;
3939
}
4040

41-
public static String convertName(Class<?> clazz) {
41+
public static String tsName(Class<?> clazz) {
4242
var name = clazz.getName();
4343
name = name.substring(name.lastIndexOf('.') + 1).replace("$", "").replace(";", "");
4444
return name;
@@ -54,7 +54,7 @@ else if (clazz.isEnum())
5454
}
5555

5656
private String convertEnum(Class<?> clazz) {
57-
var output = new StringBuilder("enum ").append(convertName(clazz)).append(" {");
57+
var output = new StringBuilder("enum ").append(tsName(clazz)).append(" {");
5858

5959
try {
6060
var enumConstants = clazz.getEnumConstants();
@@ -74,7 +74,7 @@ private String convertEnum(Class<?> clazz) {
7474
}
7575

7676
private String convertClass(Class<?> clazz) {
77-
var out = new StringBuilder("interface ").append(convertName(clazz)).append(" {");
77+
var out = new StringBuilder("interface ").append(tsName(clazz)).append(" {");
7878
var nonRuntimeAnnotations = new LinkedHashMap<String, List<String>>();
7979

8080
try {
@@ -192,7 +192,7 @@ private boolean processGenericField(StringBuilder typeBuffer, Class<?> fieldType
192192
var type = typeMapper.getSimpleTSType(fieldType);
193193
if (type != null) typeBuffer.append(type);
194194
else {
195-
typeBuffer.append(convertName(fieldType));
195+
typeBuffer.append(tsName(fieldType));
196196
typeBuffer.append("<");
197197
for (int j = 0; j < parameterTypes.length; j++) {
198198
if (j > 0) typeBuffer.append(",");

src/main/java/jvm2dts/Main.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ static class Args {
1919
@Parameter
2020
private List<String> packages = new ArrayList<>();
2121

22-
@Parameter(names = {"-e", "-exclude"}, description = "Excludes classes in the generation matching a Java RegExp pattern")
22+
@Parameter(names = {"-e", "-exclude"}, description = "Excludes classes in the generation with qualified name matching a RegExp")
2323
private String excludeRegex;
2424

2525
@Parameter(names = {"-c", "-cast"}, description = "Comma-separated key=value map to make classnames matching the key into specified value")
@@ -69,13 +69,11 @@ public static void main(String[] args) throws Exception {
6969
Files.walk(basePath)
7070
.filter(Files::isRegularFile)
7171
.filter(path -> path.getFileName().toString().endsWith(".class"))
72-
.filter(path -> {
72+
.map(path -> toClassName(path, basePath))
73+
.filter(className -> {
7374
if (exclude == null) return true;
74-
var fileName = path.getFileName().toString();
75-
var className = fileName.substring(0, fileName.lastIndexOf('.'));
7675
return !className.matches(exclude);
7776
})
78-
.map(path -> toClassName(path, basePath))
7977
.filter(className -> isInPackage(className, packages))
8078
.sorted()
8179
.forEach(className -> processClass(className, converter, parsedArgs.dataOnly, withAnnotations));
@@ -126,4 +124,4 @@ private static boolean isData(Class<?> clazz) {
126124
private static boolean isAnnotated(Class<?> clazz, Set<String> annotations) {
127125
return stream(clazz.getAnnotations()).anyMatch(a -> annotations.contains(a.annotationType().getName()));
128126
}
129-
}
127+
}

src/main/java/jvm2dts/TypeMapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import java.time.zone.ZoneOffsetTransitionRule;
1111
import java.util.*;
1212

13-
import static jvm2dts.Converter.convertName;
13+
import static jvm2dts.Converter.tsName;
1414

1515
public class TypeMapper {
1616
private Map<Class<?>, String> map = new HashMap<>();
@@ -72,6 +72,6 @@ public String getSimpleTSType(Class<?> type) {
7272

7373
public String getTSType(Class<?> type) {
7474
var simple = getSimpleTSType(type);
75-
return simple != null ? simple : convertName(type);
75+
return simple != null ? simple : tsName(type);
7676
}
7777
}

0 commit comments

Comments
 (0)