@Test public void testGetInstanceFieldUnexisting() { Symbol instance = EasyMock.createMock(Symbol.class); EasyMock.replay(instance); int exceptions = 0; for (UnsignedPrimitiveTypeUsage btu : UnsignedPrimitiveTypeUsage.ALL) { try { btu.getInstanceField("foo", instance); } catch (IllegalArgumentException uoe) { exceptions++; } } assertEquals(UnsignedPrimitiveTypeUsage.ALL.size(), exceptions); EasyMock.verify(instance); }
@Override public Symbol getInstanceField(String fieldName, Symbol instance) { throw new IllegalArgumentException("A " + describe() + " has no field named " + fieldName); }
UnsignedPrimitiveTypeUsage implements TypeUsage { @Override public Symbol getInstanceField(String fieldName, Symbol instance) { throw new IllegalArgumentException("A " + describe() + " has no field named " + fieldName); } }
UnsignedPrimitiveTypeUsage implements TypeUsage { @Override public Symbol getInstanceField(String fieldName, Symbol instance) { throw new IllegalArgumentException("A " + describe() + " has no field named " + fieldName); } private  UnsignedPrimitiveTypeUsage(String name, PrimitiveTypeUsage correspondingPrimitiveTypeUsage); private  UnsignedPrimitiveTypeUsage(String name, PrimitiveTypeUsage correspondingPrimitiveTypeUsage,
                                       List<UnsignedPrimitiveTypeUsage> promotionTypes); }
UnsignedPrimitiveTypeUsage implements TypeUsage { @Override public Symbol getInstanceField(String fieldName, Symbol instance) { throw new IllegalArgumentException("A " + describe() + " has no field named " + fieldName); } 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); }
UnsignedPrimitiveTypeUsage implements TypeUsage { @Override public Symbol getInstanceField(String fieldName, Symbol instance) { throw new IllegalArgumentException("A " + describe() + " has no field named " + fieldName); } 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; }