Lines 774-781
Link Here
|
774 |
unitScope.recordTypeReferences(exactMethod.thrownExceptions); |
774 |
unitScope.recordTypeReferences(exactMethod.thrownExceptions); |
775 |
// special treatment for Object.getClass() in 1.5 mode (substitute parameterized return type) |
775 |
// special treatment for Object.getClass() in 1.5 mode (substitute parameterized return type) |
776 |
if (receiverType.isInterface() || exactMethod.canBeSeenBy(receiverType, invocationSite, this)) { |
776 |
if (receiverType.isInterface() || exactMethod.canBeSeenBy(receiverType, invocationSite, this)) { |
777 |
if (receiverType.id != T_JavaLangObject |
777 |
if (argumentTypes == Binding.NO_PARAMETERS |
778 |
&& argumentTypes == Binding.NO_PARAMETERS |
|
|
779 |
&& CharOperation.equals(selector, GETCLASS) |
778 |
&& CharOperation.equals(selector, GETCLASS) |
780 |
&& exactMethod.returnType.isParameterizedType()/*1.5*/) { |
779 |
&& exactMethod.returnType.isParameterizedType()/*1.5*/) { |
781 |
return ParameterizedMethodBinding.instantiateGetClass(receiverType, exactMethod, this); |
780 |
return ParameterizedMethodBinding.instantiateGetClass(receiverType, exactMethod, this); |
Lines 1818-1825
Link Here
|
1818 |
invocationSite.setActualReceiverType(receiverType); |
1817 |
invocationSite.setActualReceiverType(receiverType); |
1819 |
} |
1818 |
} |
1820 |
// special treatment for Object.getClass() in 1.5 mode (substitute parameterized return type) |
1819 |
// special treatment for Object.getClass() in 1.5 mode (substitute parameterized return type) |
1821 |
if (receiverType.id != T_JavaLangObject |
1820 |
if (argumentTypes == Binding.NO_PARAMETERS |
1822 |
&& argumentTypes == Binding.NO_PARAMETERS |
|
|
1823 |
&& CharOperation.equals(selector, GETCLASS) |
1821 |
&& CharOperation.equals(selector, GETCLASS) |
1824 |
&& methodBinding.returnType.isParameterizedType()/*1.5*/) { |
1822 |
&& methodBinding.returnType.isParameterizedType()/*1.5*/) { |
1825 |
return ParameterizedMethodBinding.instantiateGetClass(receiverType, methodBinding, this); |
1823 |
return ParameterizedMethodBinding.instantiateGetClass(receiverType, methodBinding, this); |
Lines 2078-2085
Link Here
|
2078 |
return methodBinding; |
2076 |
return methodBinding; |
2079 |
|
2077 |
|
2080 |
// special treatment for Object.getClass() in 1.5 mode (substitute parameterized return type) |
2078 |
// special treatment for Object.getClass() in 1.5 mode (substitute parameterized return type) |
2081 |
if (receiverType.id != T_JavaLangObject |
2079 |
if (argumentTypes == Binding.NO_PARAMETERS |
2082 |
&& argumentTypes == Binding.NO_PARAMETERS |
|
|
2083 |
&& CharOperation.equals(selector, GETCLASS) |
2080 |
&& CharOperation.equals(selector, GETCLASS) |
2084 |
&& methodBinding.returnType.isParameterizedType()/*1.5*/) { |
2081 |
&& methodBinding.returnType.isParameterizedType()/*1.5*/) { |
2085 |
return ParameterizedMethodBinding.instantiateGetClass(receiverType, methodBinding, this); |
2082 |
return ParameterizedMethodBinding.instantiateGetClass(receiverType, methodBinding, this); |