Class CssCustomFunctionNode.CssCustomFunctionNodeProxy

All Implemented Interfaces:
ChunkAware, Proxiable<CssCustomFunctionNode>, Locatable
Enclosing class:
CssCustomFunctionNode

public static class CssCustomFunctionNode.CssCustomFunctionNodeProxy extends CssCustomFunctionNode
Copy-on-Write proxy for CssCustomFunctionNode used to avoid copying of function call subtrees in ReplaceConstantReferences pass. It behaves as a proxy of the original node until a write operation happens. When the first write operation happens, proxy node copies the original node and since then acts as a plain CssCustomFunctionNode.

NOTE(dgajda): Proxied custom function nodes are also replaced by proxies of themselves to disallow changes, which would be visible to all proxy nodes. Only one kind of changes is propagated to proxy nodes - this is setting of function computation results.