@Override protected StringBuilder appendErasedSignature(final StringBuilder sb) { return getFieldType().appendErasedSignature(sb); }
@Override protected StringBuilder appendErasedSignature(final StringBuilder sb) { return getFieldType().appendErasedSignature(sb); }
@Override protected StringBuilder appendSignature(final StringBuilder sb) { return getFieldType().appendSignature(sb); }
@Override protected StringBuilder appendSignature(final StringBuilder sb) { return getFieldType().appendSignature(sb); }
@Override protected StringBuilder appendErasedSignature(final StringBuilder sb) { return getFieldType().appendErasedSignature(sb); }
@Override protected StringBuilder appendSignature(final StringBuilder sb) { return getFieldType().appendSignature(sb); }
static TypeReference getFieldType(final FieldReference field) { final FieldDefinition resolvedField = field.resolve(); if (resolvedField != null) { final FieldReference asMember = MetadataHelper.asMemberOf(resolvedField, field.getDeclaringType()); return asMember.getFieldType(); } return substituteTypeArguments(field.getFieldType(), field); }
@Override public boolean containsGenericParameters() { final TypeReference fieldType = getFieldType(); return fieldType != null && fieldType.containsGenericParameters() || super.containsGenericParameters(); }
@Override public boolean containsGenericParameters() { final TypeReference fieldType = getFieldType(); return fieldType != null && fieldType.containsGenericParameters() || super.containsGenericParameters(); }
@Override public boolean containsGenericParameters() { final TypeReference fieldType = getFieldType(); return fieldType != null && fieldType.containsGenericParameters() || super.containsGenericParameters(); }
static TypeReference getFieldType(final FieldReference field) { final FieldDefinition resolvedField = field.resolve(); if (resolvedField != null) { final FieldReference asMember = MetadataHelper.asMemberOf(resolvedField, field.getDeclaringType()); return asMember.getFieldType(); } return substituteTypeArguments(field.getFieldType(), field); }
static TypeReference getFieldType(final FieldReference field) { final FieldDefinition resolvedField = field.resolve(); if (resolvedField != null) { final FieldReference asMember = MetadataHelper.asMemberOf(resolvedField, field.getDeclaringType()); return asMember.getFieldType(); } return substituteTypeArguments(field.getFieldType(), field); }
static FieldDefinition getField(final List<FieldDefinition> candidates, final FieldReference reference) { for (int i = 0, n = candidates.size(); i < n; i++) { final FieldDefinition candidate = candidates.get(i); if (StringComparator.Ordinal.equals(candidate.getName(), reference.getName())) { final TypeReference referenceType = reference.getFieldType(); final TypeReference candidateType = candidate.getFieldType(); if (areEquivalent(candidateType, referenceType)) { return candidate; } final TypeReference rawCandidateType = MetadataHelper.eraseRecursive(candidateType); final TypeReference rawReferenceType = MetadataHelper.eraseRecursive(referenceType); if ((rawCandidateType != candidateType || rawReferenceType != referenceType) && areEquivalent(rawCandidateType, rawReferenceType)) { return candidate; } } } return null; }
public static void writeField(final ITextOutput writer, final FieldReference field) { VerifyArgument.notNull(field, "field"); VerifyArgument.notNull(writer, "writer"); final Stack<TypeReference> typeStack = new Stack<>(); formatType(writer, field.getDeclaringType(), NameSyntax.DESCRIPTOR, false, typeStack); writer.writeDelimiter("."); writer.writeReference(field.getName(), field); writer.writeDelimiter(":"); formatType(writer, field.getFieldType(), NameSyntax.SIGNATURE, false, typeStack); }
static FieldDefinition getField(final List<FieldDefinition> candidates, final FieldReference reference) { for (int i = 0, n = candidates.size(); i < n; i++) { final FieldDefinition candidate = candidates.get(i); if (StringComparator.Ordinal.equals(candidate.getName(), reference.getName())) { final TypeReference referenceType = reference.getFieldType(); final TypeReference candidateType = candidate.getFieldType(); if (candidateType.isGenericParameter() && !referenceType.isGenericParameter()) { if (areEquivalent(MetadataHelper.getUpperBound(candidateType), referenceType)) { return candidate; } } else { if (areEquivalent(candidateType, referenceType)) { return candidate; } } } } return null; }
public static void writeField(final ITextOutput writer, final FieldReference field) { VerifyArgument.notNull(field, "field"); VerifyArgument.notNull(writer, "writer"); final Stack<TypeReference> typeStack = new Stack<>(); formatType(writer, field.getDeclaringType(), NameSyntax.DESCRIPTOR, false, typeStack); writer.writeDelimiter("."); writer.writeReference(field.getName(), field); writer.writeDelimiter(":"); formatType(writer, field.getFieldType(), NameSyntax.SIGNATURE, false, typeStack); }
public static void writeField(final ITextOutput writer, final FieldReference field) { VerifyArgument.notNull(field, "field"); VerifyArgument.notNull(writer, "writer"); final Stack<TypeReference> typeStack = new Stack<>(); formatType(writer, field.getDeclaringType(), NameSyntax.DESCRIPTOR, false, typeStack); writer.writeDelimiter("."); writer.writeReference(field.getName(), field); writer.writeDelimiter(":"); formatType(writer, field.getFieldType(), NameSyntax.SIGNATURE, false, typeStack); }
private static ResolveResult resolveTypeFromMember(final MemberReference member) { if (member == null) { return null; } if (member instanceof FieldReference) { return new ResolveResult(((FieldReference) member).getFieldType()); } if (member instanceof MethodReference) { final MethodReference method = (MethodReference) member; if (method.isConstructor()) { return new ResolveResult(method.getDeclaringType()); } return new ResolveResult(method.getReturnType()); } return null; }
private static ResolveResult resolveTypeFromMember(final MemberReference member) { if (member == null) { return null; } if (member instanceof FieldReference) { return new ResolveResult(((FieldReference) member).getFieldType()); } if (member instanceof MethodReference) { final MethodReference method = (MethodReference) member; if (method.isConstructor()) { return new ResolveResult(method.getDeclaringType()); } return new ResolveResult(method.getReturnType()); } return null; }
private static ResolveResult resolveTypeFromMember(final MemberReference member) { if (member == null) { return null; } if (member instanceof FieldReference) { return new ResolveResult(((FieldReference) member).getFieldType()); } if (member instanceof MethodReference) { final MethodReference method = (MethodReference) member; if (method.isConstructor()) { return new ResolveResult(method.getDeclaringType()); } return new ResolveResult(method.getReturnType()); } return null; }