@Retention(value=CLASS) @Target(value=TYPE) public @interface GenerateInline
specializations. Inlining nodes significantly reduces the footprint of cached nodes as node allocations are avoided. A node subclass must fullfill the following requirements in order to be inlinable:
nodeas first parameter type.
InlineSupportfor details. Please see the node object inlining tutorial for details on how to use this annotation.
|Modifier and Type||Optional Element and Description|
public abstract boolean value
trueenables the generation of a inlined version of this
specializingnode. It is enabled by default.
public abstract boolean inherit
trueenables inheritance of
GenerateInline.inlineByDefault()to subclasses. It is
public abstract boolean inlineByDefault
truethe inlined version is used by default when the node is used as a
cachedargument. Changing this value on an existing node class with existing and already compiled usages will not force the recompilation of the usages. One has to manually force recompilation of all the affected code. If the node class is part of supported public API, changing this value is a source incompatible change!