1 package jdk.internal.nicl.types; 2 3 import jdk.internal.nicl.Platform; 4 5 public class Pointer implements Type { 6 Type pointee; 7 8 public Pointer(Type pointee) { 9 this.pointee = pointee; 10 } 11 12 public Type getPointeeType() { 13 return pointee; 14 } 15 16 @Override 17 public long getSize() { 18 return Platform.getInstance().getABI().definedSize('p'); 19 } 20 21 @Override 22 public int hashCode() { 23 return 0x80000000 | pointee.hashCode(); 24 } 25 26 @Override 27 public boolean equals(Object o) { 28 if (!(o instanceof jdk.internal.nicl.types.Pointer)) { 29 return false; 30 } 31 jdk.internal.nicl.types.Pointer other = (jdk.internal.nicl.types.Pointer) o; 32 33 if (pointee == null) { 34 return other.pointee == null; 35 } 36 37 return pointee.equals(other.pointee); 38 } 39 40 @Override 41 public String toString() { 42 return (pointee == null) ? "p" : "p:" + pointee.toString(); 43 } 44 } --- EOF ---