UnsignedPrimitiveTypeUsage implements TypeUsage { @Override public boolean sameType(TypeUsage other) { return other == this; } private  UnsignedPrimitiveTypeUsage(String name, PrimitiveTypeUsage correspondingPrimitiveTypeUsage); private  UnsignedPrimitiveTypeUsage(String name, PrimitiveTypeUsage correspondingPrimitiveTypeUsage,
                                       List<UnsignedPrimitiveTypeUsage> promotionTypes); @Override boolean isPrimitive(); @Override PrimitiveTypeUsage asPrimitiveTypeUsage(); @Override TypeUsage replaceTypeVariables(Map<String, T> typeParams); @Override boolean sameType(TypeUsage other); @Override JvmType jvmType(); @Override boolean canBeAssignedTo(TypeUsage type); @Override String toString(); static Optional<UnsignedPrimitiveTypeUsage> findByName(String typeName); static UnsignedPrimitiveTypeUsage getByName(String typeName); @Override boolean hasInstanceField(String fieldName, Symbol instance); @Override Symbol getInstanceField(String fieldName, Symbol instance); @Override String describe(); @Override Optional<Invokable> getMethod(String method, boolean staticContext); static UnsignedPrimitiveTypeUsage ULONG; static UnsignedPrimitiveTypeUsage UINT; static UnsignedPrimitiveTypeUsage USHORT; static UnsignedPrimitiveTypeUsage UBYTE; static UnsignedPrimitiveTypeUsage UDOUBLE; static UnsignedPrimitiveTypeUsage UFLOAT; static ImmutableList<UnsignedPrimitiveTypeUsage> ALL; }
@Test public void testSameType() { for (int i=0; i< UnsignedPrimitiveTypeUsage.ALL.size(); i++) { for (int j=0; j< UnsignedPrimitiveTypeUsage.ALL.size(); j++) { assertEquals(i == j, UnsignedPrimitiveTypeUsage.ALL.get(i).sameType(UnsignedPrimitiveTypeUsage.ALL.get(j))); } for (PrimitiveTypeUsage p : PrimitiveTypeUsage.ALL) { assertFalse(UnsignedPrimitiveTypeUsage.ALL.get(i).sameType(p)); } assertFalse(UnsignedPrimitiveTypeUsage.ALL.get(i).sameType(string)); assertFalse(UnsignedPrimitiveTypeUsage.ALL.get(i).sameType(object)); } }