Skip to content

Commit a007089

Browse files
authored
Don't add property info if getter/setter signature is null (#1543)
1 parent 5382c0e commit a007089

File tree

1 file changed

+16
-11
lines changed
  • test-app/build-tools/android-metadata-generator/src/src/com/telerik/metadata

1 file changed

+16
-11
lines changed

test-app/build-tools/android-metadata-generator/src/src/com/telerik/metadata/Builder.java

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@
22

33
import com.telerik.metadata.TreeNode.FieldInfo;
44
import com.telerik.metadata.TreeNode.MethodInfo;
5-
import com.telerik.metadata.parsing.classes.bytecode.JarFile;
5+
import com.telerik.metadata.parsing.ClassParser;
6+
import com.telerik.metadata.parsing.classes.MetadataInfoAnnotationDescriptor;
67
import com.telerik.metadata.parsing.classes.NativeClassDescriptor;
78
import com.telerik.metadata.parsing.classes.NativeFieldDescriptor;
8-
import com.telerik.metadata.parsing.classes.MetadataInfoAnnotationDescriptor;
99
import com.telerik.metadata.parsing.classes.NativeMethodDescriptor;
10-
import com.telerik.metadata.parsing.classes.kotlin.extensions.KotlinExtensionFunctionDescriptor;
11-
import com.telerik.metadata.parsing.classes.kotlin.properties.KotlinPropertyDescriptor;
1210
import com.telerik.metadata.parsing.classes.NativeTypeDescriptor;
13-
import com.telerik.metadata.parsing.classes.kotlin.metadata.ClassMetadataParser;
14-
import com.telerik.metadata.parsing.classes.kotlin.metadata.bytecode.BytecodeClassMetadataParser;
11+
import com.telerik.metadata.parsing.classes.bytecode.JarFile;
1512
import com.telerik.metadata.parsing.classes.kotlin.extensions.ClassNameAndFunctionPair;
1613
import com.telerik.metadata.parsing.classes.kotlin.extensions.ExtensionFunctionsCollector;
17-
import com.telerik.metadata.storage.functions.FunctionsStorage;
14+
import com.telerik.metadata.parsing.classes.kotlin.extensions.KotlinExtensionFunctionDescriptor;
1815
import com.telerik.metadata.parsing.classes.kotlin.extensions.bytecode.BytecodeExtensionFunctionsCollector;
16+
import com.telerik.metadata.parsing.classes.kotlin.metadata.ClassMetadataParser;
17+
import com.telerik.metadata.parsing.classes.kotlin.metadata.bytecode.BytecodeClassMetadataParser;
18+
import com.telerik.metadata.parsing.classes.kotlin.properties.KotlinPropertyDescriptor;
19+
import com.telerik.metadata.storage.functions.FunctionsStorage;
1920
import com.telerik.metadata.storage.functions.extensions.ExtensionFunctionsStorage;
20-
import com.telerik.metadata.parsing.ClassParser;
2121

2222
import java.io.File;
2323
import java.lang.reflect.Array;
@@ -90,7 +90,7 @@ static TreeNode build(List<String> paths) throws Exception {
9090
if (clazz == null) {
9191
throw new ClassNotFoundException("Class " + className + " not found in the input android libraries.");
9292
} else {
93-
if(clazz.getClassName().contains("SomePublicClass")){
93+
if (clazz.getClassName().contains("SomePublicClass")) {
9494
System.out.println("asd");
9595
}
9696
generate(clazz, root);
@@ -258,12 +258,14 @@ private static void setPropertiesInfo(TreeNode root, TreeNode node, KotlinProper
258258

259259
NativeMethodDescriptor getterMethod = propertyDescriptor.getGetterMethod();
260260
NativeMethodDescriptor setterMethod = propertyDescriptor.getSetterMethod();
261+
boolean shouldAddProperty = true;
261262

262263
MethodInfo getterMethodInfo = null;
263264
if (getterMethod != null) {
264265
getterMethodInfo = new MethodInfo(getterMethod);
265266
getterMethodInfo.isResolved = true;
266267
getterMethodInfo.signature = getMethodSignature(root, getterMethod.getReturnType(), getterMethod.getArgumentTypes());
268+
shouldAddProperty = getterMethodInfo.signature != null;
267269
}
268270

269271

@@ -272,10 +274,13 @@ private static void setPropertiesInfo(TreeNode root, TreeNode node, KotlinProper
272274
setterMethodInfo = new MethodInfo(setterMethod);
273275
setterMethodInfo.isResolved = true;
274276
setterMethodInfo.signature = getMethodSignature(root, setterMethod.getReturnType(), setterMethod.getArgumentTypes());
277+
shouldAddProperty = setterMethodInfo.signature != null;
275278
}
276279

277-
TreeNode.PropertyInfo propertyInfo = new TreeNode.PropertyInfo(propertyName, getterMethodInfo, setterMethodInfo);
278-
node.addProperty(propertyInfo);
280+
if (shouldAddProperty) {
281+
TreeNode.PropertyInfo propertyInfo = new TreeNode.PropertyInfo(propertyName, getterMethodInfo, setterMethodInfo);
282+
node.addProperty(propertyInfo);
283+
}
279284
}
280285

281286
}

0 commit comments

Comments
 (0)