private String createUniqueStrForReference(Object reference) { String uniqueStr = null; if (reference instanceof TypeReference) { TypeReference type = (TypeReference) reference; String pathAndTypeStr = getPathAndTypeStr(type); if (pathAndTypeStr != null) { uniqueStr = "type|" + pathAndTypeStr; } } else if (reference instanceof MethodReference) { MethodReference method = (MethodReference) reference; String pathAndTypeStr = getPathAndTypeStr(method.getDeclaringType()); if (pathAndTypeStr != null) { uniqueStr = "method|" + pathAndTypeStr + "|" + method.getName() + "|" + method.getErasedSignature(); } } else if (reference instanceof FieldReference) { FieldReference field = (FieldReference) reference; String pathAndTypeStr = getPathAndTypeStr(field.getDeclaringType()); if (pathAndTypeStr != null) { uniqueStr = "field|" + pathAndTypeStr + "|" + field.getName(); } } return uniqueStr; }
@Override public String getErasedSignature() { if (_erasedSignature == null) { _erasedSignature = super.getErasedSignature(); } return _erasedSignature; }
@Override public String getErasedSignature() { if (_erasedSignature == null) { _erasedSignature = super.getErasedSignature(); } return _erasedSignature; }
@Override public String getErasedSignature() { if (_erasedSignature == null) { _erasedSignature = super.getErasedSignature(); } return _erasedSignature; }
private static String makeMethodKey(final MethodReference method) { return method.getFullName() + ":" + method.getErasedSignature(); } }
private static String makeMethodKey(final MethodReference method) { return method.getFullName() + ":" + method.getErasedSignature(); } }
private static String makeMethodKey(final MethodReference method) { return method.getFullName() + ":" + method.getErasedSignature(); } }
public static boolean isGetClass(MethodReference mr) { return mr.getName().equals("getClass") && mr.getErasedSignature().equals("()Ljava/lang/Class;"); }
private static String makeMethodKey(final MethodReference method) { return method.getFullName() + ":" + method.getErasedSignature(); }
private static String makeMethodKey(final MethodReference method) { return method.getFullName() + ":" + method.getErasedSignature(); }
public static boolean is(MethodReference mr, String internalTypeName, String methodName, String methodSig) { return mr.getName().equals(methodName) && mr.getErasedSignature().equals(methodSig) && mr.getDeclaringType().getInternalName().equals(internalTypeName); }
private boolean isStreamForEach(MethodReference mr) { return (mr.getName().equals("forEach") || mr.getName().equals("forEachOrdered")) && mr.getErasedSignature().equals("(Ljava/util/function/Consumer;)V") && Types.isStream(mr.getDeclaringType()); }
private static boolean equiMethods(final MethodReference left, final MethodReference right) { return StringUtilities.equals(left.getFullName(), right.getFullName()) && StringUtilities.equals(left.getErasedSignature(), right.getErasedSignature()); }
private boolean isStreamFind(MethodReference mr) { return (mr.getName().equals("findFirst") || mr.getName().equals("findAny")) && mr.getErasedSignature().startsWith("()Ljava/util/Optional") && Types.isBaseStream(mr.getDeclaringType()); }
@Override public boolean isEquivalentTo(final MemberReference member) { if (super.isEquivalentTo(member)) { return true; } if (member instanceof MethodReference) { final MethodReference method = (MethodReference) member; return StringUtilities.equals(method.getName(), this.getName()) && StringUtilities.equals(method.getErasedSignature(), this.getErasedSignature()) && MetadataResolver.areEquivalent(method.getDeclaringType(), this.getDeclaringType()); } return false; }
@Override public boolean isEquivalentTo(final MemberReference member) { if (super.isEquivalentTo(member)) { return true; } if (member instanceof MethodReference) { final MethodReference method = (MethodReference) member; return StringUtilities.equals(method.getName(), this.getName()) && StringUtilities.equals(method.getErasedSignature(), this.getErasedSignature()) && MetadataResolver.areEquivalent(method.getDeclaringType(), this.getDeclaringType()); } return false; }
@Override public boolean isEquivalentTo(final MemberReference member) { if (super.isEquivalentTo(member)) { return true; } if (member instanceof MethodReference) { final MethodReference method = (MethodReference) member; return StringUtilities.equals(method.getName(), this.getName()) && StringUtilities.equals(method.getErasedSignature(), this.getErasedSignature()) && MetadataResolver.areEquivalent(method.getDeclaringType(), this.getDeclaringType()); } return false; }
private boolean areMethodsEquivalent(final MethodReference m1, final MethodDefinition m2) { if (m1 == m2) { return true; } //noinspection SimplifiableIfStatement if (m1 == null || m2 == null) { return false; } return StringUtilities.equals(m1.getFullName(), m2.getFullName()) && StringUtilities.equals(m1.getErasedSignature(), m2.getErasedSignature()); } }
private boolean areMethodsEquivalent(final MethodReference m1, final MethodDefinition m2) { if (m1 == m2) { return true; } if (m1 == null || m2 == null) { return false; } return StringUtilities.equals(m1.getFullName(), m2.getFullName()) && StringUtilities.equals(m1.getErasedSignature(), m2.getErasedSignature()); } }
private boolean areMethodsEquivalent(final MethodReference m1, final MethodDefinition m2) { if (m1 == m2) { return true; } if (m1 == null || m2 == null) { return false; } return StringUtilities.equals(m1.getFullName(), m2.getFullName()) && StringUtilities.equals(m1.getErasedSignature(), m2.getErasedSignature()); } }