[jnigen] remove simpleName and packageName (https://github.com/dart-lang/jnigen/issues/294)
diff --git a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotatedElementVisitor.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotatedElementVisitor.java index ca39167..0a723b3 100644 --- a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotatedElementVisitor.java +++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotatedElementVisitor.java
@@ -17,7 +17,6 @@ var annotation = new JavaAnnotation(); var aType = Type.getType(descriptor); annotation.binaryName = aType.getClassName(); - annotation.simpleName = TypeUtils.simpleName(aType); addAnnotation(annotation); return new AsmAnnotationVisitor(annotation); }
diff --git a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotationVisitor.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotationVisitor.java index 9f6d5e2..1323a45 100644 --- a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotationVisitor.java +++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotationVisitor.java
@@ -35,7 +35,6 @@ var type = Type.getType(descriptor); var nested = new JavaAnnotation(); nested.binaryName = type.getClassName(); - nested.simpleName = TypeUtils.simpleName(type); annotation.properties.put(name, nested); return new AsmAnnotationVisitor(nested); } @@ -71,7 +70,6 @@ var type = Type.getType(descriptor); var nested = new JavaAnnotation(); nested.binaryName = type.getClassName(); - nested.simpleName = TypeUtils.simpleName(type); list.add(nested); return new AsmAnnotationVisitor(nested); }
diff --git a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmClassVisitor.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmClassVisitor.java index f542fe8..061f3b4 100644 --- a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmClassVisitor.java +++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmClassVisitor.java
@@ -48,9 +48,7 @@ current.binaryName = type.getClassName(); current.modifiers = TypeUtils.access(access); current.parentName = TypeUtils.parentName(type); - current.packageName = TypeUtils.packageName(type); current.declKind = TypeUtils.declKind(access); - current.simpleName = TypeUtils.simpleName(type); current.superclass = TypeUtils.typeUsage(Type.getObjectType(superName), null); current.interfaces = StreamUtil.map(interfaces, i -> TypeUtils.typeUsage(Type.getObjectType(i), null));
diff --git a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/TypeUtils.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/TypeUtils.java index 70b075a..7cb6f1e 100644 --- a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/TypeUtils.java +++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/TypeUtils.java
@@ -23,15 +23,6 @@ return type.getClassName().split("\\$")[0]; } - public static String packageName(Type type) { - var className = type.getClassName(); - var last = className.lastIndexOf("."); - if (last != -1) { - return className.substring(0, last); - } - return null; - } - public static String simpleName(Type type) { var internalName = type.getInternalName(); if (type.getInternalName().length() == 1) {
diff --git a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/ElementBuilders.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/ElementBuilders.java index d128815..d0f2301 100644 --- a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/ElementBuilders.java +++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/ElementBuilders.java
@@ -22,7 +22,6 @@ private void fillInFromTypeElement(TypeElement e, ClassDecl c) { c.modifiers = e.getModifiers().stream().map(Modifier::toString).collect(Collectors.toSet()); - c.simpleName = e.getSimpleName().toString(); c.binaryName = env.elements.getBinaryName(e).toString(); switch (e.getKind()) { case INTERFACE: @@ -45,7 +44,6 @@ if (parent instanceof TypeElement) { c.parentName = env.elements.getBinaryName((TypeElement) parent).toString(); } - c.packageName = env.elements.getPackageOf(e).getQualifiedName().toString(); c.javadoc = docComment(env.trees.getDocCommentTree(e)); c.typeParams = StreamUtil.map(e.getTypeParameters(), this::typeParam); var superclass = e.getSuperclass(); @@ -82,7 +80,6 @@ var annotation = new JavaAnnotation(); var type = mirror.getAnnotationType(); var typeElement = (TypeElement) (env.types.asElement(type)); - annotation.simpleName = typeElement.getSimpleName().toString(); annotation.binaryName = env.elements.getBinaryName(typeElement).toString(); var values = env.elements.getElementValuesWithDefaults(mirror); if (values.isEmpty()) {
diff --git a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/ClassDecl.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/ClassDecl.java index 42e069e..e439ab9 100644 --- a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/ClassDecl.java +++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/ClassDecl.java
@@ -21,9 +21,6 @@ /** Modifiers eg: static, public and abstract. */ public Set<String> modifiers; - /** Unqualified name of the class. For example `ClassDecl` */ - public String simpleName; - /** * Unique, fully qualified name of the class, it's like a qualified name used in a program but * uses $ instead of dot (.) before nested classes. @@ -31,7 +28,6 @@ public String binaryName; public String parentName; - public String packageName; public List<TypeParam> typeParams = new ArrayList<>(); public List<Method> methods = new ArrayList<>(); public List<Field> fields = new ArrayList<>();
diff --git a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/JavaAnnotation.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/JavaAnnotation.java index 89460bc..c463cba 100644 --- a/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/JavaAnnotation.java +++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/JavaAnnotation.java
@@ -8,7 +8,6 @@ import java.util.Map; public class JavaAnnotation { - public String simpleName; public String binaryName; public Map<String, Object> properties = new HashMap<>();
diff --git a/pkgs/jnigen/lib/src/bindings/c_generator.dart b/pkgs/jnigen/lib/src/bindings/c_generator.dart index ee30572..7ca6ef1 100644 --- a/pkgs/jnigen/lib/src/bindings/c_generator.dart +++ b/pkgs/jnigen/lib/src/bindings/c_generator.dart
@@ -262,7 +262,6 @@ if (node.isCtor) { javaReturnType = DeclaredType( binaryName: node.classDecl.binaryName, - simpleName: node.classDecl.simpleName, ); } final callType = node.returnType.accept(const _CTypeCallSite());
diff --git a/pkgs/jnigen/lib/src/bindings/linker.dart b/pkgs/jnigen/lib/src/bindings/linker.dart index 74c14e7..cdddaf5 100644 --- a/pkgs/jnigen/lib/src/bindings/linker.dart +++ b/pkgs/jnigen/lib/src/bindings/linker.dart
@@ -148,7 +148,7 @@ if (config.suspendFunToAsync && node.params.isNotEmpty && node.params.last.type.kind == Kind.declared && - node.params.last.type.shorthand == kotlinContinutationType) { + node.params.last.type.name == kotlinContinutationType) { final continuationType = node.params.last.type.type as DeclaredType; node.asyncReturnType = continuationType.params.isEmpty ? TypeUsage.object
diff --git a/pkgs/jnigen/lib/src/config/config_types.dart b/pkgs/jnigen/lib/src/config/config_types.dart index 2c659a0..63a418c 100644 --- a/pkgs/jnigen/lib/src/config/config_types.dart +++ b/pkgs/jnigen/lib/src/config/config_types.dart
@@ -395,8 +395,6 @@ ); } final classDecl = ClassDecl( - simpleName: binaryName.split('.').last, - packageName: (binaryName.split('.')..removeLast()).join('.'), binaryName: binaryName, ) ..path = '$importPath/$filePath' @@ -423,14 +421,15 @@ : Kind.typeVariable; final ReferredType type; if (boundKind == Kind.declared) { - type = - DeclaredType(binaryName: boundName, simpleName: boundName); + type = DeclaredType(binaryName: boundName); } else { type = TypeVar(name: boundName); } return TypeUsage( - shorthand: boundName, kind: boundKind, typeJson: {}) - ..type = type; + shorthand: binaryName, + kind: boundKind, + typeJson: {}, + )..type = type; }).toList(); classDecl.allTypeParams.add( TypeParam(name: typeParamName, bounds: bounds),
diff --git a/pkgs/jnigen/lib/src/elements/elements.dart b/pkgs/jnigen/lib/src/elements/elements.dart index 347c818..15f2f45 100644 --- a/pkgs/jnigen/lib/src/elements/elements.dart +++ b/pkgs/jnigen/lib/src/elements/elements.dart
@@ -58,9 +58,7 @@ this.annotations = const [], this.javadoc, this.modifiers = const {}, - required this.simpleName, required this.binaryName, - this.packageName = '', this.parentName, this.typeParams = const [], this.methods = const [], @@ -77,10 +75,8 @@ final List<Annotation> annotations; final JavaDocComment? javadoc; - final String simpleName; final String binaryName; final String? parentName; - final String packageName; List<TypeParam> typeParams; List<Method> methods; List<Field> fields; @@ -97,6 +93,8 @@ String get internalName => binaryName.replaceAll(".", "/"); + String get packageName => (binaryName.split('.')..removeLast()).join('.'); + /// The number of super classes this type has. /// /// Populated by [Linker]. @@ -195,9 +193,8 @@ }); static TypeUsage object = TypeUsage( - kind: Kind.declared, shorthand: 'JObject', typeJson: {}) - ..type = - (DeclaredType(binaryName: 'java.lang.Object', simpleName: 'Object')); + kind: Kind.declared, shorthand: 'java.lang.Object', typeJson: {}) + ..type = DeclaredType(binaryName: 'java.lang.Object'); final String shorthand; final Kind kind; @@ -356,12 +353,10 @@ class DeclaredType extends ReferredType { DeclaredType({ required this.binaryName, - required this.simpleName, this.params = const [], }); final String binaryName; - final String simpleName; final List<TypeUsage> params; @JsonKey(includeFromJson: false) @@ -608,12 +603,10 @@ @JsonSerializable(createToJson: false) class Annotation implements Element<Annotation> { Annotation({ - required this.simpleName, required this.binaryName, this.properties = const {}, }); - final String simpleName; final String binaryName; final Map<String, Object> properties;
diff --git a/pkgs/jnigen/lib/src/elements/elements.g.dart b/pkgs/jnigen/lib/src/elements/elements.g.dart index 2f09913..20ce98c 100644 --- a/pkgs/jnigen/lib/src/elements/elements.g.dart +++ b/pkgs/jnigen/lib/src/elements/elements.g.dart
@@ -18,9 +18,7 @@ ?.map((e) => e as String) .toSet() ?? const {}, - simpleName: json['simpleName'] as String, binaryName: json['binaryName'] as String, - packageName: json['packageName'] as String? ?? '', parentName: json['parentName'] as String?, typeParams: (json['typeParams'] as List<dynamic>?) ?.map((e) => TypeParam.fromJson(e as Map<String, dynamic>)) @@ -63,7 +61,6 @@ DeclaredType _$DeclaredTypeFromJson(Map<String, dynamic> json) => DeclaredType( binaryName: json['binaryName'] as String, - simpleName: json['simpleName'] as String, params: (json['params'] as List<dynamic>?) ?.map((e) => TypeUsage.fromJson(e as Map<String, dynamic>)) .toList() ?? @@ -155,7 +152,6 @@ ); Annotation _$AnnotationFromJson(Map<String, dynamic> json) => Annotation( - simpleName: json['simpleName'] as String, binaryName: json['binaryName'] as String, properties: (json['properties'] as Map<String, dynamic>?)?.map( (k, e) => MapEntry(k, e as Object),
diff --git a/pkgs/jnigen/test/package_resolver_test.dart b/pkgs/jnigen/test/package_resolver_test.dart index 2f3a2ea..8053b5a 100644 --- a/pkgs/jnigen/test/package_resolver_test.dart +++ b/pkgs/jnigen/test/package_resolver_test.dart
@@ -21,11 +21,9 @@ importedClasses: { 'org.apache.pdfbox.pdmodel.PDDocument': ClassDecl( binaryName: 'org.apache.pdfbox.pdmodel.PDDocument', - simpleName: 'PDDocument', )..path = 'package:pdfbox/pdfbox.dart', 'android.os.Process': ClassDecl( binaryName: 'android.os.Process', - simpleName: 'Process', )..path = 'package:android/os.dart', }, currentClass: 'a.b.N', @@ -72,8 +70,8 @@ test( 'resolve $binaryName', () => expect( - resolver.resolvePrefix( - ClassDecl(binaryName: binaryName, simpleName: '')..path = ''), + resolver + .resolvePrefix(ClassDecl(binaryName: binaryName)..path = ''), equals(testCase.expectedName))); } }