private static FieldRef[] getFieldRefs(DexData dexData, Filter filter) { FieldRef[] fieldRefs = dexData.getFieldRefs(); // out.println("Read in " + fieldRefs.length + " field IDs from " + dexData.getDexFileName() + "."); if (filter == Filter.ALL) { return fieldRefs; } ClassRef[] externalClassRefs = dexData.getExternalReferences(); //out.println("Read in " + externalClassRefs.length + " external class references."); Set<FieldRef> externalFieldRefs = new HashSet<FieldRef>(); for (ClassRef classRef : externalClassRefs) { Collections.addAll(externalFieldRefs, classRef.getFieldArray()); } //out.println("Read in " + externalFieldRefs.size() + " external field references."); List<FieldRef> filteredFieldRefs = new ArrayList<FieldRef>(); for (FieldRef FieldRef : fieldRefs) { boolean isExternal = externalFieldRefs.contains(FieldRef); if ((filter == Filter.DEFINED_ONLY && !isExternal) || (filter == Filter.REFERENCED_ONLY && isExternal)) { filteredFieldRefs.add(FieldRef); } } //out.println("Filtered to " + filteredFieldRefs.size() + " " + // (filter == Filter.DEFINED_ONLY ? "defined" : "referenced") + " field IDs."); return filteredFieldRefs.toArray(new FieldRef[filteredFieldRefs.size()]); }
/** * Prints the externally-visible fields in XML format. */ private static void printXmlFields(ClassRef cref) { FieldRef[] fields = cref.getFieldArray(); for (int i = 0; i < fields.length; i++) { FieldRef fref = fields[i]; out.println(IN3 + "<field name=\"" + fref.getName() + "\" type=\"" + descriptorToDot(fref.getTypeName()) + "\"/>"); } }
/** * Prints the externally-visible fields in XML format. */ private static void printXmlFields(ClassRef cref) { FieldRef[] fields = cref.getFieldArray(); for (int i = 0; i < fields.length; i++) { FieldRef fref = fields[i]; out.println(IN3 + "<field name=\"" + fref.getName() + "\" type=\"" + descriptorToDot(fref.getTypeName()) + "\"/>"); } }
/** * Prints the externally-visible fields in XML format. */ private static void printXmlFields(ClassRef cref) { FieldRef[] fields = cref.getFieldArray(); for (int i = 0; i < fields.length; i++) { FieldRef fref = fields[i]; out.println(IN3 + "<field name=\"" + fref.getName() + "\" type=\"" + descriptorToDot(fref.getTypeName()) + "\"/>"); } }
/** * Prints the externally-visible fields in XML format. */ private static void printXmlFields(ClassRef cref) { FieldRef[] fields = cref.getFieldArray(); for (int i = 0; i < fields.length; i++) { FieldRef fref = fields[i]; out.println(IN3 + "<field name=\"" + fref.getName() + "\" type=\"" + descriptorToDot(fref.getTypeName()) + "\"/>"); } }
/** * Prints the externally-visible fields in XML format. */ private static void printXmlFields(ClassRef cref) { FieldRef[] fields = cref.getFieldArray(); for (int i = 0; i < fields.length; i++) { FieldRef fref = fields[i]; out.println(IN3 + "<field name=\"" + fref.getName() + "\" type=\"" + descriptorToDot(fref.getTypeName()) + "\"/>"); } }
Collections.addAll(externalFieldRefs, classRef.getFieldArray());
/** * Prints the list of fields in a simple human-readable format. */ static void printFieldRefs(ClassRef[] classes) { out.println("\nFields:"); for (int i = 0; i < classes.length; i++) { FieldRef[] fields = classes[i].getFieldArray(); for (int j = 0; j < fields.length; j++) { FieldRef ref = fields[j]; out.println(descriptorToDot(ref.getDeclClassName()) + "." + ref.getName() + " : " + ref.getTypeName()); } } }
/** * Prints the list of fields in a simple human-readable format. */ static void printFieldRefs(ClassRef[] classes) { out.println("\nFields:"); for (int i = 0; i < classes.length; i++) { FieldRef[] fields = classes[i].getFieldArray(); for (int j = 0; j < fields.length; j++) { FieldRef ref = fields[j]; out.println(descriptorToDot(ref.getDeclClassName()) + "." + ref.getName() + " : " + ref.getTypeName()); } } }
/** * Prints the list of fields in a simple human-readable format. */ static void printFieldRefs(ClassRef[] classes) { out.println("\nFields:"); for (int i = 0; i < classes.length; i++) { FieldRef[] fields = classes[i].getFieldArray(); for (int j = 0; j < fields.length; j++) { FieldRef ref = fields[j]; out.println(descriptorToDot(ref.getDeclClassName()) + "." + ref.getName() + " : " + ref.getTypeName()); } } }
/** * Prints the list of fields in a simple human-readable format. */ static void printFieldRefs(ClassRef[] classes) { out.println("\nFields:"); for (int i = 0; i < classes.length; i++) { FieldRef[] fields = classes[i].getFieldArray(); for (int j = 0; j < fields.length; j++) { FieldRef ref = fields[j]; out.println(descriptorToDot(ref.getDeclClassName()) + "." + ref.getName() + " : " + ref.getTypeName()); } } }
/** * Prints the list of fields in a simple human-readable format. */ static void printFieldRefs(ClassRef[] classes) { out.println("\nFields:"); for (int i = 0; i < classes.length; i++) { FieldRef[] fields = classes[i].getFieldArray(); for (int j = 0; j < fields.length; j++) { FieldRef ref = fields[j]; out.println(descriptorToDot(ref.getDeclClassName()) + "." + ref.getName() + " : " + ref.getTypeName()); } } }