Requested by Matthew, add a way to access children/locals on a DecoratedNode without knowing whether they should be decorated or not. In the translation we always know this statically, and can call getChildAsIs or getChildDecorated where appropriate, but in the runtime this is not available e.g. for a debugger.
This adds isChildDecorable/isLocalDecorable methods on Node, and child/local methods on DecoratedNode to do so. These are not otherwise used in the Java translation so they shouldn't impose additional overhead.
Documentation
Purely an internal change to the runtime API - added javadoc comments.
Testing
Added asserts on createDecoratedChild/evalLocalDecorated and ensured this works as expected when deep-rebuilding Silver.
Changes
Requested by Matthew, add a way to access children/locals on a DecoratedNode without knowing whether they should be decorated or not. In the translation we always know this statically, and can call
getChildAsIs
orgetChildDecorated
where appropriate, but in the runtime this is not available e.g. for a debugger.This adds
isChildDecorable
/isLocalDecorable
methods onNode
, andchild
/local
methods onDecoratedNode
to do so. These are not otherwise used in the Java translation so they shouldn't impose additional overhead.Documentation
Purely an internal change to the runtime API - added javadoc comments.
Testing
Added asserts on
createDecoratedChild
/evalLocalDecorated
and ensured this works as expected when deep-rebuilding Silver.