UnsignedPrimitiveTypeUsage implements TypeUsage { @Override public String describe() { return name; } 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 testDescribe() { assertEquals("ubyte", UnsignedPrimitiveTypeUsage.UBYTE.describe()); assertEquals("ushort", UnsignedPrimitiveTypeUsage.USHORT.describe()); assertEquals("uint", UnsignedPrimitiveTypeUsage.UINT.describe()); assertEquals("ulong", UnsignedPrimitiveTypeUsage.ULONG.describe()); assertEquals("ufloat", UnsignedPrimitiveTypeUsage.UFLOAT.describe()); assertEquals("udouble", UnsignedPrimitiveTypeUsage.UDOUBLE.describe()); }