/** * Accessor for non-public API in {@link RootNode}. * * @since 0.24 */ protected boolean isCloneUninitializedSupported(RootNode root) { return Accessor.nodesAccess().isCloneUninitializedSupported(root); }
/** * Accessor for non-public API in {@link RootNode}. * * @since 0.24 */ protected RootNode cloneUninitialized(RootNode root) { return Accessor.nodesAccess().cloneUninitialized(root); }
/** * Accessor for non-public API in {@link RootNode}. * * @since 0.24 */ protected RootNode cloneUninitialized(RootNode root) { return Accessor.nodesAccess().cloneUninitialized(root); }
protected int adoptChildrenAndCount(RootNode root) { return Accessor.nodesAccess().adoptChildrenAndCount(root); }
/** * Accessor for non-public API in {@link RootNode}. * * @since 0.24 */ protected boolean isCloneUninitializedSupported(RootNode root) { return Accessor.nodesAccess().isCloneUninitializedSupported(root); }
protected int adoptChildrenAndCount(RootNode root) { return Accessor.nodesAccess().adoptChildrenAndCount(root); }
protected <T> T getOrCreateRuntimeData(RootNode rootNode, Supplier<T> constructor) { Objects.requireNonNull(constructor); final Accessor.Nodes nodesAccess = Accessor.nodesAccess(); final EngineSupport engineAccess = Accessor.engineAccess(); if (rootNode != null && nodesAccess != null && engineAccess != null) { final Object sourceVM = nodesAccess.getSourceVM(rootNode); if (sourceVM != null) { final T runtimeData = engineAccess.getOrCreateRuntimeData(sourceVM, constructor); if (runtimeData != null) { return runtimeData; } } } return getOrCreateFallbackEngineData(constructor); }
protected <T> T getOrCreateRuntimeData(RootNode rootNode, Supplier<T> constructor) { Objects.requireNonNull(constructor); final Accessor.Nodes nodesAccess = Accessor.nodesAccess(); final EngineSupport engineAccess = Accessor.engineAccess(); if (rootNode != null && nodesAccess != null && engineAccess != null) { final Object sourceVM = nodesAccess.getSourceVM(rootNode); if (sourceVM != null) { final T runtimeData = engineAccess.getOrCreateRuntimeData(sourceVM, constructor); if (runtimeData != null) { return runtimeData; } } } return getOrCreateFallbackEngineData(constructor); }