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.