@Beta
@Retention(value=RUNTIME)
@Target(value=METHOD)
@GwtCompatible
public @interface Inline
Modifier and Type | Required Element and Description |
---|---|
java.lang.String |
value
The inline format string.
|
Modifier and Type | Optional Element and Description |
---|---|
boolean |
constantExpression
Whether the compiled Java is a constant expression operator.
|
java.lang.Class<?>[] |
imported
Types that should be imported to inline the operation.
|
boolean |
statementExpression
whether the inlined expression is a statement expression (see 14.8 - Statement Expressions in
Java Language Specification, Third Edition )
|
public abstract java.lang.String value
$1, $2
etc can be used where the 1..n
parameters of
the inlined method are used for $1
to $n
and the imported()
types are used for
subsequent indices. The next index $n
can be used to insert all type parameters of the original
declaration. And finally the last indices refer to the upper bound substitute of the type parameters
individually.
So the order is arguments, imports, all type parameters at once incl. brackets and upper bounds of the individual
type parameters without brackets
Example:
For the following signatures
public abstract java.lang.Class<?>[] imported
public abstract boolean statementExpression
public abstract boolean constantExpression