@Override public String toString() { return String.format("%s in context of %s", getDeclaration().getIdentifier(), getContextType().getSimpleName()); } }
@Override public List<LightweightTypeReference> getResolvedExceptions() { JvmExecutable declaration = getDeclaration(); if (declaration.getExceptions().isEmpty()) return Collections.emptyList(); if (declaredExceptions != null) return declaredExceptions; return declaredExceptions = getResolvedReferences(declaration.getExceptions()); }
@Override protected boolean isResolvedTypeParameter(JvmTypeParameter typeParameter) { if (getResolvedTypeParameters().contains(typeParameter)) { return true; } return super.isResolvedTypeParameter(typeParameter); }
@Override public String getSimpleSignature() { JvmExecutable declaration = getDeclaration(); List<LightweightTypeReference> parameterTypes = getResolvedParameterTypes(); StringBuilder result = new StringBuilder(declaration.getSimpleName().length() + 2 + 10 * parameterTypes.size()); result.append(declaration.getSimpleName()); result.append('('); for(int i = 0; i < parameterTypes.size(); i++) { if (i != 0) { result.append(", "); } result.append(parameterTypes.get(i).getSimpleName()); } result.append(')'); return result.toString(); }
@Override public List<JvmTypeParameter> getTypeParameters() { return Collections.unmodifiableList(getDeclaration().getTypeParameters()); }
@Override protected boolean isRawTypeInheritance() { if (getDeclaration().isStatic()) { return false; } return super.isRawTypeInheritance(); }
@Override public String getResolvedSignature() { JvmExecutable declaration = getDeclaration(); List<LightweightTypeReference> parameterTypes = getResolvedParameterTypes(); StringBuilder result = new StringBuilder(declaration.getSimpleName().length() + 2 + 30 * parameterTypes.size()); result.append(declaration.getSimpleName()); result.append('('); for(int i = 0; i < parameterTypes.size(); i++) { if (i != 0) { result.append(','); } result.append(parameterTypes.get(i).getJavaIdentifier()); } result.append(')'); return result.toString(); }
@Override public String getResolvedErasureSignature() { JvmExecutable declaration = getDeclaration(); List<LightweightTypeReference> parameterTypes = getResolvedParameterTypes(); StringBuilder result = new StringBuilder(declaration.getSimpleName().length() + 2 + 20 * parameterTypes.size()); result.append(declaration.getSimpleName()); result.append('('); for(int i = 0; i < parameterTypes.size(); i++) { if (i != 0) { result.append(','); } result.append(parameterTypes.get(i).getRawTypeReference().getJavaIdentifier()); } result.append(')'); return result.toString(); }
@Override public List<LightweightTypeReference> getResolvedParameterTypes() { JvmExecutable declaration = getDeclaration(); if (declaration.getParameters().isEmpty()) return Collections.emptyList(); if (parameterTypes != null) return parameterTypes; List<JvmFormalParameter> parameters = declaration.getParameters(); List<JvmTypeReference> unresolvedParameterTypes = Lists.newArrayListWithCapacity(parameters.size()); for(JvmFormalParameter parameter: parameters) { unresolvedParameterTypes.add(parameter.getParameterType()); } return parameterTypes = getResolvedReferences(unresolvedParameterTypes); }