From 60a72acdfbf10d2ae3ee62a509c06bb5ccc5959f Mon Sep 17 00:00:00 2001 From: vmutafov Date: Tue, 26 Nov 2019 15:32:45 +0200 Subject: [PATCH] Don't add property info if getter/setter signature is null --- .../src/src/com/telerik/metadata/Builder.java | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/test-app/build-tools/android-metadata-generator/src/src/com/telerik/metadata/Builder.java b/test-app/build-tools/android-metadata-generator/src/src/com/telerik/metadata/Builder.java index b585e3303..1487750b9 100644 --- a/test-app/build-tools/android-metadata-generator/src/src/com/telerik/metadata/Builder.java +++ b/test-app/build-tools/android-metadata-generator/src/src/com/telerik/metadata/Builder.java @@ -2,22 +2,22 @@ import com.telerik.metadata.TreeNode.FieldInfo; import com.telerik.metadata.TreeNode.MethodInfo; -import com.telerik.metadata.parsing.classes.bytecode.JarFile; +import com.telerik.metadata.parsing.ClassParser; +import com.telerik.metadata.parsing.classes.MetadataInfoAnnotationDescriptor; import com.telerik.metadata.parsing.classes.NativeClassDescriptor; import com.telerik.metadata.parsing.classes.NativeFieldDescriptor; -import com.telerik.metadata.parsing.classes.MetadataInfoAnnotationDescriptor; import com.telerik.metadata.parsing.classes.NativeMethodDescriptor; -import com.telerik.metadata.parsing.classes.kotlin.extensions.KotlinExtensionFunctionDescriptor; -import com.telerik.metadata.parsing.classes.kotlin.properties.KotlinPropertyDescriptor; import com.telerik.metadata.parsing.classes.NativeTypeDescriptor; -import com.telerik.metadata.parsing.classes.kotlin.metadata.ClassMetadataParser; -import com.telerik.metadata.parsing.classes.kotlin.metadata.bytecode.BytecodeClassMetadataParser; +import com.telerik.metadata.parsing.classes.bytecode.JarFile; import com.telerik.metadata.parsing.classes.kotlin.extensions.ClassNameAndFunctionPair; import com.telerik.metadata.parsing.classes.kotlin.extensions.ExtensionFunctionsCollector; -import com.telerik.metadata.storage.functions.FunctionsStorage; +import com.telerik.metadata.parsing.classes.kotlin.extensions.KotlinExtensionFunctionDescriptor; import com.telerik.metadata.parsing.classes.kotlin.extensions.bytecode.BytecodeExtensionFunctionsCollector; +import com.telerik.metadata.parsing.classes.kotlin.metadata.ClassMetadataParser; +import com.telerik.metadata.parsing.classes.kotlin.metadata.bytecode.BytecodeClassMetadataParser; +import com.telerik.metadata.parsing.classes.kotlin.properties.KotlinPropertyDescriptor; +import com.telerik.metadata.storage.functions.FunctionsStorage; import com.telerik.metadata.storage.functions.extensions.ExtensionFunctionsStorage; -import com.telerik.metadata.parsing.ClassParser; import java.io.File; import java.lang.reflect.Array; @@ -90,7 +90,7 @@ static TreeNode build(List paths) throws Exception { if (clazz == null) { throw new ClassNotFoundException("Class " + className + " not found in the input android libraries."); } else { - if(clazz.getClassName().contains("SomePublicClass")){ + if (clazz.getClassName().contains("SomePublicClass")) { System.out.println("asd"); } generate(clazz, root); @@ -258,12 +258,14 @@ private static void setPropertiesInfo(TreeNode root, TreeNode node, KotlinProper NativeMethodDescriptor getterMethod = propertyDescriptor.getGetterMethod(); NativeMethodDescriptor setterMethod = propertyDescriptor.getSetterMethod(); + boolean shouldAddProperty = true; MethodInfo getterMethodInfo = null; if (getterMethod != null) { getterMethodInfo = new MethodInfo(getterMethod); getterMethodInfo.isResolved = true; getterMethodInfo.signature = getMethodSignature(root, getterMethod.getReturnType(), getterMethod.getArgumentTypes()); + shouldAddProperty = getterMethodInfo.signature != null; } @@ -272,10 +274,13 @@ private static void setPropertiesInfo(TreeNode root, TreeNode node, KotlinProper setterMethodInfo = new MethodInfo(setterMethod); setterMethodInfo.isResolved = true; setterMethodInfo.signature = getMethodSignature(root, setterMethod.getReturnType(), setterMethod.getArgumentTypes()); + shouldAddProperty = setterMethodInfo.signature != null; } - TreeNode.PropertyInfo propertyInfo = new TreeNode.PropertyInfo(propertyName, getterMethodInfo, setterMethodInfo); - node.addProperty(propertyInfo); + if (shouldAddProperty) { + TreeNode.PropertyInfo propertyInfo = new TreeNode.PropertyInfo(propertyName, getterMethodInfo, setterMethodInfo); + node.addProperty(propertyInfo); + } } }