hotspot/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java
changeset 38139 cf6f5c1b7205
parent 35951 eb6971bc8c95
child 38231 38b7e4a90f6a
equal deleted inserted replaced
38138:8514e24123c8 38139:cf6f5c1b7205
   391     public JavaKind getJavaKind() {
   391     public JavaKind getJavaKind() {
   392         return JavaKind.Object;
   392         return JavaKind.Object;
   393     }
   393     }
   394 
   394 
   395     @Override
   395     @Override
   396     public ResolvedJavaMethod resolveConcreteMethod(ResolvedJavaMethod method, ResolvedJavaType callerType) {
       
   397         ResolvedJavaMethod resolvedMethod = resolveMethod(method, callerType);
       
   398         if (resolvedMethod == null || resolvedMethod.isAbstract()) {
       
   399             return null;
       
   400         }
       
   401         return resolvedMethod;
       
   402     }
       
   403 
       
   404     @Override
       
   405     public ResolvedJavaMethod resolveMethod(ResolvedJavaMethod method, ResolvedJavaType callerType) {
   396     public ResolvedJavaMethod resolveMethod(ResolvedJavaMethod method, ResolvedJavaType callerType) {
   406         assert !callerType.isArray();
   397         assert !callerType.isArray();
       
   398         if (isInterface()) {
       
   399             // Methods can only be resolved against concrete types
       
   400             return null;
       
   401         }
   407         if (method.isConcrete() && method.getDeclaringClass().equals(this) && method.isPublic()) {
   402         if (method.isConcrete() && method.getDeclaringClass().equals(this) && method.isPublic()) {
   408             return method;
   403             return method;
   409         }
   404         }
   410         if (!method.getDeclaringClass().isAssignableFrom(this)) {
   405         if (!method.getDeclaringClass().isAssignableFrom(this)) {
   411             return null;
   406             return null;