public final SignatureType getErasedSignature() { if (_erasedSignature == null) { synchronized (this) { if (_erasedSignature == null) { final Type<?> returnType = _returnType.getErasedType(); final TypeList parameterTypes = _parameterTypes.getErasedTypes(); if (returnType.isEquivalentTo(_returnType) && parameterTypes.isEquivalentTo(_parameterTypes)) { _erasedSignature = this; } else { _erasedSignature = new SignatureType(returnType, parameterTypes); } } } } return _erasedSignature; }
public final SignatureType getErasedSignature() { if (_erasedSignature == null) { synchronized (this) { if (_erasedSignature == null) { final Type<?> returnType = _returnType.getErasedType(); final TypeList parameterTypes = _parameterTypes.getErasedTypes(); if (returnType.isEquivalentTo(_returnType) && parameterTypes.isEquivalentTo(_parameterTypes)) { _erasedSignature = this; } else { _erasedSignature = new SignatureType(returnType, parameterTypes); } } } } return _erasedSignature; }
public final SignatureType getErasedSignature() { if (_erasedSignature == null) { synchronized (this) { if (_erasedSignature == null) { final Type<?> returnType = _returnType.getErasedType(); final TypeList parameterTypes = _parameterTypes.getErasedTypes(); if (returnType.isEquivalentTo(_returnType) && parameterTypes.isEquivalentTo(_parameterTypes)) { _erasedSignature = this; } else { _erasedSignature = new SignatureType(returnType, parameterTypes); } } } } return _erasedSignature; }
static boolean isBridgeMethodNeeded(final MethodInfo baseMethod, final MethodInfo override) { final MethodInfo erasedBase = baseMethod.getErasedMethodDefinition(); final MethodInfo erasedOverride = override.getErasedMethodDefinition(); final Type<?> baseReturnType = erasedBase.getReturnType().getErasedType(); final Type<?> overrideReturnType = erasedOverride.getReturnType().getErasedType(); if ((baseReturnType == PrimitiveTypes.Void) != (overrideReturnType == PrimitiveTypes.Void)) { throw Error.incompatibleReturnTypes(); } if (!TypeUtils.areEquivalent(overrideReturnType, baseReturnType)) { return true; } final TypeList parameterTypes = (erasedOverride instanceof MethodBuilder) ? ((MethodBuilder) erasedOverride).getParameterTypes().getErasedTypes() : erasedOverride.getParameters().getParameterTypes().getErasedTypes(); final TypeList baseParameters = (erasedBase instanceof MethodBuilder) ? ((MethodBuilder) erasedBase).getParameterTypes().getErasedTypes() : erasedBase.getParameters().getParameterTypes().getErasedTypes(); if (baseParameters.size() != parameterTypes.size()) { throw Error.parameterCountMismatch(); } for (int i = 0, n = parameterTypes.size(); i < n; i++) { final Type<?> t1 = parameterTypes.get(i); final Type<?> t2 = baseParameters.get(i); if (!t1.isEquivalentTo(t2)) { return true; } } return false; }
private boolean isBridgeMethodNeeded(final MethodOverride methodOverride) { final MethodInfo baseMethod = methodOverride.baseMethod; final MethodBuilder override = methodOverride.override; final Type<?> baseReturnType = baseMethod.getReturnType().getErasedType(); final Type<?> overrideReturnType = override.getReturnType().getErasedType(); if ((baseReturnType == PrimitiveTypes.Void) != (overrideReturnType == PrimitiveTypes.Void)) { throw Error.incompatibleReturnTypes(); } if (!TypeUtils.areEquivalent(overrideReturnType, baseReturnType)) { return true; } final ParameterBuilder[] parameterBuilders = override.parameterBuilders; final TypeList baseParameters = (baseMethod instanceof MethodBuilder) ? ((MethodBuilder) baseMethod).getParameterTypes().getErasedTypes() : baseMethod.getParameters().getParameterTypes().getErasedTypes(); if (baseParameters.size() != parameterBuilders.length) { throw Error.parameterCountMismatch(); } for (int i = 0, n = parameterBuilders.length; i < n; i++) { final Class<?> c1 = parameterBuilders[i].getParameterType().getErasedClass(); final Class<?> c2 = baseParameters.get(i).getErasedClass(); if (c1 != c2) { return true; } } return false; }
private boolean isBridgeMethodNeeded(final MethodOverride methodOverride) { final MethodInfo baseMethod = methodOverride.baseMethod; final MethodBuilder override = methodOverride.override; final Type<?> baseReturnType = baseMethod.getReturnType().getErasedType(); final Type<?> overrideReturnType = override.getReturnType().getErasedType(); if ((baseReturnType == PrimitiveTypes.Void) != (overrideReturnType == PrimitiveTypes.Void)) { throw Error.incompatibleReturnTypes(); } if (!TypeUtils.areEquivalent(overrideReturnType, baseReturnType)) { return true; } final ParameterBuilder[] parameterBuilders = override.parameterBuilders; final TypeList baseParameters = (baseMethod instanceof MethodBuilder) ? ((MethodBuilder) baseMethod).getParameterTypes().getErasedTypes() : baseMethod.getParameters().getParameterTypes().getErasedTypes(); if (baseParameters.size() != parameterBuilders.length) { throw Error.parameterCountMismatch(); } for (int i = 0, n = parameterBuilders.length; i < n; i++) { final Class<?> c1 = parameterBuilders[i].getParameterType().getErasedClass(); final Class<?> c2 = baseParameters.get(i).getErasedClass(); if (c1 != c2) { return true; } } return false; }
.getErasedTypes(); : baseMethod.getReturnType().getErasedType(); final TypeList thrownTypes = baseMethod.getThrownTypes().getErasedTypes();
.getErasedTypes(); : baseMethod.getReturnType().getErasedType(); final TypeList thrownTypes = baseMethod.getThrownTypes().getErasedTypes();
.getErasedTypes(); : baseMethod.getReturnType().getErasedType(); final TypeList thrownTypes = baseMethod.getThrownTypes().getErasedTypes();