private FieldDefinition findFieldInType(TypeDefinition typeDef, String uniqueStr) { String[] linkParts = uniqueStr.split("\\|"); if (linkParts.length != 4) return null; String fieldName = linkParts[3]; if (fieldName.trim().length() <= 0) return null; List<FieldDefinition> declaredFields = typeDef.getDeclaredFields(); if (declaredFields == null) return null; boolean isFound = false; for (FieldDefinition declaredField : declaredFields) { isFound = (declaredField != null && fieldName.equals(declaredField.getName())); if (isFound) { if (declaredField.isSynthetic()) { return null; } else { return declaredField; } } } return null; }
private boolean badFieldName(FieldDefinition fd) { String fieldName = fd.getName(); return !fd.isFinal() && fieldName.length() > 1 && Character.isLetter(fieldName.charAt(0)) && !Character.isLowerCase(fieldName.charAt(0)) && fieldName.indexOf('_') == -1 && Character.isLetter(fieldName.charAt(1)) && Character.isLowerCase(fieldName.charAt(1)); }
@Override protected StringBuilder appendName(final StringBuilder sb, final boolean fullName, final boolean dottedName) { if (fullName) { final TypeDefinition declaringType = getDeclaringType(); if (declaringType != null) { return declaringType.appendName(sb, true, false).append('.').append(getName()); } } return sb.append(_name); }
public NameVariables(final DecompilerContext context) { _fieldNamesInCurrentType = new ArrayList<>(); for (final FieldDefinition field : context.getCurrentType().getDeclaredFields()) { _fieldNamesInCurrentType.add(field.getName()); } }
@Override protected StringBuilder appendName(final StringBuilder sb, final boolean fullName, final boolean dottedName) { if (fullName) { final TypeDefinition declaringType = getDeclaringType(); if (declaringType != null) { return declaringType.appendName(sb, true, false).append('.').append(getName()); } } return sb.append(_name); }
@Override protected StringBuilder appendName(final StringBuilder sb, final boolean fullName, final boolean dottedName) { if (fullName) { final TypeDefinition declaringType = getDeclaringType(); if (declaringType != null) { return declaringType.appendName(sb, true, false).append('.').append(getName()); } } return sb.append(_name); }
public NameVariables(final DecompilerContext context) { _fieldNamesInCurrentType = new ArrayList<>(); for (final FieldDefinition field : context.getCurrentType().getDeclaredFields()) { _fieldNamesInCurrentType.add(field.getName()); } }
public NameVariables(final DecompilerContext context) { _fieldNamesInCurrentType = new ArrayList<>(); for (final FieldDefinition field : context.getCurrentType().getDeclaredFields()) { _fieldNamesInCurrentType.add(field.getName()); } }
@Override public String toString() { return fd.getDeclaringType() + "." + fd.getName()+" : "+fd.getSignature(); } }
protected StringBuilder appendErasedDescription(final StringBuilder sb) { StringBuilder s = sb; for (final Modifier modifier : Flags.asModifierSet(getModifiers())) { s.append(modifier.toString()); s.append(' '); } s = getFieldType().getRawType().appendErasedDescription(s); s.append(' '); s.append(getName()); return s; }
protected StringBuilder appendErasedDescription(final StringBuilder sb) { StringBuilder s = sb; for (final Modifier modifier : Flags.asModifierSet(getModifiers())) { s.append(modifier.toString()); s.append(' '); } s = getFieldType().getRawType().appendErasedDescription(s); s.append(' '); s.append(getName()); return s; }
protected StringBuilder appendErasedDescription(final StringBuilder sb) { StringBuilder s = sb; for (final Modifier modifier : Flags.asModifierSet(getModifiers())) { s.append(modifier.toString()); s.append(' '); } s = getFieldType().getRawType().appendErasedDescription(s); s.append(' '); s.append(getName()); return s; }
private boolean matchesValuesField(final FieldDefinition field) { if (field == null) { return false; } if (field.isEquivalentTo(_valuesField)) { return true; } final String fieldName = field.getName(); return StringUtilities.equals(fieldName, "$VALUES") || StringUtilities.equals(fieldName, "ENUM$VALUES"); } }
private boolean matchesValuesField(final FieldDefinition field) { if (field == null) { return false; } if (field.isEquivalentTo(_valuesField)) { return true; } final String fieldName = field.getName(); return StringUtilities.equals(fieldName, "$VALUES") || StringUtilities.equals(fieldName, "ENUM$VALUES"); } }
private boolean matchesValuesField(final FieldDefinition field) { if (field == null) { return false; } if (field.isEquivalentTo(_valuesField)) { return true; } final String fieldName = field.getName(); return StringUtilities.equals(fieldName, "$VALUES") || StringUtilities.equals(fieldName, "ENUM$VALUES"); } }
@Override public Void visitFieldDeclaration(final FieldDeclaration node, final Void data) { final TypeDefinition currentType = context.getCurrentType(); if (currentType != null && currentType.isEnum()) { final FieldDefinition field = node.getUserData(Keys.FIELD_DEFINITION); if (field != null) { if (field.isEnumConstant()) { _valueFields.put(field.getName(), node); } } } return super.visitFieldDeclaration(node, data); }
@FieldVisitor public void visitField(FieldDefinition fd, FieldContext fc) { if (badFieldName(fd)) { fc.report("BadNameOfField", AccessLevel.of(fd).select(0, 10, 15, 20)); } String javaVersion = getFutureKeywordVersion(fd.getName()); if (javaVersion != null) { fc.report("BadNameOfFieldFutureKeyword", AccessLevel.of(fd).select(0, 10, 20, 30), JAVA_VERSION.create(javaVersion)); } }