public void intern(XClass c) { for (XMethod m : c.getXMethods()) { MethodInfo mi = (MethodInfo) m; methods.put(mi, mi); } for (XField f : c.getXFields()) { FieldInfo fi = (FieldInfo) f; fields.put(fi, fi); } }
int numEnumValues(@CheckForNull XClass c) { if (c == null) { return -1; } int total = 0; for(XField f : c.getXFields()) { if (f.isEnum()) { total++; } } return total; }
check(xmethod, desireNoWarning, false, NORMAL_PRIORITY); for (XField xfield : xclass.getXFields()) { if (DEBUG) { System.out.println("CEW: checking " + xfield.toString());
for (XField f : xClass.getXFields()) { if (!f.isStatic()) { if (!f.isFinal() && !f.isSynthetic()) {
List<? extends XField> fields = xClass.getXFields(); for (XField f : fields) { if (f.isStatic()) {
@Override public void visit(Code obj) { sawInitializeSuper = false; super.visit(obj); fieldSummary.setFieldsWritten(getXMethod(), touched); if (Const.CONSTRUCTOR_NAME.equals(getMethodName()) && sawInitializeSuper) { XClass thisClass = getXClass(); for (XField f : thisClass.getXFields()) { if (!f.isStatic() && !f.isFinal() && !touched.contains(f)) { OpcodeStack.Item item; char firstChar = f.getSignature().charAt(0); if (firstChar == 'L' || firstChar == '[') { item = OpcodeStack.Item.nullItem(f.getSignature()); } else if (firstChar == 'I') { item = new OpcodeStack.Item("I", (Integer) 0); } else if (firstChar == 'J') { item = new OpcodeStack.Item("J", 0L); } else { item = new OpcodeStack.Item(f.getSignature()); } fieldSummary.mergeSummary(f, item); } } } touched.clear(); }
for (XField fld : c.getXFields()) { if (!fld.isStatic() && (fld.isPublic() || fld.isProtected())) { fieldName = fld.getName();
for (XField f2 : thisClass.getXFields()) { if (f2 != f && f2.isPrivate() && f2.isSynthetic() && !f2.getName().startsWith("this$") && f2.getName().contains("$")) { for (XField of : outerXClass.getXFields()) { if (!of.isStatic()) { String sourceSignature = of.getSourceSignature();
priority++; } else { for (XField f : c.getXFields()) { if (f.getName().equals(local.getName()) && (f.isStatic() || !getMethod().isStatic())) { bugReporter.reportBug(new BugInstance(this, "SA_LOCAL_SELF_ASSIGNMENT_INSTEAD_OF_FIELD",
@Override public void visitClassContext(ClassContext classContext) { if(!classContext.getJavaClass().isEnum() || !classContext.getJavaClass().isPublic()) { return; } boolean hasInterestingField = false; for(XField field : classContext.getXClass().getXFields()) { if(!field.isStatic() && !field.isFinal() && !field.isSynthetic()) { if(field.isPublic()) { reporter.reportBug(new BugInstance("ME_MUTABLE_ENUM_FIELD", NORMAL_PRIORITY).addClass(classContext.getJavaClass()) .addField(field)); } else { hasInterestingField = true; } } } if(hasInterestingField) { super.visitClassContext(classContext); } }
for (XField f2 : x.getXFields()) { if (!f.equals(f2) && !f2.isStatic() && !f2.isFinal() && !f2.isSynthetic() && f2.getSignature().equals(f.getSignature())) {
public void intern(XClass c) { for (XMethod m : c.getXMethods()) { MethodInfo mi = (MethodInfo) m; methods.put(mi, mi); } for (XField f : c.getXFields()) { FieldInfo fi = (FieldInfo) f; fields.put(fi, fi); } }
int numEnumValues(@CheckForNull XClass c) { if (c == null) { return -1; } int total = 0; String enumSignature = ClassName.toSignature(c.getClassDescriptor().getClassName()); for(XField f : c.getXFields()) { if (f.getSignature().equals(enumSignature) && f.isPublic() && f.isFinal()) { total++; } } return total; }
for (XField f : xClass.getXFields()) { if (!f.isStatic()) { if (!f.isFinal() && !f.isSynthetic()) {
check(xmethod, desireNoWarning, false, NORMAL_PRIORITY); for (XField xfield : xclass.getXFields()) { if (DEBUG) { System.out.println("CEW: checking " + xfield.toString());
List<? extends XField> fields = xClass.getXFields(); for (XField f : fields) { if (f.isStatic()) {
@Override public void visit(Code obj) { sawInitializeSuper = false; super.visit(obj); fieldSummary.setFieldsWritten(getXMethod(), touched); if ("<init>".equals(getMethodName()) && sawInitializeSuper) { XClass thisClass = getXClass(); for (XField f : thisClass.getXFields()) { if (!f.isStatic() && !f.isFinal() && !touched.contains(f)) { OpcodeStack.Item item; char firstChar = f.getSignature().charAt(0); if (firstChar == 'L' || firstChar == '[') { item = OpcodeStack.Item.nullItem(f.getSignature()); } else if (firstChar == 'I') { item = new OpcodeStack.Item("I", (Integer) 0); } else if (firstChar == 'J') { item = new OpcodeStack.Item("J", 0L); } else { item = new OpcodeStack.Item(f.getSignature()); } fieldSummary.mergeSummary(f, item); } } } touched.clear(); }
for (XField fld : c.getXFields()) { if (!fld.isStatic() && (fld.isPublic() || fld.isProtected())) { fieldName = fld.getName();
priority++; } else { for (XField f : c.getXFields()) { if (f.getName().equals(local.getName()) && (f.isStatic() || !getMethod().isStatic())) { bugReporter.reportBug(new BugInstance(this, "SA_LOCAL_SELF_ASSIGNMENT_INSTEAD_OF_FIELD",
@Override public void visitClassContext(ClassContext classContext) { if(!classContext.getJavaClass().isEnum() || !classContext.getJavaClass().isPublic()) { return; } boolean hasInterestingField = false; for(XField field : classContext.getXClass().getXFields()) { if(!field.isStatic() && !field.isFinal() && !field.isSynthetic()) { if(field.isPublic()) { reporter.reportBug(new BugInstance("ME_MUTABLE_ENUM_FIELD", NORMAL_PRIORITY).addClass(classContext.getJavaClass()) .addField(field)); } else { hasInterestingField = true; } } } if(hasInterestingField) { super.visitClassContext(classContext); } }