private static @CheckForNull String getSignatureOfOuterClass(JavaClass obj) { for (Field f : obj.getFields()) { if (f.getName().startsWith("this$")) { return f.getSignature(); } } return null; }
@Override public void visit(Field obj) { super.visit(obj); XField f = XFactory.createXField(this); data.allMyFields.add(f); String signature = obj.getSignature(); if (!"serialVersionUID".equals(getFieldName())) { data.myFields.add(f); if ("_jspx_dependants".equals(obj.getName())) { data.containerFields.add(f); } } if (isSeleniumWebElement(signature)) { data.containerFields.add(f); } }
/** * @param obj * the field to parse * @return a descriptor for the field */ protected FieldDescriptor parseField(Field obj) { return new FieldDescriptor(slashedClassName, obj.getName(), obj.getSignature(), obj.isStatic()); }
@Override public void visit(Field field) { if (!field.isStatic()) { return; } String signature = field.getSignature(); if (signature.startsWith("Ljava/util/") && !"Ljava/util/regex/Pattern;".equals(signature) && !"Ljava/util/logging/Logger;".equals(signature) && !"Ljava/util/BitSet;".equals(signature) && !"Ljava/util/ResourceBundle;".equals(signature) && !"Ljava/util/Comparator;".equals(signature) && getXField().getAnnotation(ConstantAnnotation) == null) { boolean flagged = analysisContextContained(getXClass()); bugReporter.reportBug(new BugInstance(this, "TESTING", flagged ? NORMAL_PRIORITY : LOW_PRIORITY).addClass(this).addField(this).addType(signature)); } } @Override
/** * Factory method. Construct from class name and BCEL Field object. * * @param className * the name of the class which defines the field * @param field * the BCEL Field object * @return the FieldAnnotation */ public static FieldAnnotation fromBCELField(@DottedClassName String className, Field field) { return new FieldAnnotation(className, field.getName(), field.getSignature(), field.isStatic()); }
/** * Factory method. Construct from class name and BCEL Field object. * * @param jClass * the class which defines the field * @param field * the BCEL Field object * @return the FieldAnnotation */ public static FieldAnnotation fromBCELField(JavaClass jClass, Field field) { return new FieldAnnotation(jClass.getClassName(), field.getName(), field.getSignature(), field.isStatic()); }
public FieldDescriptor getFieldDescriptor(@SlashedClassName String className, Field ma) { return getFieldDescriptor(className, ma.getName(), ma.getSignature(), ma.isStatic()); }
/** * Create an XField object from a BCEL Field. * * @param className * the name of the Java class containing the field * @param field * the Field within the JavaClass * @return the created XField */ public static XField createXField(String className, Field field) { String fieldName = field.getName(); String fieldSig = field.getSignature(); XField xfield = getExactXField(className, fieldName, fieldSig, field.isStatic()); assert xfield.isResolved() : "Could not exactly resolve " + xfield; return xfield; }
out.write(SPACE); fldsig=Utility.signatureToString(fld.getSignature()); out.write(fldsig); fout.write(fldsig);
return cmp; return o1.getSignature().compareTo(o2.getSignature()); }); work(digest, field.getSignature(), encoder);
Field maskingField = classFields.get(fieldName); String mClassName = getDottedClassName(); FieldAnnotation fa = new FieldAnnotation(mClassName, maskingField.getName(), maskingField.getSignature(), maskingField.isStatic()); int priority = NORMAL_PRIORITY; priority--; if (!fld.getSignature().equals(maskingField.getSignature())) { priority += 2; } else if (fld.getAccessFlags() != maskingField.getAccessFlags()) {
@Override public void visitField(Field obj) { if (obj.isProtected()) { bugReporter.reportBug(new BugInstance(this, "CI_CONFUSED_INHERITANCE", LOW_PRIORITY).addClass(cls).addField( new FieldAnnotation(cls.getClassName(), obj.getName(), obj.getSignature(), obj.isStatic()))); } }
@Override public void visit(JavaClass obj) { if (Subtypes2.instanceOf(obj, "java.util.Comparator") && !ClassName.isLocalOrAnonymous(getClassName()) && !Subtypes2.instanceOf(obj, "java.io.Serializable")) { int priority = NORMAL_PRIORITY; if (obj.isInterface() || obj.isAbstract()) { return; } double easilySerializable = 1.0; for (Field f : obj.getFields()) { try { if (f.getName().startsWith("this$")) { return; } String signature = f.getSignature(); char firstChar = signature.charAt(0); if (firstChar == 'L' || firstChar == '[') { easilySerializable *= DeepSubtypeAnalysis.isDeepSerializable(signature); } } catch (ClassNotFoundException e) { easilySerializable = 0.0; break; } } if (easilySerializable < 0.9) { priority = LOW_PRIORITY; } bugReporter.reportBug(new BugInstance(this, "SE_COMPARATOR_SHOULD_BE_SERIALIZABLE", priority).addClass(this)); } }
return; ClassDescriptor classOfField = DescriptorFactory.createClassDescriptorFromFieldSignature(aField.getSignature()); String tBugType = null; int priority = aField.isPublic() && aField.isFinal() && aField.getName().equals(aField.getName().toUpperCase())
addFeature(FIELD_NAME_KEY + field.getName() + ":" + transformSignature(field.getSignature()));
field.getName(), Type.getType(field.getSignature()))); InstructionHandle getter_ih_4 = getter.append(fac.createReturn(Type.OBJECT)); InstructionHandle setter_ih_1 = setter.append(fac.createLoad(Type.OBJECT, 1)); InstructionHandle setter_ih_2 = setter.append(fac.createPutField(cg.getClassName(), field.getName(), Type.getType(field.getSignature()))); InstructionHandle setter_ih_0_ih_5 = setter.append(fac.createReturn(Type.VOID));
@Override public int compare(Field o1, Field o2) { int cmp = o1.getName().compareTo(o2.getName()); if (cmp != 0) { return cmp; } return o1.getSignature().compareTo(o2.getSignature()); } });
@Override public boolean equals( final Object o1, final Object o2 ) { final Field THIS = (Field) o1; final Field THAT = (Field) o2; return THIS.getName().equals(THAT.getName()) && THIS.getSignature().equals(THAT.getSignature()); }
@Override public void visitField( final Field field ) { _out.println(); _out.println(" field = new FieldGen(" + printFlags(field.getAccessFlags()) + ", " + printType(field.getSignature()) + ", \"" + field.getName() + "\", _cp);"); final ConstantValue cv = field.getConstantValue(); if (cv != null) { final String value = cv.toString(); _out.println(" field.setInitValue(" + value + ")"); } _out.println(" _cg.addField(field.getField());"); }
@Override public void visitField(Field obj) { if (obj.isProtected()) { bugReporter.reportBug(new BugInstance(this, "CI_CONFUSED_INHERITANCE", LOW_PRIORITY).addClass(cls).addField( new FieldAnnotation(cls.getClassName(), obj.getName(), obj.getSignature(), obj.isStatic()))); } }