UnsignedPrimitiveTypeUsage implements TypeUsage { @Override public PrimitiveTypeUsage asPrimitiveTypeUsage() { return correspondingPrimitiveTypeUsage.asPrimitiveTypeUsage(); } 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 testAsPrimitiveTypeUsage() { assertEquals(PrimitiveTypeUsage.BYTE, UnsignedPrimitiveTypeUsage.UBYTE.asPrimitiveTypeUsage()); assertEquals(PrimitiveTypeUsage.SHORT, UnsignedPrimitiveTypeUsage.USHORT.asPrimitiveTypeUsage()); assertEquals(PrimitiveTypeUsage.INT, UnsignedPrimitiveTypeUsage.UINT.asPrimitiveTypeUsage()); assertEquals(PrimitiveTypeUsage.LONG, UnsignedPrimitiveTypeUsage.ULONG.asPrimitiveTypeUsage()); assertEquals(PrimitiveTypeUsage.FLOAT, UnsignedPrimitiveTypeUsage.UFLOAT.asPrimitiveTypeUsage()); assertEquals(PrimitiveTypeUsage.DOUBLE, UnsignedPrimitiveTypeUsage.UDOUBLE.asPrimitiveTypeUsage()); }