paolo di tommaso created GROOVY-9366: ----------------------------------------
Summary: Unable represent literal byte costant Key: GROOVY-9366 URL: https://issues.apache.org/jira/browse/GROOVY-9366 Project: Groovy Issue Type: Bug Affects Versions: 2.5.9 Reporter: paolo di tommaso Groovy does not allow the definition of literal byte constant. This makes impossible to express byte constant in some use cases. First example: {code:java} public @interface Version { byte value(); } class Foo { @Version(0x01) String bar } Error: Attribute 'value' should have type 'java.lang.Byte'; but found type 'int' in @Version {code} Second example: {code:java} public @interface Version { byte value(); } class Foo { @Version(1 as byte) String bar } Expected '(byte) 1' to be an inline constant of type byte in @Version at line: 6, column: 14Attribute 'value' should have type 'java.lang.Byte'; but found type 'java.lang.Object' in @Version at line: -1, column: -1 {code} Third example: {code:java} public @interface Version { byte value(); } class Foo { public static final byte ONE = 0b01 @Version(ONE) String bar } Expected 'ONE' to be an inline constant of type byte not a field expression in @Version at line: 7, column: 12Attribute 'value' should have type 'java.lang.Byte'; but found type 'java.lang.Object' in @Version at line: -1, column: -1 {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)