src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaType.java
changeset 54669 ad45b3802d4e
parent 50858 2d3e99a72541
child 55463 31bf7b93df5d
equal deleted inserted replaced
54668:0bda2308eded 54669:ad45b3802d4e
     1 /*
     1 /*
     2  * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    20  * or visit www.oracle.com if you need additional information or have any
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    21  * questions.
    22  */
    22  */
    23 package jdk.vm.ci.hotspot;
    23 package jdk.vm.ci.hotspot;
    24 
    24 
       
    25 import jdk.vm.ci.meta.JavaConstant;
    25 import jdk.vm.ci.meta.ResolvedJavaType;
    26 import jdk.vm.ci.meta.ResolvedJavaType;
    26 
    27 
    27 public abstract class HotSpotResolvedJavaType extends HotSpotJavaType implements ResolvedJavaType {
    28 public abstract class HotSpotResolvedJavaType extends HotSpotJavaType implements ResolvedJavaType {
    28 
    29 
    29     HotSpotResolvedJavaType(String name) {
    30     HotSpotResolvedJavaType(String name) {
    30         super(name);
    31         super(name);
    31     }
    32     }
    32 
    33 
    33     abstract Class<?> mirror();
       
    34 
       
    35     @Override
    34     @Override
    36     public final boolean equals(Object obj) {
    35     public abstract boolean equals(Object obj);
    37         if (!(obj instanceof HotSpotResolvedJavaType)) {
       
    38             return false;
       
    39         }
       
    40         HotSpotResolvedJavaType that = (HotSpotResolvedJavaType) obj;
       
    41         return this.mirror().equals(that.mirror());
       
    42     }
       
    43 
    36 
    44     @Override
    37     @Override
    45     public final int hashCode() {
    38     public final int hashCode() {
    46         return getName().hashCode();
    39         return getName().hashCode();
    47     }
    40     }
    48 
    41 
       
    42     abstract JavaConstant getJavaMirror();
    49 }
    43 }