@@ -58,8 +58,12 @@ public String generateDtsContent(List<JavaClass> javaClasses) {
58
58
JavaClass superClass = getSuperClass (currClass );
59
59
String extendsLine = getExtendsLine (superClass );
60
60
61
- sbContent .appendln (tabs + "export class " + getSimpleClassname (currClass ) + extendsLine + " {" );
62
-
61
+ if (getSimpleClassname (currClass ).equals ("AccessibilityDelegate" )) {
62
+ sbContent .appendln (tabs + "export class " + getFullClassNameConcatenated (currClass ) + extendsLine + " {" );
63
+ }
64
+ else {
65
+ sbContent .appendln (tabs + "export class " + getSimpleClassname (currClass ) + extendsLine + " {" );
66
+ }
63
67
// process member scope
64
68
List <FieldOrMethod > foms = getMembers (currClass );
65
69
for (FieldOrMethod fom : foms ) {
@@ -76,6 +80,10 @@ else if(fom instanceof Method) {
76
80
// process member scope end
77
81
78
82
sbContent .appendln (tabs + "}" );
83
+ if (getSimpleClassname (currClass ).equals ("AccessibilityDelegate" )) {
84
+ String innerClassAlias = "export type " + getSimpleClassname (currClass ) + " = " + getFullClassNameConcatenated (currClass );
85
+ sbContent .appendln (tabs + innerClassAlias );
86
+ }
79
87
this .prevClass = currClass ;
80
88
}
81
89
closePackage (prevClass , null );
@@ -98,7 +106,8 @@ private String getExtendsLine(JavaClass superClass) {
98
106
if (superClass == null ) {
99
107
return "" ;
100
108
}
101
- return " exports " + superClass .getClassName ();
109
+
110
+ return " extends " + superClass .getClassName ().replaceAll ("\\ $" , "\\ ." );
102
111
}
103
112
104
113
private int closePackage (JavaClass prevClass , JavaClass currClass ) {
@@ -254,7 +263,8 @@ private void loadBaseMethods(JavaClass clazz) {
254
263
255
264
if (currClass != null ) {
256
265
//get all base methods and method names
257
- while (true ) {
266
+ while (true && currClass != null ) {
267
+
258
268
for (Method m : currClass .getMethods ()) {
259
269
if (!m .isSynthetic () && (m .isPublic () || m .isProtected ())) {
260
270
baseMethods .add (m );
@@ -471,6 +481,11 @@ private String getSimpleClassname(JavaClass javaClass) {
471
481
return parts [parts .length - 1 ];
472
482
}
473
483
484
+ private String getFullClassNameConcatenated (JavaClass javaClass ) {
485
+ String fullName = javaClass .getClassName ().replaceAll ("[$.]" , "" );
486
+ return fullName ;
487
+ }
488
+
474
489
private String getTabs (int count ) {
475
490
String tabs = new String (new char [count ]).replace ("\0 " , "\t " );
476
491
return tabs ;
0 commit comments