com.oracle.graal.python.nodes.frame.WriteGlobalNodeGen Maven / Gradle / Ivy
// CheckStyle: start generated
package com.oracle.graal.python.nodes.frame;
import com.oracle.graal.python.builtins.objects.common.HashingCollectionNodes.SetItemNode;
import com.oracle.graal.python.builtins.objects.common.HashingCollectionNodesFactory.SetItemNodeGen;
import com.oracle.graal.python.builtins.objects.dict.PDict;
import com.oracle.graal.python.builtins.objects.module.PythonModule;
import com.oracle.graal.python.lib.PyObjectSetItem;
import com.oracle.graal.python.lib.PyObjectSetItemNodeGen;
import com.oracle.graal.python.nodes.PGuards;
import com.oracle.graal.python.nodes.attributes.WriteAttributeToObjectNode;
import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
import com.oracle.truffle.api.dsl.DSLSupport;
import com.oracle.truffle.api.dsl.GeneratedBy;
import com.oracle.truffle.api.dsl.NeverDefault;
import com.oracle.truffle.api.dsl.UnsupportedSpecializationException;
import com.oracle.truffle.api.dsl.DSLSupport.SpecializationDataNode;
import com.oracle.truffle.api.dsl.InlineSupport.InlineTarget;
import com.oracle.truffle.api.dsl.InlineSupport.ReferenceField;
import com.oracle.truffle.api.dsl.InlineSupport.StateField;
import com.oracle.truffle.api.dsl.InlineSupport.UnsafeAccessedField;
import com.oracle.truffle.api.frame.VirtualFrame;
import com.oracle.truffle.api.nodes.DenyReplace;
import com.oracle.truffle.api.nodes.Node;
import com.oracle.truffle.api.nodes.NodeCost;
import com.oracle.truffle.api.strings.TruffleString;
import com.oracle.truffle.api.utilities.TruffleWeakReference;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.VarHandle;
/**
* Debug Info:
* Specialization {@link WriteGlobalNode#writeDictObjectCached}
* Activation probability: 0.32000
* With/without class size: 10/4 bytes
* Specialization {@link WriteGlobalNode#writeDictObject}
* Activation probability: 0.26000
* With/without class size: 8/0 bytes
* Specialization {@link WriteGlobalNode#writeGenericDict}
* Activation probability: 0.20000
* With/without class size: 9/9 bytes
* Specialization {@link WriteGlobalNode#writeModuleCached}
* Activation probability: 0.14000
* With/without class size: 6/4 bytes
* Specialization {@link WriteGlobalNode#writeModule}
* Activation probability: 0.08000
* With/without class size: 4/0 bytes
*
*/
@GeneratedBy(WriteGlobalNode.class)
@SuppressWarnings("javadoc")
public final class WriteGlobalNodeGen extends WriteGlobalNode {
private static final StateField STATE_0_UPDATER = StateField.create(MethodHandles.lookup(), "state_0_");
private static final StateField STATE_0_WriteGlobalNode_UPDATER = StateField.create(MethodHandles.lookup(), "state_0_");
static final ReferenceField WRITE_DICT_OBJECT_CACHED_CACHE_UPDATER = ReferenceField.create(MethodHandles.lookup(), "writeDictObjectCached_cache", WriteDictObjectCachedData.class);
static final ReferenceField WRITE_MODULE_CACHED_CACHE_UPDATER = ReferenceField.create(MethodHandles.lookup(), "writeModuleCached_cache", WriteModuleCachedData.class);
/**
* Source Info:
* Specialization: {@link WriteGlobalNode#writeDictObjectCached}
* Parameter: {@link SetItemNode} storeNode
* Inline method: {@link SetItemNodeGen#inline}
*/
private static final SetItemNode INLINED_SET_ITEM_DICT = SetItemNodeGen.inline(InlineTarget.create(SetItemNode.class, STATE_0_UPDATER.subUpdater(5, 6), ReferenceField.create(MethodHandles.lookup(), "setItemDict_field1_", Node.class), ReferenceField.create(MethodHandles.lookup(), "setItemDict_field2_", Node.class), ReferenceField.create(MethodHandles.lookup(), "setItemDict_field3_", Node.class), ReferenceField.create(MethodHandles.lookup(), "setItemDict_field4_", Node.class), ReferenceField.create(MethodHandles.lookup(), "setItemDict_field5_", Node.class)));
/**
* Source Info:
* Specialization: {@link WriteGlobalNode#writeGenericDict}
* Parameter: {@link PyObjectSetItem} storeNode
* Inline method: {@link PyObjectSetItemNodeGen#inline}
*/
private static final PyObjectSetItem INLINED_WRITE_GENERIC_DICT_STORE_NODE_ = PyObjectSetItemNodeGen.inline(InlineTarget.create(PyObjectSetItem.class, STATE_0_WriteGlobalNode_UPDATER.subUpdater(11, 2), ReferenceField.create(MethodHandles.lookup(), "writeGenericDict_storeNode__field1_", Node.class), ReferenceField.create(MethodHandles.lookup(), "writeGenericDict_storeNode__field2_", Node.class)));
private static final Uncached UNCACHED = new Uncached();
/**
* State Info:
* 0: SpecializationActive {@link WriteGlobalNode#writeDictObjectCached}
* 1: SpecializationActive {@link WriteGlobalNode#writeDictObject}
* 2: SpecializationActive {@link WriteGlobalNode#writeGenericDict}
* 3: SpecializationActive {@link WriteGlobalNode#writeModuleCached}
* 4: SpecializationActive {@link WriteGlobalNode#writeModule}
* 5-10: InlinedCache
* Specialization: {@link WriteGlobalNode#writeDictObjectCached}
* Parameter: {@link SetItemNode} storeNode
* Inline method: {@link SetItemNodeGen#inline}
* 11-12: InlinedCache
* Specialization: {@link WriteGlobalNode#writeGenericDict}
* Parameter: {@link PyObjectSetItem} storeNode
* Inline method: {@link PyObjectSetItemNodeGen#inline}
*
*/
@CompilationFinal @UnsafeAccessedField private int state_0_;
/**
* Source Info:
* Specialization: {@link WriteGlobalNode#writeDictObjectCached}
* Parameter: {@link SetItemNode} storeNode
* Inline method: {@link SetItemNodeGen#inline}
* Inline field: {@link Node} field1
*/
@Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setItemDict_field1_;
/**
* Source Info:
* Specialization: {@link WriteGlobalNode#writeDictObjectCached}
* Parameter: {@link SetItemNode} storeNode
* Inline method: {@link SetItemNodeGen#inline}
* Inline field: {@link Node} field2
*/
@Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setItemDict_field2_;
/**
* Source Info:
* Specialization: {@link WriteGlobalNode#writeDictObjectCached}
* Parameter: {@link SetItemNode} storeNode
* Inline method: {@link SetItemNodeGen#inline}
* Inline field: {@link Node} field3
*/
@Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setItemDict_field3_;
/**
* Source Info:
* Specialization: {@link WriteGlobalNode#writeDictObjectCached}
* Parameter: {@link SetItemNode} storeNode
* Inline method: {@link SetItemNodeGen#inline}
* Inline field: {@link Node} field4
*/
@Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setItemDict_field4_;
/**
* Source Info:
* Specialization: {@link WriteGlobalNode#writeDictObjectCached}
* Parameter: {@link SetItemNode} storeNode
* Inline method: {@link SetItemNodeGen#inline}
* Inline field: {@link Node} field5
*/
@Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setItemDict_field5_;
/**
* Source Info:
* Specialization: {@link WriteGlobalNode#writeModuleCached}
* Parameter: {@link WriteAttributeToObjectNode} write
*/
@Child private WriteAttributeToObjectNode write;
@UnsafeAccessedField @Child private WriteDictObjectCachedData writeDictObjectCached_cache;
/**
* Source Info:
* Specialization: {@link WriteGlobalNode#writeGenericDict}
* Parameter: {@link PyObjectSetItem} storeNode
* Inline method: {@link PyObjectSetItemNodeGen#inline}
* Inline field: {@link Node} field1
*/
@Child @UnsafeAccessedField @SuppressWarnings("unused") private Node writeGenericDict_storeNode__field1_;
/**
* Source Info:
* Specialization: {@link WriteGlobalNode#writeGenericDict}
* Parameter: {@link PyObjectSetItem} storeNode
* Inline method: {@link PyObjectSetItemNodeGen#inline}
* Inline field: {@link Node} field2
*/
@Child @UnsafeAccessedField @SuppressWarnings("unused") private Node writeGenericDict_storeNode__field2_;
@UnsafeAccessedField @CompilationFinal private WriteModuleCachedData writeModuleCached_cache;
private WriteGlobalNodeGen() {
}
@Override
public void executeObjectWithGlobals(VirtualFrame frameValue, Object arg0Value, TruffleString arg1Value, Object arg2Value) {
int state_0 = this.state_0_;
if ((state_0 & 0b11111) != 0 /* is SpecializationActive[WriteGlobalNode.writeDictObjectCached(VirtualFrame, PDict, TruffleString, Object, Node, PDict, SetItemNode)] || SpecializationActive[WriteGlobalNode.writeDictObject(VirtualFrame, PDict, TruffleString, Object, Node, SetItemNode)] || SpecializationActive[WriteGlobalNode.writeGenericDict(VirtualFrame, PDict, TruffleString, Object, Node, PyObjectSetItem)] || SpecializationActive[WriteGlobalNode.writeModuleCached(PythonModule, TruffleString, Object, PythonModule, WriteAttributeToObjectNode)] || SpecializationActive[WriteGlobalNode.writeModule(PythonModule, TruffleString, Object, WriteAttributeToObjectNode)] */) {
if ((state_0 & 0b111) != 0 /* is SpecializationActive[WriteGlobalNode.writeDictObjectCached(VirtualFrame, PDict, TruffleString, Object, Node, PDict, SetItemNode)] || SpecializationActive[WriteGlobalNode.writeDictObject(VirtualFrame, PDict, TruffleString, Object, Node, SetItemNode)] || SpecializationActive[WriteGlobalNode.writeGenericDict(VirtualFrame, PDict, TruffleString, Object, Node, PyObjectSetItem)] */ && arg0Value instanceof PDict) {
PDict arg0Value_ = (PDict) arg0Value;
if ((state_0 & 0b1) != 0 /* is SpecializationActive[WriteGlobalNode.writeDictObjectCached(VirtualFrame, PDict, TruffleString, Object, Node, PDict, SetItemNode)] */) {
WriteDictObjectCachedData s0_ = this.writeDictObjectCached_cache;
if (s0_ != null) {
{
PDict cachedGlobals__ = (s0_.weakCachedGlobalsGen__.get());
assert DSLSupport.assertIdempotence((isSingleContext()));
if ((cachedGlobals__ != null) && (arg0Value_ == cachedGlobals__) && (PGuards.isBuiltinDict(cachedGlobals__))) {
Node inliningTarget__ = (this);
writeDictObjectCached(frameValue, arg0Value_, arg1Value, arg2Value, inliningTarget__, cachedGlobals__, INLINED_SET_ITEM_DICT);
return;
}
}
}
}
if ((state_0 & 0b10) != 0 /* is SpecializationActive[WriteGlobalNode.writeDictObject(VirtualFrame, PDict, TruffleString, Object, Node, SetItemNode)] */) {
if ((PGuards.isBuiltinDict(arg0Value_))) {
Node inliningTarget__1 = (this);
writeDictObject(frameValue, arg0Value_, arg1Value, arg2Value, inliningTarget__1, INLINED_SET_ITEM_DICT);
return;
}
}
if ((state_0 & 0b100) != 0 /* is SpecializationActive[WriteGlobalNode.writeGenericDict(VirtualFrame, PDict, TruffleString, Object, Node, PyObjectSetItem)] */) {
{
Node inliningTarget__2 = (this);
writeGenericDict(frameValue, arg0Value_, arg1Value, arg2Value, inliningTarget__2, INLINED_WRITE_GENERIC_DICT_STORE_NODE_);
return;
}
}
}
if ((state_0 & 0b11000) != 0 /* is SpecializationActive[WriteGlobalNode.writeModuleCached(PythonModule, TruffleString, Object, PythonModule, WriteAttributeToObjectNode)] || SpecializationActive[WriteGlobalNode.writeModule(PythonModule, TruffleString, Object, WriteAttributeToObjectNode)] */ && arg0Value instanceof PythonModule) {
PythonModule arg0Value_ = (PythonModule) arg0Value;
if ((state_0 & 0b1000) != 0 /* is SpecializationActive[WriteGlobalNode.writeModuleCached(PythonModule, TruffleString, Object, PythonModule, WriteAttributeToObjectNode)] */) {
WriteModuleCachedData s3_ = this.writeModuleCached_cache;
if (s3_ != null) {
{
WriteAttributeToObjectNode write_ = this.write;
if (write_ != null) {
PythonModule cachedGlobals__1 = (s3_.weakCachedGlobalsGen__.get());
assert DSLSupport.assertIdempotence((isSingleContext()));
if ((cachedGlobals__1 != null) && (arg0Value_ == cachedGlobals__1)) {
writeModuleCached(arg0Value_, arg1Value, arg2Value, cachedGlobals__1, write_);
return;
}
}
}
}
}
if ((state_0 & 0b10000) != 0 /* is SpecializationActive[WriteGlobalNode.writeModule(PythonModule, TruffleString, Object, WriteAttributeToObjectNode)] */) {
{
WriteAttributeToObjectNode write_1 = this.write;
if (write_1 != null) {
writeModule(arg0Value_, arg1Value, arg2Value, write_1);
return;
}
}
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
executeAndSpecialize(frameValue, arg0Value, arg1Value, arg2Value);
return;
}
private void executeAndSpecialize(VirtualFrame frameValue, Object arg0Value, TruffleString arg1Value, Object arg2Value) {
int state_0 = this.state_0_;
if (arg0Value instanceof PDict) {
PDict arg0Value_ = (PDict) arg0Value;
{
PDict cachedGlobals__ = null;
Node inliningTarget__ = null;
if (((state_0 & 0b110)) == 0 /* is-not SpecializationActive[WriteGlobalNode.writeDictObject(VirtualFrame, PDict, TruffleString, Object, Node, SetItemNode)] && SpecializationActive[WriteGlobalNode.writeGenericDict(VirtualFrame, PDict, TruffleString, Object, Node, PyObjectSetItem)] */) {
while (true) {
int count0_ = 0;
WriteDictObjectCachedData s0_ = WRITE_DICT_OBJECT_CACHED_CACHE_UPDATER.getVolatile(this);
WriteDictObjectCachedData s0_original = s0_;
while (s0_ != null) {
{
cachedGlobals__ = (s0_.weakCachedGlobalsGen__.get());
assert DSLSupport.assertIdempotence((isSingleContext()));
if ((cachedGlobals__ != null) && (arg0Value_ == cachedGlobals__) && (PGuards.isBuiltinDict(cachedGlobals__))) {
inliningTarget__ = (this);
break;
}
}
count0_++;
s0_ = null;
break;
}
if (s0_ == null && count0_ < 1) {
if ((isSingleContext())) {
TruffleWeakReference weakCachedGlobalsGen___ = (new TruffleWeakReference<>(arg0Value_));
cachedGlobals__ = (weakCachedGlobalsGen___.get());
if ((cachedGlobals__ != null) && (arg0Value_ == cachedGlobals__) && (PGuards.isBuiltinDict(cachedGlobals__))) {
s0_ = this.insert(new WriteDictObjectCachedData());
s0_.weakCachedGlobalsGen__ = weakCachedGlobalsGen___;
inliningTarget__ = (this);
if (!WRITE_DICT_OBJECT_CACHED_CACHE_UPDATER.compareAndSet(this, s0_original, s0_)) {
continue;
}
state_0 = state_0 | 0b1 /* add SpecializationActive[WriteGlobalNode.writeDictObjectCached(VirtualFrame, PDict, TruffleString, Object, Node, PDict, SetItemNode)] */;
this.state_0_ = state_0;
}
}
}
if (s0_ != null) {
writeDictObjectCached(frameValue, arg0Value_, arg1Value, arg2Value, inliningTarget__, cachedGlobals__, INLINED_SET_ITEM_DICT);
return;
}
break;
}
}
}
{
Node inliningTarget__1 = null;
if (((state_0 & 0b100)) == 0 /* is-not SpecializationActive[WriteGlobalNode.writeGenericDict(VirtualFrame, PDict, TruffleString, Object, Node, PyObjectSetItem)] */) {
if ((PGuards.isBuiltinDict(arg0Value_))) {
inliningTarget__1 = (this);
this.writeDictObjectCached_cache = null;
state_0 = state_0 & 0xfffffffe /* remove SpecializationActive[WriteGlobalNode.writeDictObjectCached(VirtualFrame, PDict, TruffleString, Object, Node, PDict, SetItemNode)] */;
state_0 = state_0 | 0b10 /* add SpecializationActive[WriteGlobalNode.writeDictObject(VirtualFrame, PDict, TruffleString, Object, Node, SetItemNode)] */;
this.state_0_ = state_0;
writeDictObject(frameValue, arg0Value_, arg1Value, arg2Value, inliningTarget__1, INLINED_SET_ITEM_DICT);
return;
}
}
}
{
Node inliningTarget__2 = null;
inliningTarget__2 = (this);
this.writeDictObjectCached_cache = null;
state_0 = state_0 & 0xfffffffc /* remove SpecializationActive[WriteGlobalNode.writeDictObjectCached(VirtualFrame, PDict, TruffleString, Object, Node, PDict, SetItemNode)], SpecializationActive[WriteGlobalNode.writeDictObject(VirtualFrame, PDict, TruffleString, Object, Node, SetItemNode)] */;
state_0 = state_0 | 0b100 /* add SpecializationActive[WriteGlobalNode.writeGenericDict(VirtualFrame, PDict, TruffleString, Object, Node, PyObjectSetItem)] */;
this.state_0_ = state_0;
writeGenericDict(frameValue, arg0Value_, arg1Value, arg2Value, inliningTarget__2, INLINED_WRITE_GENERIC_DICT_STORE_NODE_);
return;
}
}
if (arg0Value instanceof PythonModule) {
PythonModule arg0Value_ = (PythonModule) arg0Value;
{
PythonModule cachedGlobals__1 = null;
if (((state_0 & 0b10000)) == 0 /* is-not SpecializationActive[WriteGlobalNode.writeModule(PythonModule, TruffleString, Object, WriteAttributeToObjectNode)] */) {
while (true) {
int count3_ = 0;
WriteModuleCachedData s3_ = WRITE_MODULE_CACHED_CACHE_UPDATER.getVolatile(this);
WriteModuleCachedData s3_original = s3_;
while (s3_ != null) {
{
WriteAttributeToObjectNode write_ = this.write;
if (write_ != null) {
cachedGlobals__1 = (s3_.weakCachedGlobalsGen__.get());
assert DSLSupport.assertIdempotence((isSingleContext()));
if ((cachedGlobals__1 != null) && (arg0Value_ == cachedGlobals__1)) {
break;
}
}
}
count3_++;
s3_ = null;
break;
}
if (s3_ == null && count3_ < 1) {
if ((isSingleContext())) {
TruffleWeakReference weakCachedGlobalsGen___1 = (new TruffleWeakReference<>(arg0Value_));
cachedGlobals__1 = (weakCachedGlobalsGen___1.get());
if ((cachedGlobals__1 != null) && (arg0Value_ == cachedGlobals__1)) {
s3_ = new WriteModuleCachedData();
s3_.weakCachedGlobalsGen__ = weakCachedGlobalsGen___1;
WriteAttributeToObjectNode write_;
WriteAttributeToObjectNode write__shared = this.write;
if (write__shared != null) {
write_ = write__shared;
} else {
write_ = this.insert((WriteAttributeToObjectNode.create()));
if (write_ == null) {
throw new IllegalStateException("Specialization 'writeModuleCached(PythonModule, TruffleString, Object, PythonModule, WriteAttributeToObjectNode)' contains a shared cache with name 'write' that returned a default value for the cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.write == null) {
this.write = write_;
}
if (!WRITE_MODULE_CACHED_CACHE_UPDATER.compareAndSet(this, s3_original, s3_)) {
continue;
}
state_0 = state_0 | 0b1000 /* add SpecializationActive[WriteGlobalNode.writeModuleCached(PythonModule, TruffleString, Object, PythonModule, WriteAttributeToObjectNode)] */;
this.state_0_ = state_0;
}
}
}
if (s3_ != null) {
writeModuleCached(arg0Value_, arg1Value, arg2Value, cachedGlobals__1, this.write);
return;
}
break;
}
}
}
WriteAttributeToObjectNode write_1;
WriteAttributeToObjectNode write_1_shared = this.write;
if (write_1_shared != null) {
write_1 = write_1_shared;
} else {
write_1 = this.insert((WriteAttributeToObjectNode.create()));
if (write_1 == null) {
throw new IllegalStateException("Specialization 'writeModule(PythonModule, TruffleString, Object, WriteAttributeToObjectNode)' contains a shared cache with name 'write' that returned a default value for the cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.write == null) {
VarHandle.storeStoreFence();
this.write = write_1;
}
this.writeModuleCached_cache = null;
state_0 = state_0 & 0xfffffff7 /* remove SpecializationActive[WriteGlobalNode.writeModuleCached(PythonModule, TruffleString, Object, PythonModule, WriteAttributeToObjectNode)] */;
state_0 = state_0 | 0b10000 /* add SpecializationActive[WriteGlobalNode.writeModule(PythonModule, TruffleString, Object, WriteAttributeToObjectNode)] */;
this.state_0_ = state_0;
writeModule(arg0Value_, arg1Value, arg2Value, write_1);
return;
}
throw new UnsupportedSpecializationException(this, new Node[] {null, null, null}, arg0Value, arg1Value, arg2Value);
}
@Override
public NodeCost getCost() {
int state_0 = this.state_0_;
if ((state_0 & 0b11111) == 0) {
return NodeCost.UNINITIALIZED;
} else {
if (((state_0 & 0b11111) & ((state_0 & 0b11111) - 1)) == 0 /* is-single */) {
return NodeCost.MONOMORPHIC;
}
}
return NodeCost.POLYMORPHIC;
}
@NeverDefault
public static WriteGlobalNode create() {
return new WriteGlobalNodeGen();
}
@NeverDefault
public static WriteGlobalNode getUncached() {
return WriteGlobalNodeGen.UNCACHED;
}
@GeneratedBy(WriteGlobalNode.class)
@DenyReplace
private static final class WriteDictObjectCachedData extends Node implements SpecializationDataNode {
/**
* Source Info:
* Specialization: {@link WriteGlobalNode#writeDictObjectCached}
* Parameter: {@link TruffleWeakReference} weakCachedGlobalsGen_
*/
@CompilationFinal TruffleWeakReference weakCachedGlobalsGen__;
WriteDictObjectCachedData() {
}
@Override
public NodeCost getCost() {
return NodeCost.NONE;
}
}
@GeneratedBy(WriteGlobalNode.class)
@DenyReplace
private static final class WriteModuleCachedData implements SpecializationDataNode {
/**
* Source Info:
* Specialization: {@link WriteGlobalNode#writeModuleCached}
* Parameter: {@link TruffleWeakReference} weakCachedGlobalsGen_
*/
@CompilationFinal TruffleWeakReference weakCachedGlobalsGen__;
WriteModuleCachedData() {
}
}
@GeneratedBy(WriteGlobalNode.class)
@DenyReplace
private static final class Uncached extends WriteGlobalNode {
@Override
public void executeObjectWithGlobals(VirtualFrame frameValue, Object arg0Value, TruffleString arg1Value, Object arg2Value) {
CompilerDirectives.transferToInterpreterAndInvalidate();
if (arg0Value instanceof PDict) {
PDict arg0Value_ = (PDict) arg0Value;
writeGenericDict(frameValue, arg0Value_, arg1Value, arg2Value, (this), (PyObjectSetItem.getUncached()));
return;
}
if (arg0Value instanceof PythonModule) {
PythonModule arg0Value_ = (PythonModule) arg0Value;
writeModule(arg0Value_, arg1Value, arg2Value, (WriteAttributeToObjectNode.getUncached()));
return;
}
throw new UnsupportedSpecializationException(this, new Node[] {null, null, null}, arg0Value, arg1Value, arg2Value);
}
@Override
public NodeCost getCost() {
return NodeCost.MEGAMORPHIC;
}
@Override
public boolean isAdoptable() {
return false;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy