@Override public Collection<IField> getDeclaredInstanceFields() { return realType.getDeclaredInstanceFields(); }
@Override public Collection<IField> getDeclaredInstanceFields() { return realType.getDeclaredInstanceFields(); }
@Override public Collection<IField> getAllInstanceFields() { Collection<IField> result = new LinkedList<>(getDeclaredInstanceFields()); IClass s = getSuperclass(); while (s != null) { result.addAll(s.getDeclaredInstanceFields()); s = s.getSuperclass(); } return result; }
@Override public Collection<IField> getAllInstanceFields() { Collection<IField> result = new LinkedList<>(getDeclaredInstanceFields()); IClass s = getSuperclass(); while (s != null) { result.addAll(s.getDeclaredInstanceFields()); s = s.getSuperclass(); } return result; }
public static boolean isAppClass(IClass clazz) { // Normalization: // filter empty dummy classes // possibly related too: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4295934 boolean isEmptyInnerClass = WalaUtils.isInnerClass(clazz) && isAnonymousInnerClass(clazz) && (clazz.getDeclaredMethods().isEmpty() || (clazz.getDeclaredMethods().size() == 1 && clazz.getDeclaredMethods().iterator().next().isClinit()) && clazz.getDeclaredInstanceFields().isEmpty() && clazz.getDeclaredStaticFields().isEmpty() && clazz.getDirectInterfaces().isEmpty()); return clazz.getClassHierarchy().getScope().isApplicationLoader(clazz.getClassLoader()) && !isAndroidResourceClass(clazz) && !isEmptyInnerClass && !clazz.isSynthetic(); }
for (IField f : klass.getDeclaredInstanceFields()) { int tempValue = nextLocal++; SSAGetInstruction G = insts.GetInstruction(statements.size(), tempValue, 1, f.getReference());
for (IField f : klass.getDeclaredInstanceFields()) { int tempValue = nextLocal++; SSAGetInstruction G = insts.GetInstruction(statements.size(), tempValue, 1, f.getReference());
protected void dump(ClassHierarchy cha) { for (Object name : cha) { IClass cls = (IClass) name; System.err.println(("class " + cls)); for (Object name2 : cls.getDeclaredInstanceFields()) { IField fld = (IField) name2; System.err.println(("instance field " + fld)); } for (Object name2 : cls.getDeclaredStaticFields()) { IField fld = (IField) name2; System.err.println(("static field " + fld)); } for (Object name2 : cls.getDeclaredMethods()) { IMethod mth = (IMethod) name2; if (mth.isStatic()) System.err.print("static "); System.err.println(("method " + mth + " with " + mth.getNumberOfParameters() + " parameters")); for (int i = 0; i < mth.getNumberOfParameters(); i++) { System.err.println(("param " + i + ": " + mth.getParameterType(i))); } System.err.println(factory.makeIR(mth, Everywhere.EVERYWHERE, options)); } } }
private boolean allFieldsArePrimitive(IClass c) { if (c.isArrayClass()) { TypeReference t = c.getReference().getArrayElementType(); return t.isPrimitiveType(); } else { if (c.getReference().equals(TypeReference.JavaLangObject)) { return true; } else { for (IField f : c.getDeclaredInstanceFields()) { if (f.getReference().getFieldType().isReferenceType()) { return false; } } return allFieldsArePrimitive(c.getSuperclass()); } } }
private boolean allFieldsArePrimitive(IClass c) { if (c.isArrayClass()) { TypeReference t = c.getReference().getArrayElementType(); return t.isPrimitiveType(); } else { if (c.getReference().equals(TypeReference.JavaLangObject)) { return true; } else { for (IField f : c.getDeclaredInstanceFields()) { if (f.getReference().getFieldType().isReferenceType()) { return false; } } return allFieldsArePrimitive(c.getSuperclass()); } } }
for (Object name2 : cls.getDeclaredInstanceFields()) { IField fld = (IField) name2; Assert.assertTrue(cls.getName() + " has field " + fld.getName(), instanceFields.contains(Pair.make(