@Retention(value=RUNTIME) @Target(value=TYPE) public @interface DenyReplace
Nodesubtype is annotated with this annotation then
replacementis denied. When replacement is denied an
IllegalArgumentExceptionwill be thrown on replace. Only final subtypes of type
Nodemay be annotated.
DenyReplace is recommended for uncached or not adoptable nodes that should never be
replaceable. Truffle DSL automatically applies this annotation to all uncached versions of
specialized nodes and libraries.