private static String inferFieldTypeName(CtField field) { try { if ( field.getFieldInfo2().getAttribute( SignatureAttribute.tag ) == null ) { return field.getType().getName(); } return inferGenericTypeName( field.getType(), SignatureAttribute.toTypeSignature( field.getGenericSignature() ) ); } catch (BadBytecode ignore) { return null; } catch (NotFoundException e) { return null; } }
@Override public ResolvedType getType() { try { if (ctField.getGenericSignature() != null && declaringType() instanceof ResolvedTypeParametrizable) { javassist.bytecode.SignatureAttribute.Type genericSignatureType = SignatureAttribute.toFieldSignature(ctField.getGenericSignature()); return JavassistUtils.signatureTypeToType(genericSignatureType, typeSolver, (ResolvedTypeParametrizable) declaringType()); } else { return JavassistFactory.typeUsageFor(ctField.getType(), typeSolver); } } catch (NotFoundException e) { throw new RuntimeException(e); } catch (BadBytecode e) { throw new RuntimeException(e); } }
@Override public ResolvedType getType() { try { if (ctField.getGenericSignature() != null && declaringType() instanceof ResolvedTypeParametrizable) { javassist.bytecode.SignatureAttribute.Type genericSignatureType = SignatureAttribute.toFieldSignature(ctField.getGenericSignature()); return JavassistUtils.signatureTypeToType(genericSignatureType, typeSolver, (ResolvedTypeParametrizable) declaringType()); } else { return JavassistFactory.typeUsageFor(ctField.getType(), typeSolver); } } catch (NotFoundException e) { throw new RuntimeException(e); } catch (BadBytecode e) { throw new RuntimeException(e); } }
@Override public ResolvedType getType() { try { if (ctField.getGenericSignature() != null && declaringType() instanceof ResolvedTypeParametrizable) { javassist.bytecode.SignatureAttribute.Type genericSignatureType = SignatureAttribute.toFieldSignature(ctField.getGenericSignature()); return JavassistUtils.signatureTypeToType(genericSignatureType, typeSolver, (ResolvedTypeParametrizable) declaringType()); } else { return JavassistFactory.typeUsageFor(ctField.getType(), typeSolver); } } catch (NotFoundException | BadBytecode e) { throw new RuntimeException(e); } }
private static String inferFieldTypeName(CtField field) { try { if ( field.getFieldInfo2().getAttribute( SignatureAttribute.tag ) == null ) { return field.getType().getName(); } return inferGenericTypeName( field.getType(), SignatureAttribute.toTypeSignature( field.getGenericSignature() ) ); } catch (BadBytecode ignore) { return null; } catch (NotFoundException e) { return null; } }