From ff8b39e4fba834b7d64c713b84f893fb5f9c3680 Mon Sep 17 00:00:00 2001 From: Adam Welc <adam.welc@oracle.com> Date: Sun, 17 Aug 2014 18:07:22 -0700 Subject: [PATCH] Removed unused annotation "order" attribute. --- .../truffle/r/nodes/builtin/base/All.java | 6 +- .../truffle/r/nodes/builtin/base/Any.java | 6 +- .../r/nodes/builtin/base/AnyDuplicated.java | 14 +- .../truffle/r/nodes/builtin/base/Apply.java | 6 +- .../truffle/r/nodes/builtin/base/Array.java | 28 +- .../r/nodes/builtin/base/AsDouble.java | 2 +- .../r/nodes/builtin/base/AsInteger.java | 2 +- .../r/nodes/builtin/base/AsLogical.java | 6 +- .../r/nodes/builtin/base/AsVector.java | 26 +- .../truffle/r/nodes/builtin/base/Assign.java | 16 +- .../r/nodes/builtin/base/AttachFunctions.java | 16 +- .../truffle/r/nodes/builtin/base/Attr.java | 10 +- .../r/nodes/builtin/base/ColMeans.java | 14 +- .../truffle/r/nodes/builtin/base/ColSums.java | 14 +- .../truffle/r/nodes/builtin/base/Combine.java | 30 +- .../builtin/base/ConnectionFunctions.java | 4 +- .../r/nodes/builtin/base/Crossprod.java | 4 +- .../r/nodes/builtin/base/DelayedAssign.java | 8 +- .../truffle/r/nodes/builtin/base/Diag.java | 18 +- .../r/nodes/builtin/base/DotLibpaths.java | 6 +- .../r/nodes/builtin/base/EncodeString.java | 26 +- .../r/nodes/builtin/base/EnvFunctions.java | 20 +- .../truffle/r/nodes/builtin/base/Exists.java | 10 +- .../r/nodes/builtin/base/FileFunctions.java | 18 +- .../nodes/builtin/base/ForeignFunctions.java | 8 +- .../truffle/r/nodes/builtin/base/Format.java | 8 +- .../truffle/r/nodes/builtin/base/Get.java | 6 +- .../r/nodes/builtin/base/GetClass.java | 4 +- .../r/nodes/builtin/base/GrepFunctions.java | 12 +- .../r/nodes/builtin/base/Identical.java | 14 +- .../truffle/r/nodes/builtin/base/Ifelse.java | 14 +- .../r/nodes/builtin/base/IsFinite.java | 2 +- .../r/nodes/builtin/base/IsListFunctions.java | 8 +- .../truffle/r/nodes/builtin/base/IsTRUE.java | 6 +- .../r/nodes/builtin/base/IsVector.java | 14 +- .../truffle/r/nodes/builtin/base/Ls.java | 14 +- .../truffle/r/nodes/builtin/base/MatMult.java | 142 ++-- .../truffle/r/nodes/builtin/base/Match.java | 24 +- .../truffle/r/nodes/builtin/base/Matrix.java | 16 +- .../r/nodes/builtin/base/NGetText.java | 18 +- .../r/nodes/builtin/base/NextMethod.java | 6 +- .../r/nodes/builtin/base/NormalizePath.java | 2 +- .../truffle/r/nodes/builtin/base/Order.java | 16 +- .../truffle/r/nodes/builtin/base/Parse.java | 6 +- .../r/nodes/builtin/base/PathExpand.java | 2 +- .../nodes/builtin/base/PrettyPrinterNode.java | 70 +- .../r/nodes/builtin/base/RNGFunctions.java | 12 +- .../truffle/r/nodes/builtin/base/Repeat.java | 76 +-- .../r/nodes/builtin/base/RepeatInternal.java | 4 +- .../truffle/r/nodes/builtin/base/Rhome.java | 4 +- .../truffle/r/nodes/builtin/base/Rm.java | 8 +- .../truffle/r/nodes/builtin/base/Round.java | 18 +- .../r/nodes/builtin/base/RowMeans.java | 14 +- .../truffle/r/nodes/builtin/base/RowSums.java | 14 +- .../truffle/r/nodes/builtin/base/Sample.java | 22 +- .../truffle/r/nodes/builtin/base/Seq.java | 80 +-- .../truffle/r/nodes/builtin/base/Sprintf.java | 30 +- .../truffle/r/nodes/builtin/base/Substr.java | 6 +- .../truffle/r/nodes/builtin/base/Switch.java | 8 +- .../r/nodes/builtin/base/SysFunctions.java | 16 +- .../r/nodes/builtin/base/TempFile.java | 4 +- .../r/nodes/builtin/base/Transpose.java | 8 +- .../nodes/builtin/base/TrigExpFunctions.java | 12 +- .../truffle/r/nodes/builtin/base/Unlist.java | 4 +- .../r/nodes/builtin/base/UpdateAttr.java | 10 +- .../r/nodes/builtin/base/UpdateDiag.java | 10 +- .../r/nodes/builtin/base/UpdateDim.java | 4 +- .../r/nodes/builtin/base/UpdateDimNames.java | 6 +- .../r/nodes/builtin/base/UpdateLength.java | 4 +- .../nodes/builtin/base/UpdateStorageMode.java | 8 +- .../r/nodes/builtin/base/UpdateSubstr.java | 10 +- .../r/nodes/access/AccessArrayNode.java | 192 +++--- .../r/nodes/access/AccessFieldNode.java | 8 +- .../r/nodes/access/ArrayPositionCast.java | 220 +++---- .../r/nodes/access/CoerceBinaryNode.java | 136 ++-- .../r/nodes/access/UpdateArrayHelperNode.java | 614 +++++++++--------- .../r/nodes/access/UpdateFieldNode.java | 6 +- .../r/nodes/access/VectorPositionCast.java | 16 +- .../r/nodes/binary/BinaryArithmeticNode.java | 150 ++--- .../r/nodes/binary/BinaryBooleanNode.java | 396 +++++------ .../BinaryBooleanNonVectorizedNode.java | 64 +- .../truffle/r/nodes/binary/CastTypeNode.java | 18 +- .../r/nodes/binary/CbindBinaryNode.java | 6 +- .../truffle/r/nodes/binary/ColonNode.java | 16 +- .../binary/CombineBinaryComplexNode.java | 16 +- .../nodes/binary/CombineBinaryDoubleNode.java | 14 +- .../binary/CombineBinaryIntegerNode.java | 10 +- .../r/nodes/binary/CombineBinaryListNode.java | 4 +- .../binary/CombineBinaryLogicalNode.java | 16 +- .../r/nodes/binary/CombineBinaryRawNode.java | 16 +- .../nodes/binary/CombineBinaryStringNode.java | 16 +- .../r/nodes/binary/RbindBinaryNode.java | 6 +- .../nodes/function/UseMethodDispatchNode.java | 2 +- .../r/nodes/unary/CastComplexNode.java | 36 +- .../truffle/r/nodes/unary/CastDoubleNode.java | 42 +- .../r/nodes/unary/CastIntegerNode.java | 40 +- .../truffle/r/nodes/unary/CastListNode.java | 8 +- .../r/nodes/unary/CastLogicalNode.java | 24 +- .../truffle/r/nodes/unary/CastRawNode.java | 24 +- .../truffle/r/nodes/unary/CastStringNode.java | 44 +- .../r/nodes/unary/CastToContainerNode.java | 8 +- .../r/nodes/unary/CastToVectorNode.java | 8 +- .../truffle/r/nodes/unary/InheritsNode.java | 6 +- .../truffle/r/nodes/unary/PrecedenceNode.java | 4 +- .../truffle/r/nodes/unary/ToStringNode.java | 10 +- .../truffle/r/nodes/unary/TypeofNode.java | 6 +- .../r/nodes/unary/UnaryArithmeticNode.java | 36 +- .../unary/UnaryArithmeticReduceNode.java | 26 +- .../truffle/r/nodes/unary/UnaryNotNode.java | 28 +- 109 files changed, 1703 insertions(+), 1703 deletions(-) diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/All.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/All.java index b76d338e2b..78bc6b2753 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/All.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/All.java @@ -63,21 +63,21 @@ public abstract class All extends RBuiltinNode { return value; } - @Specialization(order = 10) + @Specialization public byte all(int value) { controlVisibility(); check.enable(value); return check.convertIntToLogical(value); } - @Specialization(order = 12) + @Specialization public byte all(double value) { controlVisibility(); check.enable(value); return check.convertDoubleToLogical(value); } - @Specialization(order = 14) + @Specialization public byte all(RComplex value) { controlVisibility(); check.enable(value); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Any.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Any.java index 87dd1c12d3..d94ffd591f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Any.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Any.java @@ -65,21 +65,21 @@ public abstract class Any extends RBuiltinNode { return value; } - @Specialization(order = 10) + @Specialization public byte any(int value) { controlVisibility(); check.enable(value); return check.convertIntToLogical(value); } - @Specialization(order = 12) + @Specialization public byte any(double value) { controlVisibility(); check.enable(value); return check.convertDoubleToLogical(value); } - @Specialization(order = 14) + @Specialization public byte any(RComplex value) { controlVisibility(); check.enable(value); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AnyDuplicated.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AnyDuplicated.java index 817f8ed4ef..64d2f8137e 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AnyDuplicated.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AnyDuplicated.java @@ -45,19 +45,19 @@ public abstract class AnyDuplicated extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(guards = {"!isIncomparable", "!isFromLast", "!empty"}, order = 0) + @Specialization(guards = {"!isIncomparable", "!isFromLast", "!empty"}) public int anyDuplicatedFalseIncomparablesFromStart(RAbstractVector x, byte incomparables, byte fromLast) { return getIndexFromStart(x); } @SuppressWarnings("unused") - @Specialization(guards = {"!isIncomparable", "isFromLast", "!empty"}, order = 1) + @Specialization(guards = {"!isIncomparable", "isFromLast", "!empty"}) public int anyDuplicatedFalseIncomparablesFromLast(RAbstractVector x, byte incomparables, byte fromLast) { return getIndexFromLast(x); } @SuppressWarnings("unused") - @Specialization(guards = {"isIncomparable", "!isFromLast", "!empty"}, order = 2) + @Specialization(guards = {"isIncomparable", "!isFromLast", "!empty"}) public int anyDuplicatedTrueIncomparablesFromStart(VirtualFrame frame, RAbstractVector x, byte incomparables, byte fromLast) { initTypeof(); initCastTypeNode(); @@ -66,7 +66,7 @@ public abstract class AnyDuplicated extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(guards = {"isIncomparable", "isFromLast", "!empty"}, order = 3) + @Specialization(guards = {"isIncomparable", "isFromLast", "!empty"}) public int anyDuplicatedTrueIncomparablesFromLast(VirtualFrame frame, RAbstractVector x, byte incomparables, byte fromLast) { initTypeof(); initCastTypeNode(); @@ -74,7 +74,7 @@ public abstract class AnyDuplicated extends RBuiltinNode { return getIndexFromLast(x, (RAbstractVector) (castTypeNode.execute(frame, incomparables, xType))); } - @Specialization(guards = {"!isFromLast", "!empty"}, order = 4) + @Specialization(guards = {"!isFromLast", "!empty"}) public int anyDuplicatedFromStart(VirtualFrame frame, RAbstractVector x, RAbstractVector incomparables, @SuppressWarnings("unused") byte fromLast) { initTypeof(); initCastTypeNode(); @@ -82,7 +82,7 @@ public abstract class AnyDuplicated extends RBuiltinNode { return getIndexFromStart(x, (RAbstractVector) (castTypeNode.execute(frame, incomparables, xType))); } - @Specialization(guards = {"isFromLast", "!empty"}, order = 5) + @Specialization(guards = {"isFromLast", "!empty"}) public int anyDuplicatedFromLast(VirtualFrame frame, RAbstractVector x, RAbstractVector incomparables, @SuppressWarnings("unused") byte fromLast) { initTypeof(); initCastTypeNode(); @@ -91,7 +91,7 @@ public abstract class AnyDuplicated extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(guards = "empty", order = 10) + @Specialization(guards = "empty") public int anyDuplicatedEmpty(VirtualFrame frame, RAbstractVector x, RAbstractVector incomparables, byte fromLast) { return 0; } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Apply.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Apply.java index 2dae7233a6..680cacac8d 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Apply.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Apply.java @@ -46,7 +46,7 @@ public abstract class Apply extends RBuiltinNode { return new RNode[]{ConstantNode.create(RMissing.instance), ConstantNode.create(RMissing.instance), ConstantNode.create(RMissing.instance), ConstantNode.create(RMissing.instance)}; } - @Specialization(order = 1, guards = "rowMargin") + @Specialization(guards = "rowMargin") @SuppressWarnings("unused") public Object applyRows(VirtualFrame frame, RDoubleVector x, double margin, RFunction fun, Object args) { controlVisibility(); @@ -65,7 +65,7 @@ public abstract class Apply extends RBuiltinNode { return RDataFactory.createObjectVector(result, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 2, guards = "colMargin") + @Specialization(guards = "colMargin") @SuppressWarnings("unused") public Object applyCols(VirtualFrame frame, RDoubleVector x, double margin, RFunction fun, Object args) { controlVisibility(); @@ -84,7 +84,7 @@ public abstract class Apply extends RBuiltinNode { return RDataFactory.createObjectVector(result, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 3, guards = "rowMarginInt") + @Specialization(guards = "rowMarginInt") @SuppressWarnings("unused") public Object applyRows(VirtualFrame frame, RLogicalVector x, int margin, RFunction fun, Object args) { controlVisibility(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Array.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Array.java index 6573440cf9..26a33c9042 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Array.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Array.java @@ -88,13 +88,13 @@ public abstract class Array extends RBuiltinNode { return RDataFactory.createIntVector(data, vec.isComplete(), dimData); } - @Specialization(order = 10) + @Specialization public RIntVector doArrayNoDimNames(VirtualFrame frame, RAbstractIntVector vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { controlVisibility(); return doArrayInt(frame, vec, dim); } - @Specialization(order = 11) + @Specialization public RIntVector doArray(VirtualFrame frame, RAbstractIntVector vec, RAbstractIntVector dim, RList dimnames) { controlVisibility(); RIntVector ret = doArrayInt(frame, vec, dim); @@ -112,13 +112,13 @@ public abstract class Array extends RBuiltinNode { return RDataFactory.createDoubleVector(data, vec.isComplete(), dimData); } - @Specialization(order = 20) + @Specialization public RDoubleVector doArrayNoDimNames(VirtualFrame frame, RAbstractDoubleVector vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { controlVisibility(); return doArrayDouble(frame, vec, dim); } - @Specialization(order = 21) + @Specialization public RDoubleVector doArray(VirtualFrame frame, RAbstractDoubleVector vec, RAbstractIntVector dim, RList dimnames) { controlVisibility(); RDoubleVector ret = doArrayDouble(frame, vec, dim); @@ -136,13 +136,13 @@ public abstract class Array extends RBuiltinNode { return RDataFactory.createLogicalVector(data, vec.isComplete(), dimData); } - @Specialization(order = 30) + @Specialization public RLogicalVector doArrayNoDimNames(VirtualFrame frame, RAbstractLogicalVector vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { controlVisibility(); return doArrayLogical(frame, vec, dim); } - @Specialization(order = 31) + @Specialization public RLogicalVector doArray(VirtualFrame frame, RAbstractLogicalVector vec, RAbstractIntVector dim, RList dimnames) { controlVisibility(); RLogicalVector ret = doArrayLogical(frame, vec, dim); @@ -160,13 +160,13 @@ public abstract class Array extends RBuiltinNode { return RDataFactory.createStringVector(data, vec.isComplete(), dimData); } - @Specialization(order = 40) + @Specialization public RStringVector doArrayNoDimNames(VirtualFrame frame, RAbstractStringVector vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { controlVisibility(); return doArrayString(frame, vec, dim); } - @Specialization(order = 41) + @Specialization public RStringVector doArray(VirtualFrame frame, RAbstractStringVector vec, RAbstractIntVector dim, RList dimnames) { controlVisibility(); RStringVector ret = doArrayString(frame, vec, dim); @@ -187,13 +187,13 @@ public abstract class Array extends RBuiltinNode { return RDataFactory.createComplexVector(data, vec.isComplete(), dimData); } - @Specialization(order = 50) + @Specialization public RComplexVector doArrayNoDimNames(VirtualFrame frame, RAbstractComplexVector vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { controlVisibility(); return doArrayComplex(frame, vec, dim); } - @Specialization(order = 51) + @Specialization public RComplexVector doArray(VirtualFrame frame, RAbstractComplexVector vec, RAbstractIntVector dim, RList dimnames) { controlVisibility(); RComplexVector ret = doArrayComplex(frame, vec, dim); @@ -211,13 +211,13 @@ public abstract class Array extends RBuiltinNode { return RDataFactory.createRawVector(data, dimData); } - @Specialization(order = 60) + @Specialization public RRawVector doArrayNoDimNames(VirtualFrame frame, RAbstractRawVector vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { controlVisibility(); return doArrayRaw(frame, vec, dim); } - @Specialization(order = 61) + @Specialization public RRawVector doArray(VirtualFrame frame, RAbstractRawVector vec, RAbstractIntVector dim, RList dimnames) { controlVisibility(); RRawVector ret = doArrayRaw(frame, vec, dim); @@ -235,13 +235,13 @@ public abstract class Array extends RBuiltinNode { return RDataFactory.createList(data, dimData); } - @Specialization(order = 70) + @Specialization public RList doArrayNoDimeNames(VirtualFrame frame, RList vec, RAbstractIntVector dim, @SuppressWarnings("unused") RNull dimnames) { controlVisibility(); return doArrayList(frame, vec, dim); } - @Specialization(order = 71) + @Specialization public RList doArray(VirtualFrame frame, RList vec, RAbstractIntVector dim, RList dimnames) { controlVisibility(); RList ret = doArrayList(frame, vec, dim); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsDouble.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsDouble.java index e4b61d3558..cd8e7c875c 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsDouble.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsDouble.java @@ -78,7 +78,7 @@ public abstract class AsDouble extends RBuiltinNode { return value; } - @Specialization(order = 10) + @Specialization public double asDoubleInt(VirtualFrame frame, int value) { controlVisibility(); return castDouble(frame, value); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsInteger.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsInteger.java index f606877998..68b4a347f8 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsInteger.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsInteger.java @@ -113,7 +113,7 @@ public abstract class AsInteger extends RBuiltinNode { return RRuntime.INT_NA; } - @Specialization(order = 71) + @Specialization public RIntVector asInteger(RIntVector vector) { controlVisibility(); return RDataFactory.createIntVector(vector.getDataCopy(), vector.isComplete()); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsLogical.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsLogical.java index bafbe38579..292cfd255b 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsLogical.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsLogical.java @@ -64,19 +64,19 @@ public abstract class AsLogical extends RBuiltinNode { return value; } - @Specialization(order = 10) + @Specialization public byte asLogical(VirtualFrame frame, int value) { controlVisibility(); return castLogical(frame, value); } - @Specialization(order = 12) + @Specialization public byte asLogical(VirtualFrame frame, double value) { controlVisibility(); return castLogical(frame, value); } - @Specialization(order = 14) + @Specialization public byte asLogical(VirtualFrame frame, RComplex value) { controlVisibility(); return castLogical(frame, value); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsVector.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsVector.java index 5bf3a4d9d3..90c0322a0a 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsVector.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsVector.java @@ -117,61 +117,61 @@ public abstract class AsVector extends RBuiltinNode { return new RNode[]{ConstantNode.create(RMissing.instance), ConstantNode.create(RRuntime.TYPE_ANY)}; } - @Specialization(order = 10) + @Specialization public Object asVector(RNull x, @SuppressWarnings("unused") RMissing mode) { controlVisibility(); return x; } - @Specialization(order = 100, guards = "castToInt") + @Specialization(guards = "castToInt") public RAbstractVector asVectorInt(VirtualFrame frame, RAbstractVector x, @SuppressWarnings("unused") String mode) { controlVisibility(); return castInteger(frame, x); } - @Specialization(order = 200, guards = "castToDouble") + @Specialization(guards = "castToDouble") public RAbstractVector asVectorDouble(VirtualFrame frame, RAbstractVector x, @SuppressWarnings("unused") String mode) { controlVisibility(); return castDouble(frame, x); } - @Specialization(order = 300, guards = "castToComplex") + @Specialization(guards = "castToComplex") public RAbstractVector asVectorComplex(VirtualFrame frame, RAbstractVector x, @SuppressWarnings("unused") String mode) { controlVisibility(); return castComplex(frame, x); } - @Specialization(order = 400, guards = "castToLogical") + @Specialization(guards = "castToLogical") public RAbstractVector asVectorLogical(VirtualFrame frame, RAbstractVector x, @SuppressWarnings("unused") String mode) { controlVisibility(); return castLogical(frame, x); } - @Specialization(order = 500, guards = "castToString") + @Specialization(guards = "castToString") public RAbstractVector asVectorString(VirtualFrame frame, RAbstractVector x, @SuppressWarnings("unused") String mode) { controlVisibility(); return castString(frame, x); } - @Specialization(order = 600, guards = "castToRaw") + @Specialization(guards = "castToRaw") public RAbstractVector asVectorRaw(VirtualFrame frame, RAbstractVector x, @SuppressWarnings("unused") String mode) { controlVisibility(); return castRaw(frame, x); } - @Specialization(order = 700, guards = "castToList") + @Specialization(guards = "castToList") public RAbstractVector asVectorList(VirtualFrame frame, RAbstractVector x, @SuppressWarnings("unused") String mode) { controlVisibility(); return castList(frame, x); } - @Specialization(order = 800, guards = "castToSymbol") + @Specialization(guards = "castToSymbol") public RSymbol asVectorSymbol(VirtualFrame frame, RAbstractVector x, @SuppressWarnings("unused") String mode) { controlVisibility(); return castSymbol(frame, x); } - @Specialization(order = 900, guards = "isSymbol") + @Specialization(guards = "isSymbol") public RSymbol asVectorSymbol(RSymbol x, @SuppressWarnings("unused") String mode) { controlVisibility(); return RDataFactory.createSymbol(x.getName()); @@ -181,7 +181,7 @@ public abstract class AsVector extends RBuiltinNode { return mode.equals("symbol"); } - @Specialization(order = 1000) + @Specialization public RAbstractVector asVector(RList x, @SuppressWarnings("unused") String mode) { controlVisibility(); RList result = x.copyWithNewDimensions(null); @@ -189,14 +189,14 @@ public abstract class AsVector extends RBuiltinNode { return result; } - @Specialization(order = 1001, guards = "modeIsAnyOrMatches") + @Specialization(guards = "modeIsAnyOrMatches") public RAbstractVector asVector(RAbstractVector x, @SuppressWarnings("unused") String mode) { controlVisibility(); return x.copyWithNewDimensions(null); } @SuppressWarnings("unused") - @Specialization(order = 1002, guards = "invalidMode") + @Specialization(guards = "invalidMode") public RAbstractVector asVectorWrongMode(VirtualFrame frame, RAbstractVector x, String mode) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, "mode"); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Assign.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Assign.java index 3025cc0d6c..d7b6ffa2b6 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Assign.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Assign.java @@ -67,7 +67,7 @@ public abstract class Assign extends RInvisibleBuiltinNode { } } - @Specialization(order = 1, guards = {"noEnv", "!doesInheritS"}) + @Specialization(guards = {"noEnv", "!doesInheritS"}) @SuppressWarnings("unused") public Object assignNoInherit(VirtualFrame frame, String x, Object value, Object pos, RMissing envir, byte inherits, byte immediate) { controlVisibility(); @@ -77,7 +77,7 @@ public abstract class Assign extends RInvisibleBuiltinNode { } @ExplodeLoop - @Specialization(order = 2, guards = {"noEnv", "doesInheritS"}) + @Specialization(guards = {"noEnv", "doesInheritS"}) @SuppressWarnings("unused") public Object assignInherit(VirtualFrame virtualFrame, String variableName, Object variableValue, Object pos, RMissing environment, byte inherits, byte immediate) { controlVisibility(); @@ -120,7 +120,7 @@ public abstract class Assign extends RInvisibleBuiltinNode { return frameSlot != null || REnvironment.isGlobalEnvFrame(materializedFrame); } - @Specialization(order = 10, guards = "!doesInherit") + @Specialization(guards = "!doesInherit") @SuppressWarnings("unused") public Object assignNoInherit(VirtualFrame frame, String x, Object value, REnvironment pos, RMissing envir, byte inherits, byte immediate) { controlVisibility(); @@ -135,13 +135,13 @@ public abstract class Assign extends RInvisibleBuiltinNode { return value; } - @Specialization(order = 11, guards = "!doesInheritX") + @Specialization(guards = "!doesInheritX") @SuppressWarnings("unused") public Object assignNoInherit(VirtualFrame frame, String x, Object value, int pos, REnvironment envir, byte inherits, byte immediate) { return assignNoInherit(frame, x, value, envir, RMissing.instance, inherits, immediate); } - @Specialization(order = 12, guards = "doesInherit") + @Specialization(guards = "doesInherit") @SuppressWarnings("unused") public Object assignInherit(VirtualFrame frame, String x, Object value, REnvironment pos, RMissing envir, byte inherits, byte immediate) { controlVisibility(); @@ -164,19 +164,19 @@ public abstract class Assign extends RInvisibleBuiltinNode { return value; } - @Specialization(order = 20, guards = "!doesInherit") + @Specialization(guards = "!doesInherit") public Object assignNoInherit(VirtualFrame frame, RStringVector x, Object value, REnvironment pos, RMissing envir, byte inherits, byte immediate) { controlVisibility(); return assignNoInherit(frame, x.getDataAt(0), value, pos, envir, inherits, immediate); } - @Specialization(order = 21, guards = "doesInherit") + @Specialization(guards = "doesInherit") public Object assignInherit(VirtualFrame frame, RStringVector x, Object value, REnvironment pos, RMissing envir, byte inherits, byte immediate) { controlVisibility(); return assignInherit(frame, x.getDataAt(0), value, pos, envir, inherits, immediate); } - @Specialization(order = 22, guards = "doesInheritX") + @Specialization(guards = "doesInheritX") public Object assignInherit(VirtualFrame frame, RStringVector x, Object value, @SuppressWarnings("unused") int pos, REnvironment envir, byte inherits, byte immediate) { controlVisibility(); return assignInherit(frame, x.getDataAt(0), value, envir, RMissing.instance, inherits, immediate); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AttachFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AttachFunctions.java index e4e3203b07..88c79bb278 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AttachFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AttachFunctions.java @@ -49,7 +49,7 @@ public class AttachFunctions { return new RNode[]{ConstantNode.create(RMissing.instance), ConstantNode.create(2), null, ConstantNode.create(RRuntime.LOGICAL_FALSE), ConstantNode.create(RRuntime.LOGICAL_FALSE)}; } - @Specialization(order = 0) + @Specialization public REnvironment doAttach(@SuppressWarnings("unused") RNull what, int pos, String name) { controlVisibility(); REnvironment env = new REnvironment.NewEnv(name); @@ -57,24 +57,24 @@ public class AttachFunctions { return env; } - @Specialization(order = 1) + @Specialization public REnvironment doAttach(RNull what, double pos, RAbstractStringVector name) { return doAttach(what, (int) pos, name.getDataAt(0)); } - @Specialization(order = 2) + @Specialization public REnvironment doAttach(REnvironment what, String name, @SuppressWarnings("unused") String unused) { controlVisibility(); return doAttachEnv(what, 2, name); } - @Specialization(order = 3) + @Specialization public REnvironment doAttach(REnvironment what, int pos, String name) { controlVisibility(); return doAttachEnv(what, pos, name); } - @Specialization(order = 4) + @Specialization public REnvironment doAttach(REnvironment what, double pos, String name) { controlVisibility(); return doAttachEnv(what, (int) pos, name); @@ -94,19 +94,19 @@ public class AttachFunctions { } - @Specialization(order = 10) + @Specialization public REnvironment doAttach(RList what, String name, @SuppressWarnings("unused") String unused) { controlVisibility(); return doAttachList(what, 2, name); } - @Specialization(order = 11) + @Specialization public REnvironment doAttach(RList what, int pos, String name) { controlVisibility(); return doAttachList(what, pos, name); } - @Specialization(order = 12) + @Specialization public REnvironment doAttach(RList what, double pos, String name) { controlVisibility(); return doAttachList(what, (int) pos, name); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attr.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attr.java index ecb8d5383d..7ffc55d243 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attr.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attr.java @@ -50,7 +50,7 @@ public abstract class Attr extends RBuiltinNode { return val; } - @Specialization(order = 1, guards = "!isRowNamesAttr") + @Specialization(guards = "!isRowNamesAttr") public Object attr(RAbstractContainer container, String name) { controlVisibility(); RAttributes attributes = container.getAttributes(); @@ -75,7 +75,7 @@ public abstract class Attr extends RBuiltinNode { } } - @Specialization(order = 2, guards = "isRowNamesAttr") + @Specialization(guards = "isRowNamesAttr") public Object attrRowNames(RAbstractContainer container, @SuppressWarnings("unused") String name) { controlVisibility(); RAttributes attributes = container.getAttributes(); @@ -86,18 +86,18 @@ public abstract class Attr extends RBuiltinNode { } } - @Specialization(order = 10, guards = {"!emptyName", "isRowNamesAttr"}) + @Specialization(guards = {"!emptyName", "isRowNamesAttr"}) public Object attrRowNames(RAbstractContainer container, RStringVector name) { return attrRowNames(container, name.getDataAt(0)); } - @Specialization(order = 11, guards = {"!emptyName", "!isRowNamesAttr"}) + @Specialization(guards = {"!emptyName", "!isRowNamesAttr"}) public Object attr(RAbstractContainer container, RStringVector name) { return attr(container, name.getDataAt(0)); } @SuppressWarnings("unused") - @Specialization(order = 12, guards = "emptyName") + @Specialization(guards = "emptyName") public Object attrEmtpyName(VirtualFrame frame, RAbstractContainer container, RStringVector name) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.EXACTLY_ONE_WHICH); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColMeans.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColMeans.java index 01348b299c..c9a8b29317 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColMeans.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColMeans.java @@ -42,7 +42,7 @@ public abstract class ColMeans extends RBuiltinNode { return arguments; } - @Specialization(guards = "!isNaRm", order = 0) + @Specialization(guards = "!isNaRm") public RDoubleVector colMeansNaRmFalse(RDoubleVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[colNum]; @@ -68,7 +68,7 @@ public abstract class ColMeans extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA() && isComplete); } - @Specialization(guards = "isNaRm", order = 1) + @Specialization(guards = "isNaRm") public RDoubleVector colMeansNaRmTrue(RDoubleVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[colNum]; @@ -94,7 +94,7 @@ public abstract class ColMeans extends RBuiltinNode { return RDataFactory.createDoubleVector(result, isComplete); } - @Specialization(guards = "!isNaRm", order = 2) + @Specialization(guards = "!isNaRm") public RDoubleVector colMeansNaRmFalse(RLogicalVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[colNum]; @@ -114,7 +114,7 @@ public abstract class ColMeans extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA()); } - @Specialization(guards = "isNaRm", order = 3) + @Specialization(guards = "isNaRm") public RDoubleVector colMeansNaRmTrue(RLogicalVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[colNum]; @@ -140,7 +140,7 @@ public abstract class ColMeans extends RBuiltinNode { return RDataFactory.createDoubleVector(result, isComplete); } - @Specialization(guards = "!isNaRm", order = 4) + @Specialization(guards = "!isNaRm") public RDoubleVector colMeansNaRmFalse(RIntVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[colNum]; @@ -160,7 +160,7 @@ public abstract class ColMeans extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA()); } - @Specialization(guards = "isNaRm", order = 5) + @Specialization(guards = "isNaRm") public RDoubleVector colMeansNaRmTrue(RIntVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[colNum]; @@ -187,7 +187,7 @@ public abstract class ColMeans extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 6) + @Specialization public RDoubleVector colMeans(VirtualFrame frame, RAbstractStringVector x, int rowNum, int colNum, byte naRm) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.X_NUMERIC); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColSums.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColSums.java index e9975e3b1b..141759cdee 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColSums.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ColSums.java @@ -54,7 +54,7 @@ public abstract class ColSums extends RBuiltinNode { return arguments; } - @Specialization(guards = "!isNaRm", order = 0) + @Specialization(guards = "!isNaRm") public RDoubleVector colSumsNaRmFalse(RDoubleVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[colNum]; @@ -80,7 +80,7 @@ public abstract class ColSums extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA() && isComplete); } - @Specialization(guards = "isNaRm", order = 1) + @Specialization(guards = "isNaRm") public RDoubleVector colSumsNaRmTrue(RDoubleVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[colNum]; @@ -98,7 +98,7 @@ public abstract class ColSums extends RBuiltinNode { return RDataFactory.createDoubleVector(result, RDataFactory.COMPLETE_VECTOR); } - @Specialization(guards = "!isNaRm", order = 2) + @Specialization(guards = "!isNaRm") public RDoubleVector colSumsNaRmFalse(RLogicalVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[colNum]; @@ -118,7 +118,7 @@ public abstract class ColSums extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA()); } - @Specialization(guards = "isNaRm", order = 3) + @Specialization(guards = "isNaRm") public RDoubleVector colSumsNaRmTrue(RLogicalVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[colNum]; @@ -136,7 +136,7 @@ public abstract class ColSums extends RBuiltinNode { return RDataFactory.createDoubleVector(result, RDataFactory.COMPLETE_VECTOR); } - @Specialization(guards = "!isNaRm", order = 4) + @Specialization(guards = "!isNaRm") public RDoubleVector colSumsNaRmFalse(RIntVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[colNum]; @@ -156,7 +156,7 @@ public abstract class ColSums extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA()); } - @Specialization(guards = "isNaRm", order = 5) + @Specialization(guards = "isNaRm") public RDoubleVector colSumsNaRmTrue(RIntVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[colNum]; @@ -175,7 +175,7 @@ public abstract class ColSums extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 6) + @Specialization public RDoubleVector colSums(VirtualFrame frame, RAbstractStringVector x, int rowNum, int colNum, byte naRm) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.X_NUMERIC); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Combine.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Combine.java index 938e132f73..ec83706536 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Combine.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Combine.java @@ -394,14 +394,14 @@ public abstract class Combine extends RBuiltinNode { } } - @Specialization(order = 1, guards = "isNullPrecedence") + @Specialization(guards = "isNullPrecedence") @ExplodeLoop public RNull allNull(VirtualFrame frame, Object[] array) { controlVisibility(); return RNull.instance; } - @Specialization(order = 2, guards = {"isLogicalPrecedence", "noArgNames"}) + @Specialization(guards = {"isLogicalPrecedence", "noArgNames"}) @ExplodeLoop public Object allLogical(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -413,7 +413,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 3, guards = {"isLogicalPrecedence", "hasArgNames"}) + @Specialization(guards = {"isLogicalPrecedence", "hasArgNames"}) @ExplodeLoop public Object allLogicalArgs(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -427,7 +427,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 4, guards = {"isIntegerPrecedence", "noArgNames"}) + @Specialization(guards = {"isIntegerPrecedence", "noArgNames"}) @ExplodeLoop public Object allInt(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -439,7 +439,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 5, guards = {"isIntegerPrecedence", "hasArgNames"}) + @Specialization(guards = {"isIntegerPrecedence", "hasArgNames"}) @ExplodeLoop public Object allIntArgs(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -453,7 +453,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 6, guards = {"isDoublePrecedence", "noArgNames"}) + @Specialization(guards = {"isDoublePrecedence", "noArgNames"}) @ExplodeLoop public Object allDouble(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -465,7 +465,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 7, guards = {"isDoublePrecedence", "hasArgNames"}) + @Specialization(guards = {"isDoublePrecedence", "hasArgNames"}) @ExplodeLoop public Object allDoubleArgs(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -479,7 +479,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 8, guards = {"isComplexPrecedence", "noArgNames"}) + @Specialization(guards = {"isComplexPrecedence", "noArgNames"}) @ExplodeLoop public Object allComplex(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -491,7 +491,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 9, guards = {"isComplexPrecedence", "hasArgNames"}) + @Specialization(guards = {"isComplexPrecedence", "hasArgNames"}) @ExplodeLoop public Object allComplexArgs(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -505,7 +505,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 10, guards = {"isStringPrecedence", "noArgNames"}) + @Specialization(guards = {"isStringPrecedence", "noArgNames"}) @ExplodeLoop public Object allString(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -517,7 +517,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 11, guards = {"isStringPrecedence", "hasArgNames"}) + @Specialization(guards = {"isStringPrecedence", "hasArgNames"}) @ExplodeLoop public Object allStringArgs(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -531,7 +531,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 12, guards = {"isRawPrecedence", "noArgNames"}) + @Specialization(guards = {"isRawPrecedence", "noArgNames"}) @ExplodeLoop public Object allRaw(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -543,7 +543,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 13, guards = {"isRawPrecedence", "hasArgNames"}) + @Specialization(guards = {"isRawPrecedence", "hasArgNames"}) @ExplodeLoop public Object allRawArgs(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -557,7 +557,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 14, guards = {"isListPrecedence", "noArgNames"}) + @Specialization(guards = {"isListPrecedence", "noArgNames"}) @ExplodeLoop public Object list(VirtualFrame frame, Object[] array) { controlVisibility(); @@ -569,7 +569,7 @@ public abstract class Combine extends RBuiltinNode { return current; } - @Specialization(order = 15, guards = {"isListPrecedence", "hasArgNames"}) + @Specialization(guards = {"isListPrecedence", "hasArgNames"}) public Object listArgs(VirtualFrame frame, Object[] array) { controlVisibility(); RAbstractVector currentVector = castVector(frame, array[0]); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConnectionFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConnectionFunctions.java index 06fb105621..fb35ae7431 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConnectionFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConnectionFunctions.java @@ -148,7 +148,7 @@ public abstract class ConnectionFunctions { } @SuppressWarnings("unused") - @Specialization(order = 100) + @Specialization public Object file(VirtualFrame frame, Object description, Object open, Object blocking, Object encoding, Object raw) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_UNNAMED_ARGUMENTS); @@ -200,7 +200,7 @@ public abstract class ConnectionFunctions { } @SuppressWarnings("unused") - @Specialization(order = 100) + @Specialization public Object readLines(VirtualFrame frame, Object con, Object n, Object ok, Object warn, Object encoding) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_UNNAMED_ARGUMENTS); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Crossprod.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Crossprod.java index 0b00018ac8..c957544688 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Crossprod.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Crossprod.java @@ -65,13 +65,13 @@ public abstract class Crossprod extends RBuiltinNode { return matMult(frame, transpose(frame, a), b); } - @Specialization(order = 1, guards = "!matdouble") + @Specialization(guards = "!matdouble") public Object crossprod(VirtualFrame frame, RAbstractVector b, @SuppressWarnings("unused") RNull a) { controlVisibility(); return matMult(frame, transpose(frame, b), b); } - @Specialization(order = 2, guards = "matdouble") + @Specialization(guards = "matdouble") public Object crossprodDoubleMatrix(RAbstractDoubleVector a, @SuppressWarnings("unused") RNull b) { controlVisibility(); final int aCols = a.getDimensions()[1]; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DelayedAssign.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DelayedAssign.java index 1c25c0c436..1eb0333964 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DelayedAssign.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DelayedAssign.java @@ -41,23 +41,23 @@ public abstract class DelayedAssign extends RInvisibleBuiltinNode { return new RNode[]{ConstantNode.create(RMissing.instance), ConstantNode.create(RMissing.instance), ConstantNode.create(RMissing.instance), ConstantNode.create(RMissing.instance)}; } - @Specialization(order = 0) + @Specialization public Object doDelayedAssign(VirtualFrame frame, RAbstractStringVector nameVec, RPromise value, @SuppressWarnings("unused") RMissing evalEnv, @SuppressWarnings("unused") RMissing assignEnv) { REnvironment curEnv = curEnv(frame); return doDelayedAssign(frame, nameVec, value, curEnv, curEnv); } - @Specialization(order = 1) + @Specialization public Object doDelayedAssign(VirtualFrame frame, RAbstractStringVector nameVec, RPromise value, @SuppressWarnings("unused") RMissing evalEnv, REnvironment assignEnv) { return doDelayedAssign(frame, nameVec, value, curEnv(frame), assignEnv); } - @Specialization(order = 2) + @Specialization public Object doDelayedAssign(VirtualFrame frame, RAbstractStringVector nameVec, RPromise value, REnvironment evalEnv, @SuppressWarnings("unused") RMissing assignEnv) { return doDelayedAssign(frame, nameVec, value, evalEnv, curEnv(frame)); } - @Specialization(order = 3) + @Specialization public Object doDelayedAssign(VirtualFrame frame, RAbstractStringVector nameVec, RPromise value, REnvironment evalEnv, REnvironment assignEnv) { controlVisibility(); String name = nameVec.getDataAt(0); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Diag.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Diag.java index b333ec5eec..b17bbcfafd 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Diag.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Diag.java @@ -50,13 +50,13 @@ public abstract class Diag extends RBuiltinNode { return new RNode[]{children[0], CastIntegerNodeFactory.create(children[1], false, false, false), CastIntegerNodeFactory.create(children[2], false, false, false)}; } - @Specialization(order = 1) + @Specialization public RNull dim(RNull vector, int rows, int cols) { controlVisibility(); return RNull.instance; } - @Specialization(order = 10) + @Specialization public RIntVector dim(int val, int rows, int cols) { controlVisibility(); int[] data = new int[rows * cols]; @@ -66,12 +66,12 @@ public abstract class Diag extends RBuiltinNode { return RDataFactory.createIntVector(data, RDataFactory.COMPLETE_VECTOR, new int[]{rows, cols}); } - @Specialization(order = 11) + @Specialization public RIntVector dim(int val, int rows, RMissing cols) { return dim(val, rows, rows); } - @Specialization(order = 20) + @Specialization public RDoubleVector dim(double val, int rows, int cols) { controlVisibility(); double[] data = new double[rows * cols]; @@ -81,12 +81,12 @@ public abstract class Diag extends RBuiltinNode { return RDataFactory.createDoubleVector(data, RDataFactory.COMPLETE_VECTOR, new int[]{rows, cols}); } - @Specialization(order = 21) + @Specialization public RDoubleVector dim(double val, int rows, RMissing cols) { return dim(val, rows, rows); } - @Specialization(order = 30) + @Specialization public RLogicalVector dim(byte val, int rows, int cols) { controlVisibility(); byte[] data = new byte[rows * cols]; @@ -96,12 +96,12 @@ public abstract class Diag extends RBuiltinNode { return RDataFactory.createLogicalVector(data, RDataFactory.COMPLETE_VECTOR, new int[]{rows, cols}); } - @Specialization(order = 31) + @Specialization public RLogicalVector dim(byte val, int rows, RMissing cols) { return dim(val, rows, rows); } - @Specialization(order = 100, guards = "isMatrix") + @Specialization(guards = "isMatrix") public RIntVector dimWithDimensions(RIntVector vector, Object rows, Object cols) { controlVisibility(); int size = Math.min(vector.getDimensions()[0], vector.getDimensions()[1]); @@ -118,7 +118,7 @@ public abstract class Diag extends RBuiltinNode { return RDataFactory.createIntVector(result, check.neverSeenNA()); } - @Specialization(order = 110, guards = "isMatrix") + @Specialization(guards = "isMatrix") public RDoubleVector dimWithDimensions(RDoubleVector vector, Object rows, Object cols) { controlVisibility(); int size = Math.min(vector.getDimensions()[0], vector.getDimensions()[1]); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DotLibpaths.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DotLibpaths.java index 3be5e8b082..50ad1b3ab2 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DotLibpaths.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DotLibpaths.java @@ -54,13 +54,13 @@ import com.oracle.truffle.r.runtime.data.model.*; */ @RBuiltin(name = ".libPaths", kind = SUBSTITUTE, parameterNames = {"new"}) public abstract class DotLibpaths extends RBuiltinNode { - @Specialization(order = 0) + @Specialization public Object libPathsVec(@SuppressWarnings("unused") RMissing missing) { controlVisibility(); return RDataFactory.createStringVector(LibPaths.dotLibPaths(), RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 1) + @Specialization public Object libPathsVec(RAbstractStringVector pathVec) { controlVisibility(); ArrayList<String> resultsList = new ArrayList<>(pathVec.getLength()); @@ -94,7 +94,7 @@ public abstract class DotLibpaths extends RBuiltinNode { return array; } - @Specialization(order = 100) + @Specialization public Object libPathsGeneric(VirtualFrame frame, @SuppressWarnings("unused") Object x) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, "path"); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EncodeString.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EncodeString.java index 45fa6c76e5..36481557f7 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EncodeString.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EncodeString.java @@ -86,7 +86,7 @@ public abstract class EncodeString extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 0, guards = {"isValidWidth", "leftJustify", "isEncodeNA"}) + @Specialization(guards = {"isValidWidth", "leftJustify", "isEncodeNA"}) public RStringVector encodeStringLeftJustifyEncodeNA(RAbstractStringVector x, int width, RAbstractStringVector quote, RAbstractIntVector justify, byte encodeNA) { final String quoteEl = quote.getDataAt(0); final int maxElWidth = computeWidth(x, width, quoteEl); @@ -107,7 +107,7 @@ public abstract class EncodeString extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 1, guards = {"isValidWidth", "leftJustify", "!isEncodeNA"}) + @Specialization(guards = {"isValidWidth", "leftJustify", "!isEncodeNA"}) public RStringVector encodeStringLeftJustify(RAbstractStringVector x, int width, RAbstractStringVector quote, RAbstractIntVector justify, byte encodeNA) { final String quoteEl = quote.getDataAt(0); final int maxElWidth = computeWidth(x, width, quoteEl); @@ -125,7 +125,7 @@ public abstract class EncodeString extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 2, guards = {"isValidWidth", "rightJustify", "isEncodeNA"}) + @Specialization(guards = {"isValidWidth", "rightJustify", "isEncodeNA"}) public RStringVector encodeStringRightJustifyEncodeNA(RAbstractStringVector x, int width, RAbstractStringVector quote, RAbstractIntVector justify, byte encodeNA) { final String quoteEl = quote.getDataAt(0); final int maxElWidth = computeWidth(x, width, quoteEl); @@ -146,7 +146,7 @@ public abstract class EncodeString extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 3, guards = {"isValidWidth", "rightJustify", "!isEncodeNA"}) + @Specialization(guards = {"isValidWidth", "rightJustify", "!isEncodeNA"}) public RStringVector encodeStringRightJustify(RAbstractStringVector x, int width, RAbstractStringVector quote, RAbstractIntVector justify, byte encodeNA) { final String quoteEl = quote.getDataAt(0); final int maxElWidth = computeWidth(x, width, quoteEl); @@ -164,7 +164,7 @@ public abstract class EncodeString extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 4, guards = {"isValidWidth", "centerJustify", "isEncodeNA"}) + @Specialization(guards = {"isValidWidth", "centerJustify", "isEncodeNA"}) public RStringVector encodeStringCenterJustifyEncodeNA(RAbstractStringVector x, int width, RAbstractStringVector quote, RAbstractIntVector justify, byte encodeNA) { final String quoteEl = quote.getDataAt(0); final int maxElWidth = computeWidth(x, width, quoteEl); @@ -192,7 +192,7 @@ public abstract class EncodeString extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 5, guards = {"isValidWidth", "centerJustify", "!isEncodeNA"}) + @Specialization(guards = {"isValidWidth", "centerJustify", "!isEncodeNA"}) public RStringVector encodeStringCenterJustify(RAbstractStringVector x, int width, RAbstractStringVector quote, RAbstractIntVector justify, byte encodeNA) { final String quoteEl = quote.getDataAt(0); final int maxElWidth = computeWidth(x, width, quoteEl); @@ -256,7 +256,7 @@ public abstract class EncodeString extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 11, guards = {"isValidWidth", "noJustify", "isEncodeNA"}) + @Specialization(guards = {"isValidWidth", "noJustify", "isEncodeNA"}) public RStringVector encodeStringNoJustifyEncodeNA(RAbstractStringVector x, int width, RAbstractStringVector quote, RAbstractIntVector justify, byte encodeNA) { final String quoteEl = quote.getDataAt(0); final String[] result = new String[x.getLength()]; @@ -273,7 +273,7 @@ public abstract class EncodeString extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 12, guards = {"isValidWidth", "noJustify", "!isEncodeNA"}) + @Specialization(guards = {"isValidWidth", "noJustify", "!isEncodeNA"}) public RStringVector encodeStringNoJustify(RAbstractStringVector x, int width, RAbstractStringVector quote, RAbstractIntVector justify, byte encodeNA) { final String quoteEl = quote.getDataAt(0); final String[] result = new String[x.getLength()]; @@ -290,31 +290,31 @@ public abstract class EncodeString extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 6, guards = "!isString") + @Specialization(guards = "!isString") public RStringVector encodeStringInvalidFirstArgument(VirtualFrame frame, Object x, int width, RAbstractStringVector quote, RAbstractIntVector justify, byte encodeNA) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.CHAR_VEC_ARGUMENT); } @SuppressWarnings("unused") - @Specialization(order = 7, guards = "!isValidWidth") + @Specialization(guards = "!isValidWidth") public RStringVector encodeStringInvalidWidth(VirtualFrame frame, RAbstractStringVector x, int width, RAbstractStringVector quote, RAbstractIntVector justify, byte encodeNA) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_VALUE, "width"); } @SuppressWarnings("unused") - @Specialization(order = 8, guards = "!isValidQuote") + @Specialization(guards = "!isValidQuote") public RStringVector encodeStringInvalidQuote(VirtualFrame frame, RAbstractStringVector x, int width, Object quote, RAbstractIntVector justify, byte encodeNA) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_VALUE, "quote"); } @SuppressWarnings("unused") - @Specialization(order = 9, guards = "!isValidJustify") + @Specialization(guards = "!isValidJustify") public RStringVector encodeStringInvalidJustify(VirtualFrame frame, RAbstractStringVector x, int width, RAbstractStringVector quote, RAbstractIntVector justify, byte encodeNA) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_VALUE, "justify"); } @SuppressWarnings("unused") - @Specialization(order = 10, guards = "!isValidEncodeNA") + @Specialization(guards = "!isValidEncodeNA") public RStringVector encodeStringInvalidEncodeNA(VirtualFrame frame, RAbstractStringVector x, int width, RAbstractStringVector quote, RAbstractIntVector justify, byte encodeNA) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_VALUE, "na.encode"); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EnvFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EnvFunctions.java index 03afe91674..2942589b47 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EnvFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EnvFunctions.java @@ -174,7 +174,7 @@ public class EnvFunctions { return new RNode[]{ConstantNode.create(RNull.instance)}; } - @Specialization(order = 0) + @Specialization public Object environment(@SuppressWarnings("unused") RNull x) { controlVisibility(); Frame callerFrame = Utils.getCallerFrame(FrameAccess.MATERIALIZE); @@ -186,7 +186,7 @@ public class EnvFunctions { * cannot both have a specialization for {@link RFunction} and one for {@link Object}, but * an object that is not an {@link RFunction} is legal and must return {@code NULL}. */ - @Specialization(order = 1) + @Specialization public Object environment(Object funcArg) { controlVisibility(); if (funcArg instanceof RFunction) { @@ -217,7 +217,7 @@ public class EnvFunctions { return env.getName(); } - @Specialization(order = 100) + @Specialization public String environmentName(@SuppressWarnings("unused") Object env) { controlVisibility(); // Not an error according to GnuR @@ -273,7 +273,7 @@ public class EnvFunctions { return new RNode[]{ConstantNode.create(RMissing.instance), ConstantNode.create(RRuntime.LOGICAL_FALSE)}; } - @Specialization(order = 0) + @Specialization public Object lockEnvironment(REnvironment env, byte bindings) { controlVisibility(); env.lock(bindings == RRuntime.LOGICAL_TRUE); @@ -284,7 +284,7 @@ public class EnvFunctions { @RBuiltin(name = "environmentIsLocked", kind = INTERNAL, parameterNames = {"env"}) public abstract static class EnvironmentIsLocked extends RBuiltinNode { - @Specialization(order = 0) + @Specialization public Object lockEnvironment(REnvironment env) { controlVisibility(); return RDataFactory.createLogicalVectorFromScalar(env.isLocked()); @@ -294,7 +294,7 @@ public class EnvFunctions { @RBuiltin(name = "lockBinding", kind = INTERNAL, parameterNames = {"sym", "env"}) public abstract static class LockBinding extends RInvisibleBuiltinNode { - @Specialization(order = 0) + @Specialization public Object lockBinding(String sym, REnvironment env) { controlVisibility(); env.lockBinding(sym); @@ -305,7 +305,7 @@ public class EnvFunctions { @RBuiltin(name = "unlockBinding", kind = INTERNAL, parameterNames = {"sym", "env"}) public abstract static class UnlockBinding extends RInvisibleBuiltinNode { - @Specialization(order = 0) + @Specialization public Object unlockBinding(String sym, REnvironment env) { controlVisibility(); env.unlockBinding(sym); @@ -316,7 +316,7 @@ public class EnvFunctions { @RBuiltin(name = "bindingIsLocked", kind = INTERNAL, parameterNames = {"sym", "env"}) public abstract static class BindingIsLocked extends RBuiltinNode { - @Specialization(order = 0) + @Specialization public Object bindingIsLocked(String sym, REnvironment env) { controlVisibility(); return RDataFactory.createLogicalVectorFromScalar(env.bindingIsLocked(sym)); @@ -327,7 +327,7 @@ public class EnvFunctions { @RBuiltin(name = "makeActiveBinding", kind = INTERNAL, parameterNames = {"sym", "fun", "env"}) public abstract static class MakeActiveBinding extends RInvisibleBuiltinNode { @SuppressWarnings("unused") - @Specialization(order = 0) + @Specialization public Object makeActiveBinding(Object sym, Object fun, Object env) { // TODO implement controlVisibility(); @@ -338,7 +338,7 @@ public class EnvFunctions { @RBuiltin(name = "bindingIsActive", kind = INTERNAL, parameterNames = {"sym", "env"}) public abstract static class BindingIsActive extends RInvisibleBuiltinNode { @SuppressWarnings("unused") - @Specialization(order = 0) + @Specialization public Object bindingIsActive(Object sym, Object fun, Object env) { // TODO implement controlVisibility(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Exists.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Exists.java index b934fb00d7..24d8f6d5a7 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Exists.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Exists.java @@ -48,7 +48,7 @@ public abstract class Exists extends RBuiltinNode { ConstantNode.create(RRuntime.TYPE_ANY), ConstantNode.create(RRuntime.LOGICAL_TRUE)}; } - @Specialization(order = 10, guards = "noEnv") + @Specialization(guards = "noEnv") @SuppressWarnings("unused") public byte existsString(VirtualFrame frm, String name, int where, RMissing envir, Object frame, String mode, byte inherits) { controlVisibility(); @@ -64,7 +64,7 @@ public abstract class Exists extends RBuiltinNode { return RRuntime.LOGICAL_TRUE; } - @Specialization(order = 11) + @Specialization @SuppressWarnings("unused") public byte existsStringEnv(String name, REnvironment where, RMissing envir, Object frame, String mode, byte inherits) { controlVisibility(); @@ -79,19 +79,19 @@ public abstract class Exists extends RBuiltinNode { return RRuntime.LOGICAL_FALSE; } - @Specialization(order = 12) + @Specialization public byte existsStringEnv(RStringVector name, REnvironment where, RMissing envir, Object frame, String mode, byte inherits) { controlVisibility(); return existsStringEnv(name.getDataAt(0), where, envir, frame, mode, inherits); } - @Specialization(order = 13) + @Specialization public byte existsStringEnv(String name, @SuppressWarnings("unused") int where, REnvironment envir, Object frame, String mode, byte inherits) { controlVisibility(); return existsStringEnv(name, envir, RMissing.instance, frame, mode, inherits); } - @Specialization(order = 14) + @Specialization public byte existsStringEnv(RStringVector name, int where, REnvironment envir, Object frame, String mode, byte inherits) { controlVisibility(); return existsStringEnv(name.getDataAt(0), where, envir, frame, mode, inherits); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FileFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FileFunctions.java index ed83767b2b..3df487de6b 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FileFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FileFunctions.java @@ -73,7 +73,7 @@ public class FileFunctions { return RDataFactory.createLogicalVector(status, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 100) + @Specialization public Object doFileCreate(VirtualFrame frame, @SuppressWarnings("unused") Object x, @SuppressWarnings("unused") Object y) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, "file"); @@ -164,7 +164,7 @@ public class FileFunctions { return doFileLink(frame, vecFrom, vecTo, false); } - @Specialization(order = 100) + @Specialization public Object doFileLink(VirtualFrame frame, @SuppressWarnings("unused") Object from, @SuppressWarnings("unused") Object to) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, "file"); @@ -179,7 +179,7 @@ public class FileFunctions { return doFileLink(frame, vecFrom, vecTo, true); } - @Specialization(order = 100) + @Specialization public Object doFileSymLink(VirtualFrame frame, @SuppressWarnings("unused") Object from, @SuppressWarnings("unused") Object to) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, "file"); @@ -209,7 +209,7 @@ public class FileFunctions { return RDataFactory.createLogicalVector(status, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 100) + @Specialization public Object doFileRemove(VirtualFrame frame, @SuppressWarnings("unused") Object x) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, "file"); @@ -244,7 +244,7 @@ public class FileFunctions { return RDataFactory.createLogicalVector(status, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 100) + @Specialization public Object doFileRename(VirtualFrame frame, @SuppressWarnings("unused") Object from, @SuppressWarnings("unused") Object to) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, "file"); @@ -272,7 +272,7 @@ public class FileFunctions { } - @Specialization(order = 100) + @Specialization public Object doFileExists(VirtualFrame frame, @SuppressWarnings("unused") Object vec) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, "file"); @@ -342,17 +342,17 @@ public class FileFunctions { } @SuppressWarnings("unused") - @Specialization(order = 0, guards = "lengthZero") + @Specialization(guards = "lengthZero") public RStringVector doFilePathZero(RAbstractStringVector vec, String fsep) { return RDataFactory.createEmptyStringVector(); } - @Specialization(order = 1, guards = "!lengthZero") + @Specialization(guards = "!lengthZero") public RStringVector doFilePath(RAbstractStringVector vec, String fsep) { return doFilePath(new Object[]{vec}, fsep); } - @Specialization(order = 2, guards = "simpleArgs") + @Specialization(guards = "simpleArgs") public RStringVector doFilePath(Object[] args, String fsep) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < args.length; i++) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ForeignFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ForeignFunctions.java index 276b297221..41645c3723 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ForeignFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ForeignFunctions.java @@ -85,7 +85,7 @@ public class ForeignFunctions { private static final RStringVector DQRDC2_NAMES = RDataFactory.createStringVector(new String[]{"qr", E, E, E, E, "rank", "qraux", "pivot", E}, RDataFactory.COMPLETE_VECTOR); @SuppressWarnings("unused") - @Specialization(order = 0, guards = "dqrdc2") + @Specialization(guards = "dqrdc2") public RList fortranDqrdc2(VirtualFrame frame, String f, Object[] args, byte naok, byte dup, RMissing rPackage, RMissing encoding) { controlVisibility(); try { @@ -126,7 +126,7 @@ public class ForeignFunctions { private static final RStringVector DQRCF_NAMES = RDataFactory.createStringVector(new String[]{E, E, E, E, E, E, "coef", "info"}, RDataFactory.COMPLETE_VECTOR); @SuppressWarnings("unused") - @Specialization(order = 1, guards = "dqrcf") + @Specialization(guards = "dqrcf") public RList fortranDqrcf(VirtualFrame frame, String f, Object[] args, byte naok, byte dup, RMissing rPackage, RMissing encoding) { controlVisibility(); try { @@ -317,7 +317,7 @@ public class ForeignFunctions { // TODO: handle more argument types (this is sufficient to run the b25 benchmarks) @SuppressWarnings("unused") - @Specialization(order = 1, guards = "fft") + @Specialization(guards = "fft") public RComplexVector callFFT(VirtualFrame frame, RList f, Object[] args) { controlVisibility(); RComplexVector zVec = (RComplexVector) castComplex(frame, castVector(frame, args[0])); @@ -397,7 +397,7 @@ public class ForeignFunctions { // Translated from GnuR: library/methods/src/methods_list_dispatch.c @SuppressWarnings("unused") - @Specialization(order = 2, guards = "methodsPackageMetaName") + @Specialization(guards = "methodsPackageMetaName") public String callMethodsPackageMetaName(VirtualFrame frame, RList f, Object[] args) { controlVisibility(); // TODO proper error checks diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Format.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Format.java index cd1ec99213..ef721a42fe 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Format.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Format.java @@ -86,7 +86,7 @@ public abstract class Format extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 1, guards = "wrongArgsObject") + @Specialization(guards = "wrongArgsObject") String formatWrongArgs(Object value, RLogicalVector trimVec, RIntVector digitsVec, RIntVector nsmallVec, RIntVector widthVec, RIntVector justifyVec, RLogicalVector naEncodeVec, RLogicalVector sciVec) { return null; @@ -107,7 +107,7 @@ public abstract class Format extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 10, guards = "!wrongArgs") + @Specialization(guards = "!wrongArgs") RStringVector format(VirtualFrame frame, RAbstractLogicalVector value, RLogicalVector trimVec, RIntVector digitsVec, RIntVector nsmallVec, RIntVector widthVec, RIntVector justifyVec, RLogicalVector naEncodeVec, RAbstractVector sciVec) { if (value.getLength() == 0) { @@ -163,7 +163,7 @@ public abstract class Format extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 20, guards = "!wrongArgs") + @Specialization(guards = "!wrongArgs") RStringVector format(VirtualFrame frame, RAbstractIntVector value, RLogicalVector trimVec, RIntVector digitsVec, RIntVector nsmallVec, RIntVector widthVec, RIntVector justifyVec, RLogicalVector naEncodeVec, RAbstractVector sciVec) { if (value.getLength() == 0) { @@ -218,7 +218,7 @@ public abstract class Format extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 30, guards = "!wrongArgs") + @Specialization(guards = "!wrongArgs") RStringVector format(VirtualFrame frame, RAbstractDoubleVector value, RLogicalVector trimVec, RIntVector digitsVec, RIntVector nsmallVec, RIntVector widthVec, RIntVector justifyVec, RLogicalVector naEncodeVec, RAbstractVector sciVec) { byte trim = trimVec.getLength() > 0 ? trimVec.getDataAt(0) : RRuntime.LOGICAL_NA; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Get.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Get.java index 9e3308e01c..af4023eb0d 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Get.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Get.java @@ -57,7 +57,7 @@ public abstract class Get extends RBuiltinNode { public abstract Object execute(VirtualFrame frame, String name, int pos, RMissing envir, String mode, byte inherits); - @Specialization(order = 0) + @Specialization @SuppressWarnings("unused") public Object get(VirtualFrame frame, String x, int pos, RMissing envir, String mode, byte inherits) { controlVisibility(); @@ -87,7 +87,7 @@ public abstract class Get extends RBuiltinNode { return lookup; } - @Specialization(order = 1) + @Specialization @SuppressWarnings("unused") public Object get(VirtualFrame frame, RAbstractStringVector x, REnvironment pos, RMissing envir, String mode, byte inherits) { controlVisibility(); @@ -109,7 +109,7 @@ public abstract class Get extends RBuiltinNode { } } - @Specialization(order = 2) + @Specialization @SuppressWarnings("unused") public Object get(VirtualFrame frame, RAbstractStringVector x, int pos, REnvironment envir, String mode, byte inherits) { return get(frame, x, envir, RMissing.instance, mode, inherits); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetClass.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetClass.java index 7df335c043..a34b17337f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetClass.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetClass.java @@ -22,13 +22,13 @@ import com.oracle.truffle.r.runtime.data.model.*; @RBuiltin(name = "class", kind = PRIMITIVE, parameterNames = {"x"}) public abstract class GetClass extends RBuiltinNode { - @Specialization(guards = "isObject", order = 0) + @Specialization(guards = "isObject") public Object getClassForObject(RAbstractContainer arg) { controlVisibility(); return arg.getClassHierarchy(); } - @Specialization(guards = "!isObject", order = 1) + @Specialization(guards = "!isObject") public Object getClass(RAbstractContainer arg) { controlVisibility(); final String klass = arg.getClassHierarchy().getDataAt(0); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java index 00d6d922e7..2c4962bbb5 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GrepFunctions.java @@ -171,7 +171,7 @@ public class GrepFunctions { ConstantNode.create(RRuntime.LOGICAL_FALSE), ConstantNode.create(RRuntime.LOGICAL_FALSE), ConstantNode.create(RRuntime.LOGICAL_FALSE)}; } - @Specialization(order = 1) + @Specialization public String sub(String patternArg, String replacement, String x, byte ignoreCase, byte perl, byte fixed, byte useBytes) { controlVisibility(); checkExtraArgs(ignoreCase, perl, fixed, useBytes, RRuntime.LOGICAL_FALSE); @@ -179,7 +179,7 @@ public class GrepFunctions { return replaceMatch(pattern, replacement, x); } - @Specialization(order = 10) + @Specialization public RStringVector sub(String patternArg, String replacement, RStringVector vector, byte ignoreCase, byte perl, byte fixed, byte useBytes) { controlVisibility(); checkExtraArgs(ignoreCase, perl, fixed, useBytes, RRuntime.LOGICAL_FALSE); @@ -187,7 +187,7 @@ public class GrepFunctions { return doSub(pattern, replacement, vector); } - @Specialization(order = 12) + @Specialization public RStringVector sub(RStringVector patternArg, String replacement, RStringVector vector, byte ignoreCase, byte perl, byte fixed, byte useBytes) { controlVisibility(); checkExtraArgs(ignoreCase, perl, fixed, useBytes, RRuntime.LOGICAL_FALSE); @@ -196,7 +196,7 @@ public class GrepFunctions { return doSub(pattern, replacement, vector); } - @Specialization(order = 13) + @Specialization public RStringVector sub(String patternArg, RStringVector replacement, RStringVector vector, byte ignoreCase, byte perl, byte fixed, byte useBytes) { controlVisibility(); checkExtraArgs(ignoreCase, perl, fixed, useBytes, RRuntime.LOGICAL_FALSE); @@ -231,7 +231,7 @@ public class GrepFunctions { ConstantNode.create(RRuntime.LOGICAL_FALSE), ConstantNode.create(RRuntime.LOGICAL_FALSE), ConstantNode.create(RRuntime.LOGICAL_FALSE)}; } - @Specialization(order = 1) + @Specialization @Override public String sub(String patternArg, String replacement, String x, byte ignoreCase, byte perl, byte fixed, byte useBytes) { controlVisibility(); @@ -240,7 +240,7 @@ public class GrepFunctions { return replaceMatch(pattern, replacement, x); } - @Specialization(order = 2) + @Specialization public String sub(RAbstractStringVector patternArg, RAbstractStringVector replacement, RAbstractStringVector x, byte ignoreCase, byte perl, byte fixed, byte useBytes) { controlVisibility(); checkExtraArgs(ignoreCase, perl, fixed, useBytes, RRuntime.LOGICAL_FALSE); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Identical.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Identical.java index d01d8b29fc..739f07be57 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Identical.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Identical.java @@ -44,7 +44,7 @@ public abstract class Identical extends RBuiltinNode { ConstantNode.create(RRuntime.LOGICAL_TRUE), ConstantNode.create(RRuntime.LOGICAL_TRUE), ConstantNode.create(RRuntime.LOGICAL_FALSE)}; } - @Specialization(order = 0) + @Specialization public byte doInternalIdentical(byte x, byte y, // @formatter:off @SuppressWarnings("unused") byte numEq, @SuppressWarnings("unused") byte singleNA, @SuppressWarnings("unused") byte attribAsSet, @@ -54,7 +54,7 @@ public abstract class Identical extends RBuiltinNode { return x == y ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } - @Specialization(order = 1) + @Specialization public byte doInternalIdential(String x, String y, // @formatter:off @SuppressWarnings("unused") byte numEq, @SuppressWarnings("unused") byte singleNA, @SuppressWarnings("unused") byte attribAsSet, @@ -64,7 +64,7 @@ public abstract class Identical extends RBuiltinNode { return x.equals(y) ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } - @Specialization(order = 2) + @Specialization public byte doInternalIdentical(double x, double y, // @formatter:off byte numEq, @SuppressWarnings("unused") byte singleNA, @SuppressWarnings("unused") byte attribAsSet, @@ -75,7 +75,7 @@ public abstract class Identical extends RBuiltinNode { return truth ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } - @Specialization(order = 3) + @Specialization public byte doInternalIdentical(REnvironment x, REnvironment y, // @formatter:off @SuppressWarnings("unused") byte numEq, @SuppressWarnings("unused") byte singleNA, @SuppressWarnings("unused") byte attribAsSet, @@ -86,7 +86,7 @@ public abstract class Identical extends RBuiltinNode { return x == y ? RRuntime.LOGICAL_TRUE : RRuntime.LOGICAL_FALSE; } - @Specialization(order = 10, guards = "!vectorsLists") + @Specialization(guards = "!vectorsLists") public byte doInternalIdentialGeneric(RAbstractVector x, RAbstractVector y, // @formatter:off @SuppressWarnings("unused") byte numEq, @SuppressWarnings("unused") byte singleNA, @SuppressWarnings("unused") byte attribAsSet, @@ -104,7 +104,7 @@ public abstract class Identical extends RBuiltinNode { return RRuntime.LOGICAL_TRUE; } - @Specialization(order = 100) + @Specialization public byte doInternalIdentialGeneric(@SuppressWarnings("unused") RList x, @SuppressWarnings("unused") RList y, // @formatter:off @SuppressWarnings("unused") byte numEq, @SuppressWarnings("unused") byte singleNA, @SuppressWarnings("unused") byte attribAsSet, @@ -114,7 +114,7 @@ public abstract class Identical extends RBuiltinNode { throw RError.nyi(getEncapsulatingSourceSection(), "lists not supported in 'identical'"); } - @Specialization(order = 101) + @Specialization public byte doInternalIdentialGeneric(@SuppressWarnings("unused") RDataFrame x, @SuppressWarnings("unused") RDataFrame y, // @formatter:off @SuppressWarnings("unused") byte numEq, @SuppressWarnings("unused") byte singleNA, @SuppressWarnings("unused") byte attribAsSet, diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Ifelse.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Ifelse.java index f9bdf1a147..f0a4604995 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Ifelse.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Ifelse.java @@ -42,43 +42,43 @@ public abstract class Ifelse extends RBuiltinNode { return na.check(test); } - @Specialization(order = 0, guards = "isNA") + @Specialization(guards = "isNA") public byte ifelseNA(byte test, double yes, double no) { controlVisibility(); return RRuntime.LOGICAL_NA; } - @Specialization(order = 1, guards = "!isNA") + @Specialization(guards = "!isNA") public double ifelse(byte test, double yes, double no) { controlVisibility(); return test == RRuntime.LOGICAL_TRUE ? yes : no; } - @Specialization(order = 2, guards = "isNA") + @Specialization(guards = "isNA") public byte ifelseNA(byte test, int yes, int no) { controlVisibility(); return RRuntime.LOGICAL_NA; } - @Specialization(order = 3, guards = "!isNA") + @Specialization(guards = "!isNA") public int ifelse(byte test, int yes, int no) { controlVisibility(); return test == RRuntime.LOGICAL_TRUE ? yes : no; } - @Specialization(order = 4, guards = "isNA") + @Specialization(guards = "isNA") public byte ifelseNA(byte test, String yes, String no) { controlVisibility(); return RRuntime.LOGICAL_NA; } - @Specialization(order = 5, guards = "!isNA") + @Specialization(guards = "!isNA") public String ifelse(byte test, String yes, String no) { controlVisibility(); return test == RRuntime.LOGICAL_TRUE ? yes : no; } - @Specialization(order = 100) + @Specialization public RDoubleVector ifelse(RLogicalVector lvec, RDoubleVector dvec, double no) { // just one special case for version.R assert lvec.getLength() == 1; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsFinite.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsFinite.java index 77915e5a18..114a455f08 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsFinite.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsFinite.java @@ -45,7 +45,7 @@ public abstract class IsFinite extends RBuiltinNode { return RDataFactory.createLogicalVector(b, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 100) + @Specialization public Object doIsFiniteGeneric(VirtualFrame frame, @SuppressWarnings("unused") Object x) { controlVisibility(); CompilerDirectives.transferToInterpreter(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsListFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsListFunctions.java index 4d937c6689..3fe5ceea13 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsListFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsListFunctions.java @@ -76,25 +76,25 @@ public class IsListFunctions { return RRuntime.LOGICAL_FALSE; } - @Specialization(order = 10, guards = "isList") + @Specialization(guards = "isList") public byte isTypeFrame(RDataFrame value) { controlVisibility(); return RRuntime.LOGICAL_TRUE; } - @Specialization(order = 11, guards = "!isList") + @Specialization(guards = "!isList") public byte isType(RDataFrame value) { controlVisibility(); return RRuntime.LOGICAL_FALSE; } - @Specialization(order = 12) + @Specialization public byte isType(REnvironment env) { controlVisibility(); return RRuntime.LOGICAL_FALSE; } - @Specialization(order = 13) + @Specialization public byte isType(RPairList pl) { controlVisibility(); return RRuntime.LOGICAL_TRUE; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsTRUE.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsTRUE.java index f0daa8e0ec..29e7438c3e 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsTRUE.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsTRUE.java @@ -37,7 +37,7 @@ import com.oracle.truffle.r.runtime.data.*; // TODO revert to R public abstract class IsTRUE extends RBuiltinNode { - @Specialization(order = 0) + @Specialization public RLogicalVector isTRUE(byte x) { controlVisibility(); byte xx = x; @@ -47,13 +47,13 @@ public abstract class IsTRUE extends RBuiltinNode { return RDataFactory.createLogicalVectorFromScalar(xx); } - @Specialization(order = 1, guards = "exactlyTrue") + @Specialization(guards = "exactlyTrue") public RLogicalVector isTRUE(@SuppressWarnings("unused") RLogicalVector x) { controlVisibility(); return RDataFactory.createLogicalVectorFromScalar(RRuntime.LOGICAL_TRUE); } - @Specialization(order = 100) + @Specialization public RLogicalVector isTRUEGeneric(@SuppressWarnings("unused") Object x) { controlVisibility(); return RDataFactory.createLogicalVectorFromScalar(RRuntime.LOGICAL_FALSE); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsVector.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsVector.java index 5b4e799022..9a72a7c442 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsVector.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/IsVector.java @@ -42,47 +42,47 @@ public abstract class IsVector extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 1) + @Specialization public byte isNull(RNull operand, Object mode) { return RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") - @Specialization(order = 10) + @Specialization public byte isNull(RDataFrame operand, Object mode) { return RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") - @Specialization(order = 50, guards = {"namesOnlyOrNoAttr", "modeIsAnyOrMatches"}) + @Specialization(guards = {"namesOnlyOrNoAttr", "modeIsAnyOrMatches"}) public byte isList(RAbstractVector x, String mode) { controlVisibility(); return RRuntime.LOGICAL_TRUE; } @SuppressWarnings("unused") - @Specialization(order = 51, guards = {"namesOnlyOrNoAttr", "!modeIsAnyOrMatches"}) + @Specialization(guards = {"namesOnlyOrNoAttr", "!modeIsAnyOrMatches"}) public byte isNotVector(RAbstractVector x, String mode) { controlVisibility(); return RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") - @Specialization(order = 52, guards = "!namesOnlyOrNoAttr") + @Specialization(guards = "!namesOnlyOrNoAttr") public byte isVectorAttr(RAbstractVector x, String mode) { controlVisibility(); return RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") - @Specialization(order = 1000, guards = "namesOnlyOrNoAttr") + @Specialization(guards = "namesOnlyOrNoAttr") public byte isVector(RAbstractVector x, RMissing mode) { controlVisibility(); return RRuntime.LOGICAL_TRUE; } @SuppressWarnings("unused") - @Specialization(order = 1001, guards = "!namesOnlyOrNoAttr") + @Specialization(guards = "!namesOnlyOrNoAttr") public byte isVectorAttr(RAbstractVector x, RMissing mode) { controlVisibility(); return RRuntime.LOGICAL_FALSE; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Ls.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Ls.java index 90bb88f869..9cda443d64 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Ls.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Ls.java @@ -47,14 +47,14 @@ public abstract class Ls extends RBuiltinNode { ConstantNode.create(RMissing.instance)}; } - @Specialization(order = 0) + @Specialization @SuppressWarnings("unused") public RStringVector ls(VirtualFrame frame, RMissing name, int pos, RMissing envir, byte allNames, RMissing pattern) { controlVisibility(); return REnvironment.createLsCurrent(frame.materialize()).ls(RRuntime.fromLogical(allNames), null); } - @Specialization(order = 1) + @Specialization @SuppressWarnings("unused") public RStringVector ls(REnvironment name, Object pos, RMissing envir, byte allNames, RMissing pattern) { controlVisibility(); @@ -62,20 +62,20 @@ public abstract class Ls extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 2) + @Specialization public RStringVector ls(VirtualFrame frame, RMissing name, int pos, REnvironment envir, byte allNames, RMissing pattern) { controlVisibility(); return envir.ls(RRuntime.fromLogical(allNames), null); } - @Specialization(order = 3) + @Specialization @SuppressWarnings("unused") public RStringVector ls(VirtualFrame frame, RMissing name, int pos, RMissing envir, byte allNames, String pattern) { controlVisibility(); return REnvironment.createLsCurrent(frame.materialize()).ls(RRuntime.fromLogical(allNames), compile(pattern)); } - @Specialization(order = 4) + @Specialization @SuppressWarnings("unused") public RStringVector ls(REnvironment name, Object pos, RMissing envir, byte allNames, String pattern) { controlVisibility(); @@ -83,14 +83,14 @@ public abstract class Ls extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 5) + @Specialization public RStringVector ls(VirtualFrame frame, RMissing name, int pos, REnvironment envir, byte allNames, String pattern) { controlVisibility(); return envir.ls(RRuntime.fromLogical(allNames), compile(pattern)); } @SuppressWarnings("unused") - @Specialization(order = 6) + @Specialization public RStringVector ls(VirtualFrame frame, RAbstractIntVector name, int pos, RMissing envir, byte allNames, RMissing pattern) { controlVisibility(); String[] searchPath = REnvironment.searchPath(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/MatMult.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/MatMult.java index 88645de087..8fbc91ccc2 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/MatMult.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/MatMult.java @@ -53,7 +53,7 @@ public abstract class MatMult extends RBuiltinNode { this.na = prev.na; } - @Specialization(order = 1, guards = "bothZeroDim") + @Specialization(guards = "bothZeroDim") public RDoubleVector both0Dim(RAbstractDoubleVector a, RAbstractDoubleVector b) { controlVisibility(); int r = b.getDimensions()[1]; @@ -63,14 +63,14 @@ public abstract class MatMult extends RBuiltinNode { return result; } - @Specialization(order = 2, guards = "leftHasZeroDim") + @Specialization(guards = "leftHasZeroDim") public RAbstractVector left0Dim(RAbstractVector a, RAbstractVector b) { controlVisibility(); int[] dim = a.getDimensions()[0] == 0 ? new int[]{0, b.getDimensions()[1]} : new int[]{b.getDimensions()[0], 0}; return a.copyWithNewDimensions(dim); } - @Specialization(order = 3, guards = "rightHasZeroDim") + @Specialization(guards = "rightHasZeroDim") public RAbstractVector right0Dim(RAbstractVector a, RAbstractVector b) { controlVisibility(); int[] dim = b.getDimensions()[0] == 0 ? new int[]{0, a.getDimensions()[1]} : new int[]{a.getDimensions()[0], 0}; @@ -79,7 +79,7 @@ public abstract class MatMult extends RBuiltinNode { // double-double - @Specialization(order = 10, guards = "matmat") + @Specialization(guards = "matmat") public RDoubleVector matmatmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractDoubleVector b) { controlVisibility(); final int aCols = a.getDimensions()[1]; @@ -104,7 +104,7 @@ public abstract class MatMult extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA(), new int[]{aRows, bCols}); } - @Specialization(order = 11, guards = "vecvec") + @Specialization(guards = "vecvec") public RDoubleVector vecvecmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractDoubleVector b) { controlVisibility(); if (a.getLength() != b.getLength()) { @@ -119,7 +119,7 @@ public abstract class MatMult extends RBuiltinNode { return RDataFactory.createDoubleVector(new double[]{result}, na.neverSeenNA(), new int[]{1, 1}); } - @Specialization(order = 12, guards = "matvec") + @Specialization(guards = "matvec") public RDoubleVector matvecmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractDoubleVector b) { controlVisibility(); final int aCols = a.getDimensions()[1]; @@ -152,7 +152,7 @@ public abstract class MatMult extends RBuiltinNode { } } - @Specialization(order = 13, guards = "vecmat") + @Specialization(guards = "vecmat") public RDoubleVector vecmatmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractDoubleVector b) { controlVisibility(); final int bCols = b.getDimensions()[1]; @@ -187,7 +187,7 @@ public abstract class MatMult extends RBuiltinNode { // complex-complex - @Specialization(order = 20, guards = "matmat") + @Specialization(guards = "matmat") public RComplexVector matmatmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractComplexVector b) { controlVisibility(); final int aCols = a.getDimensions()[1]; @@ -214,7 +214,7 @@ public abstract class MatMult extends RBuiltinNode { return RDataFactory.createComplexVector(result, na.neverSeenNA(), new int[]{aRows, bCols}); } - @Specialization(order = 21, guards = "vecvec") + @Specialization(guards = "vecvec") public RComplexVector vecvecmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractComplexVector b) { controlVisibility(); if (a.getLength() != b.getLength()) { @@ -229,7 +229,7 @@ public abstract class MatMult extends RBuiltinNode { return RDataFactory.createComplexVector(new double[]{result.getRealPart(), result.getImaginaryPart()}, na.neverSeenNA(), new int[]{1, 1}); } - @Specialization(order = 22, guards = "matvec") + @Specialization(guards = "matvec") public RComplexVector matvecmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractComplexVector b) { controlVisibility(); final int aCols = a.getDimensions()[1]; @@ -264,7 +264,7 @@ public abstract class MatMult extends RBuiltinNode { } } - @Specialization(order = 23, guards = "vecmat") + @Specialization(guards = "vecmat") public RComplexVector vecmatmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractComplexVector b) { controlVisibility(); final int bRows = b.getDimensions()[0]; @@ -301,7 +301,7 @@ public abstract class MatMult extends RBuiltinNode { // int-int - @Specialization(order = 30, guards = "matmat") + @Specialization(guards = "matmat") public RIntVector matmatmult(VirtualFrame frame, RAbstractIntVector a, RAbstractIntVector b) { controlVisibility(); final int aCols = a.getDimensions()[1]; @@ -326,7 +326,7 @@ public abstract class MatMult extends RBuiltinNode { return RDataFactory.createIntVector(result, na.neverSeenNA(), new int[]{aRows, bCols}); } - @Specialization(order = 31, guards = "vecvec") + @Specialization(guards = "vecvec") public RIntVector vecvecmult(VirtualFrame frame, RAbstractIntVector a, RAbstractIntVector b) { controlVisibility(); if (a.getLength() != b.getLength()) { @@ -341,7 +341,7 @@ public abstract class MatMult extends RBuiltinNode { return RDataFactory.createIntVector(new int[]{result}, na.neverSeenNA(), new int[]{1, 1}); } - @Specialization(order = 32, guards = "matvec") + @Specialization(guards = "matvec") public RIntVector matvecmult(VirtualFrame frame, RAbstractIntVector a, RAbstractIntVector b) { controlVisibility(); final int aCols = a.getDimensions()[1]; @@ -374,7 +374,7 @@ public abstract class MatMult extends RBuiltinNode { } } - @Specialization(order = 33, guards = "vecmat") + @Specialization(guards = "vecmat") public RIntVector vecmatmult(VirtualFrame frame, RAbstractIntVector a, RAbstractIntVector b) { controlVisibility(); final int bCols = b.getDimensions()[1]; @@ -409,268 +409,268 @@ public abstract class MatMult extends RBuiltinNode { // logical-logical - @Specialization(order = 40, guards = "matmat") + @Specialization(guards = "matmat") public RIntVector matmatmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractLogicalVector b) { return matmatmult(frame, RClosures.createLogicalToIntVector(a, na), RClosures.createLogicalToIntVector(b, na)); } - @Specialization(order = 41, guards = "vecvec") + @Specialization(guards = "vecvec") public RIntVector vecvecmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractLogicalVector b) { return vecvecmult(frame, RClosures.createLogicalToIntVector(a, na), RClosures.createLogicalToIntVector(b, na)); } - @Specialization(order = 42, guards = "matvec") + @Specialization(guards = "matvec") public RIntVector matvecmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractLogicalVector b) { return matvecmult(frame, RClosures.createLogicalToIntVector(a, na), RClosures.createLogicalToIntVector(b, na)); } - @Specialization(order = 43, guards = "vecmat") + @Specialization(guards = "vecmat") public RIntVector vecmatmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractLogicalVector b) { return vecmatmult(frame, RClosures.createLogicalToIntVector(a, na), RClosures.createLogicalToIntVector(b, na)); } // to int - @Specialization(order = 50, guards = "matmat") + @Specialization(guards = "matmat") public RIntVector matmatmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractIntVector b) { return matmatmult(frame, RClosures.createLogicalToIntVector(a, na), b); } - @Specialization(order = 51, guards = "vecvec") + @Specialization(guards = "vecvec") public RIntVector vecvecmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractIntVector b) { return vecvecmult(frame, RClosures.createLogicalToIntVector(a, na), b); } - @Specialization(order = 52, guards = "matvec") + @Specialization(guards = "matvec") public RIntVector matvecmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractIntVector b) { return matvecmult(frame, RClosures.createLogicalToIntVector(a, na), b); } - @Specialization(order = 53, guards = "vecmat") + @Specialization(guards = "vecmat") public RIntVector vecmatmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractIntVector b) { return vecmatmult(frame, RClosures.createLogicalToIntVector(a, na), b); } - @Specialization(order = 54, guards = "matmat") + @Specialization(guards = "matmat") public RIntVector matmatmult(VirtualFrame frame, RAbstractIntVector a, RAbstractLogicalVector b) { return matmatmult(frame, a, RClosures.createLogicalToIntVector(b, na)); } - @Specialization(order = 55, guards = "vecvec") + @Specialization(guards = "vecvec") public RIntVector vecvecmult(VirtualFrame frame, RAbstractIntVector a, RAbstractLogicalVector b) { return vecvecmult(frame, a, RClosures.createLogicalToIntVector(b, na)); } - @Specialization(order = 56, guards = "matvec") + @Specialization(guards = "matvec") public RIntVector matvecmult(VirtualFrame frame, RAbstractIntVector a, RAbstractLogicalVector b) { return matvecmult(frame, a, RClosures.createLogicalToIntVector(b, na)); } - @Specialization(order = 57, guards = "vecmat") + @Specialization(guards = "vecmat") public RIntVector vecmatmult(VirtualFrame frame, RAbstractIntVector a, RAbstractLogicalVector b) { return vecmatmult(frame, a, RClosures.createLogicalToIntVector(b, na)); } // to complex - @Specialization(order = 60, guards = "matmat") + @Specialization(guards = "matmat") public RComplexVector matmatmult(VirtualFrame frame, RAbstractIntVector a, RAbstractComplexVector b) { return matmatmult(frame, RClosures.createIntToComplexVector(a, na), b); } - @Specialization(order = 61, guards = "vecvec") + @Specialization(guards = "vecvec") public RComplexVector vecvecmult(VirtualFrame frame, RAbstractIntVector a, RAbstractComplexVector b) { return vecvecmult(frame, RClosures.createIntToComplexVector(a, na), b); } - @Specialization(order = 62, guards = "matvec") + @Specialization(guards = "matvec") public RComplexVector matvecmult(VirtualFrame frame, RAbstractIntVector a, RAbstractComplexVector b) { return matvecmult(frame, RClosures.createIntToComplexVector(a, na), b); } - @Specialization(order = 63, guards = "vecmat") + @Specialization(guards = "vecmat") public RComplexVector vecmatmult(VirtualFrame frame, RAbstractIntVector a, RAbstractComplexVector b) { return vecmatmult(frame, RClosures.createIntToComplexVector(a, na), b); } - @Specialization(order = 65, guards = "matmat") + @Specialization(guards = "matmat") public RComplexVector matmatmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractIntVector b) { return matmatmult(frame, a, RClosures.createIntToComplexVector(b, na)); } - @Specialization(order = 66, guards = "vecvec") + @Specialization(guards = "vecvec") public RComplexVector vecvecmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractIntVector b) { return vecvecmult(frame, a, RClosures.createIntToComplexVector(b, na)); } - @Specialization(order = 67, guards = "matvec") + @Specialization(guards = "matvec") public RComplexVector matvecmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractIntVector b) { return matvecmult(frame, a, RClosures.createIntToComplexVector(b, na)); } - @Specialization(order = 68, guards = "vecmat") + @Specialization(guards = "vecmat") public RComplexVector vecmatmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractIntVector b) { return vecmatmult(frame, a, RClosures.createIntToComplexVector(b, na)); } - @Specialization(order = 70, guards = "matmat") + @Specialization(guards = "matmat") public RComplexVector matmatmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractComplexVector b) { return matmatmult(frame, RClosures.createLogicalToComplexVector(a, na), b); } - @Specialization(order = 71, guards = "vecvec") + @Specialization(guards = "vecvec") public RComplexVector vecvecmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractComplexVector b) { return vecvecmult(frame, RClosures.createLogicalToComplexVector(a, na), b); } - @Specialization(order = 72, guards = "matvec") + @Specialization(guards = "matvec") public RComplexVector matvecmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractComplexVector b) { return matvecmult(frame, RClosures.createLogicalToComplexVector(a, na), b); } - @Specialization(order = 73, guards = "vecmat") + @Specialization(guards = "vecmat") public RComplexVector vecmatmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractComplexVector b) { return vecmatmult(frame, RClosures.createLogicalToComplexVector(a, na), b); } - @Specialization(order = 75, guards = "matmat") + @Specialization(guards = "matmat") public RComplexVector matmatmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractLogicalVector b) { return matmatmult(frame, a, RClosures.createLogicalToComplexVector(b, na)); } - @Specialization(order = 76, guards = "vecvec") + @Specialization(guards = "vecvec") public RComplexVector vecvecmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractLogicalVector b) { return vecvecmult(frame, a, RClosures.createLogicalToComplexVector(b, na)); } - @Specialization(order = 77, guards = "matvec") + @Specialization(guards = "matvec") public RComplexVector matvecmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractLogicalVector b) { return matvecmult(frame, a, RClosures.createLogicalToComplexVector(b, na)); } - @Specialization(order = 78, guards = "vecmat") + @Specialization(guards = "vecmat") public RComplexVector vecmatmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractLogicalVector b) { return vecmatmult(frame, a, RClosures.createLogicalToComplexVector(b, na)); } - @Specialization(order = 80, guards = "matmat") + @Specialization(guards = "matmat") public RComplexVector matmatmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractComplexVector b) { return matmatmult(frame, RClosures.createDoubleToComplexVector(a, na), b); } - @Specialization(order = 81, guards = "vecvec") + @Specialization(guards = "vecvec") public RComplexVector vecvecmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractComplexVector b) { return vecvecmult(frame, RClosures.createDoubleToComplexVector(a, na), b); } - @Specialization(order = 82, guards = "matvec") + @Specialization(guards = "matvec") public RComplexVector matvecmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractComplexVector b) { return matvecmult(frame, RClosures.createDoubleToComplexVector(a, na), b); } - @Specialization(order = 83, guards = "vecmat") + @Specialization(guards = "vecmat") public RComplexVector vecmatmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractComplexVector b) { return vecmatmult(frame, RClosures.createDoubleToComplexVector(a, na), b); } - @Specialization(order = 85, guards = "matmat") + @Specialization(guards = "matmat") public RComplexVector matmatmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractDoubleVector b) { return matmatmult(frame, a, RClosures.createDoubleToComplexVector(b, na)); } - @Specialization(order = 86, guards = "vecvec") + @Specialization(guards = "vecvec") public RComplexVector vecvecmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractDoubleVector b) { return vecvecmult(frame, a, RClosures.createDoubleToComplexVector(b, na)); } - @Specialization(order = 87, guards = "matvec") + @Specialization(guards = "matvec") public RComplexVector matvecmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractDoubleVector b) { return matvecmult(frame, a, RClosures.createDoubleToComplexVector(b, na)); } - @Specialization(order = 88, guards = "vecmat") + @Specialization(guards = "vecmat") public RComplexVector vecmatmult(VirtualFrame frame, RAbstractComplexVector a, RAbstractDoubleVector b) { return vecmatmult(frame, a, RClosures.createDoubleToComplexVector(b, na)); } // to double - @Specialization(order = 90, guards = "matmat") + @Specialization(guards = "matmat") public RDoubleVector matmatmult(VirtualFrame frame, RAbstractIntVector a, RAbstractDoubleVector b) { return matmatmult(frame, RClosures.createIntToDoubleVector(a, na), b); } - @Specialization(order = 91, guards = "vecvec") + @Specialization(guards = "vecvec") public RDoubleVector vecvecmult(VirtualFrame frame, RAbstractIntVector a, RAbstractDoubleVector b) { return vecvecmult(frame, RClosures.createIntToDoubleVector(a, na), b); } - @Specialization(order = 92, guards = "matvec") + @Specialization(guards = "matvec") public RDoubleVector matvecmult(VirtualFrame frame, RAbstractIntVector a, RAbstractDoubleVector b) { return matvecmult(frame, RClosures.createIntToDoubleVector(a, na), b); } - @Specialization(order = 93, guards = "vecmat") + @Specialization(guards = "vecmat") public RDoubleVector vecmatmult(VirtualFrame frame, RAbstractIntVector a, RAbstractDoubleVector b) { return vecmatmult(frame, RClosures.createIntToDoubleVector(a, na), b); } - @Specialization(order = 95, guards = "matmat") + @Specialization(guards = "matmat") public RDoubleVector matmatmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractIntVector b) { return matmatmult(frame, a, RClosures.createIntToDoubleVector(b, na)); } - @Specialization(order = 96, guards = "vecvec") + @Specialization(guards = "vecvec") public RDoubleVector vecvecmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractIntVector b) { return vecvecmult(frame, a, RClosures.createIntToDoubleVector(b, na)); } - @Specialization(order = 97, guards = "matvec") + @Specialization(guards = "matvec") public RDoubleVector matvecmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractIntVector b) { return matvecmult(frame, a, RClosures.createIntToDoubleVector(b, na)); } - @Specialization(order = 98, guards = "vecmat") + @Specialization(guards = "vecmat") public RDoubleVector vecmatmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractIntVector b) { return vecmatmult(frame, a, RClosures.createIntToDoubleVector(b, na)); } - @Specialization(order = 100, guards = "matmat") + @Specialization(guards = "matmat") public RDoubleVector matmatmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractDoubleVector b) { return matmatmult(frame, RClosures.createLogicalToDoubleVector(a, na), b); } - @Specialization(order = 101, guards = "vecvec") + @Specialization(guards = "vecvec") public RDoubleVector vecvecmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractDoubleVector b) { return vecvecmult(frame, RClosures.createLogicalToDoubleVector(a, na), b); } - @Specialization(order = 102, guards = "matvec") + @Specialization(guards = "matvec") public RDoubleVector matvecmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractDoubleVector b) { return matvecmult(frame, RClosures.createLogicalToDoubleVector(a, na), b); } - @Specialization(order = 103, guards = "vecmat") + @Specialization(guards = "vecmat") public RDoubleVector vecmatmult(VirtualFrame frame, RAbstractLogicalVector a, RAbstractDoubleVector b) { return vecmatmult(frame, RClosures.createLogicalToDoubleVector(a, na), b); } - @Specialization(order = 105, guards = "matmat") + @Specialization(guards = "matmat") public RDoubleVector matmatmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractLogicalVector b) { return matmatmult(frame, a, RClosures.createLogicalToDoubleVector(b, na)); } - @Specialization(order = 106, guards = "vecvec") + @Specialization(guards = "vecvec") public RDoubleVector vecvecmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractLogicalVector b) { return vecvecmult(frame, a, RClosures.createLogicalToDoubleVector(b, na)); } - @Specialization(order = 107, guards = "matvec") + @Specialization(guards = "matvec") public RDoubleVector matvecmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractLogicalVector b) { return matvecmult(frame, a, RClosures.createLogicalToDoubleVector(b, na)); } - @Specialization(order = 108, guards = "vecmat") + @Specialization(guards = "vecmat") public RDoubleVector vecmatmult(VirtualFrame frame, RAbstractDoubleVector a, RAbstractLogicalVector b) { return vecmatmult(frame, a, RClosures.createLogicalToDoubleVector(b, na)); } @@ -678,25 +678,25 @@ public abstract class MatMult extends RBuiltinNode { // errors @SuppressWarnings("unused") - @Specialization(order = 200) + @Specialization public RDoubleVector doRaw(VirtualFrame frame, RAbstractRawVector a, Object b) { throw RError.error(frame, this.getEncapsulatingSourceSection(), RError.Message.NUMERIC_COMPLEX_MATRIX_VECTOR); } @SuppressWarnings("unused") - @Specialization(order = 201) + @Specialization public RDoubleVector doRaw(VirtualFrame frame, Object a, RAbstractRawVector b) { throw RError.error(frame, this.getEncapsulatingSourceSection(), RError.Message.NUMERIC_COMPLEX_MATRIX_VECTOR); } @SuppressWarnings("unused") - @Specialization(order = 205) + @Specialization public RDoubleVector doString(VirtualFrame frame, RAbstractStringVector a, Object b) { throw RError.error(frame, this.getEncapsulatingSourceSection(), RError.Message.NUMERIC_COMPLEX_MATRIX_VECTOR); } @SuppressWarnings("unused") - @Specialization(order = 206) + @Specialization public RDoubleVector doString(VirtualFrame frame, Object a, RAbstractStringVector b) { throw RError.error(frame, this.getEncapsulatingSourceSection(), RError.Message.NUMERIC_COMPLEX_MATRIX_VECTOR); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Match.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Match.java index b42997be29..33cc1dbe7b 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Match.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Match.java @@ -68,19 +68,19 @@ public abstract class Match extends RBuiltinNode { // FIXME deal incomparables parameter - @Specialization(order = 0) + @Specialization @SuppressWarnings("unused") public RIntVector match(VirtualFrame frame, RNull x, RAbstractVector table, Object nomatchObj, Object incomparables) { return RDataFactory.createIntVector(0); } - @Specialization(order = 1) + @Specialization @SuppressWarnings("unused") public RIntVector match(VirtualFrame frame, RAbstractVector x, RNull table, Object nomatchObj, Object incomparables) { return RDataFactory.createIntVector(x.getLength()); } - @Specialization(order = 5) + @Specialization @SuppressWarnings("unused") public RIntVector match(VirtualFrame frame, RAbstractIntVector x, RAbstractIntVector table, Object nomatchObj, Object incomparables) { controlVisibility(); @@ -102,7 +102,7 @@ public abstract class Match extends RBuiltinNode { return RDataFactory.createIntVector(result, setCompleteState(matchAll, nomatch)); } - @Specialization(order = 6) + @Specialization @SuppressWarnings("unused") public RIntVector match(VirtualFrame frame, RAbstractDoubleVector x, RAbstractIntVector table, Object nomatchObj, Object incomparables) { controlVisibility(); @@ -124,7 +124,7 @@ public abstract class Match extends RBuiltinNode { return RDataFactory.createIntVector(result, setCompleteState(matchAll, nomatch)); } - @Specialization(order = 10) + @Specialization @SuppressWarnings("unused") public RIntVector match(VirtualFrame frame, RAbstractIntVector x, RAbstractDoubleVector table, Object nomatchObj, Object incomparables) { controlVisibility(); @@ -146,7 +146,7 @@ public abstract class Match extends RBuiltinNode { return RDataFactory.createIntVector(result, setCompleteState(matchAll, nomatch)); } - @Specialization(order = 11) + @Specialization @SuppressWarnings("unused") public RIntVector match(VirtualFrame frame, RAbstractDoubleVector x, RAbstractDoubleVector table, Object nomatchObj, Object incomparables) { controlVisibility(); @@ -168,7 +168,7 @@ public abstract class Match extends RBuiltinNode { return RDataFactory.createIntVector(result, setCompleteState(matchAll, nomatch)); } - @Specialization(order = 21) + @Specialization @SuppressWarnings("unused") public RIntVector match(VirtualFrame frame, RAbstractStringVector x, RAbstractStringVector table, Object nomatchObj, Object incomparables) { controlVisibility(); @@ -190,7 +190,7 @@ public abstract class Match extends RBuiltinNode { return RDataFactory.createIntVector(result, setCompleteState(matchAll, nomatch)); } - @Specialization(order = 15) + @Specialization @SuppressWarnings("unused") public RIntVector match(VirtualFrame frame, RAbstractLogicalVector x, RAbstractLogicalVector table, Object nomatchObj, Object incomparables) { controlVisibility(); @@ -211,7 +211,7 @@ public abstract class Match extends RBuiltinNode { return RDataFactory.createIntVector(result, setCompleteState(matchAll, nomatch)); } - @Specialization(order = 22, guards = "!isStringVectorX") + @Specialization(guards = "!isStringVectorX") @SuppressWarnings("unused") public RIntVector match(VirtualFrame frame, RAbstractStringVector x, RAbstractVector table, Object nomatchObj, Object incomparables) { controlVisibility(); @@ -233,7 +233,7 @@ public abstract class Match extends RBuiltinNode { return RDataFactory.createIntVector(result, setCompleteState(matchAll, nomatch)); } - @Specialization(order = 25) + @Specialization @SuppressWarnings("unused") public RIntVector match(VirtualFrame frame, RAbstractComplexVector x, RAbstractComplexVector table, Object nomatchObj, Object incomparables) { controlVisibility(); @@ -255,13 +255,13 @@ public abstract class Match extends RBuiltinNode { return RDataFactory.createIntVector(result, setCompleteState(matchAll, nomatch)); } - @Specialization(order = 100) + @Specialization @SuppressWarnings("unused") public RIntVector match(VirtualFrame frame, RFunction x, Object table, Object nomatchObj, Object incomparables) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MATCH_VECTOR_ARGS); } - @Specialization(order = 101) + @Specialization @SuppressWarnings("unused") public RIntVector match(VirtualFrame frame, Object x, RFunction table, Object nomatchObj, Object incomparables) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MATCH_VECTOR_ARGS); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Matrix.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Matrix.java index 1b036c6318..ae568d3fd9 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Matrix.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Matrix.java @@ -62,7 +62,7 @@ public abstract class Matrix extends RBuiltinNode { return arguments; } - @Specialization(guards = "isByRow", order = 12) + @Specialization(guards = "isByRow") @SuppressWarnings("unused") public Object matrixByRow(VirtualFrame frame, RAbstractVector data, RAbstractVector nrowp, RAbstractVector ncolp, byte byrow, RNull dimnames, byte missingNr, byte missingNc) { controlVisibility(); @@ -72,7 +72,7 @@ public abstract class Matrix extends RBuiltinNode { return transpose.execute(frame, vdata.copyResized(nrowncol[0] * nrowncol[1], false).copyWithNewDimensions(rowColByRow)); } - @Specialization(guards = "isByRow", order = 10) + @Specialization(guards = "isByRow") @SuppressWarnings("unused") public Object matrixByRow(VirtualFrame frame, RAbstractVector data, RMissing nrowp, RAbstractVector ncolp, byte byrow, RNull dimnames, byte missingNr, byte missingNc) { controlVisibility(); @@ -82,7 +82,7 @@ public abstract class Matrix extends RBuiltinNode { return transpose.execute(frame, vdata.copyResized(nrowncol[0] * nrowncol[1], false).copyWithNewDimensions(rowColByRow)); } - @Specialization(guards = "isByRow", order = 8) + @Specialization(guards = "isByRow") @SuppressWarnings("unused") public Object matrixByRow(VirtualFrame frame, RAbstractVector data, RAbstractVector nrowp, RMissing ncolp, byte byrow, RNull dimnames, byte missingNr, byte missingNc) { controlVisibility(); @@ -92,7 +92,7 @@ public abstract class Matrix extends RBuiltinNode { return transpose.execute(frame, vdata.copyResized(nrowncol[0] * nrowncol[1], false).copyWithNewDimensions(rowColByRow)); } - @Specialization(guards = "isByRow", order = 6) + @Specialization(guards = "isByRow") @SuppressWarnings("unused") public Object matrixByRow(VirtualFrame frame, RAbstractVector data, RMissing nrowp, RMissing ncolp, byte byrow, RNull dimnames, byte missingNr, byte missingNc) { controlVisibility(); @@ -101,7 +101,7 @@ public abstract class Matrix extends RBuiltinNode { return transpose.execute(frame, data.copyResized(nrowncol[0] * nrowncol[1], false).copyWithNewDimensions(rowColByRow)); } - @Specialization(guards = "!isByRow", order = 4) + @Specialization(guards = "!isByRow") @SuppressWarnings("unused") public RAbstractVector matrix(VirtualFrame frame, RAbstractVector data, RAbstractVector nrowp, RAbstractVector ncolp, byte byrow, RNull dimnames, byte missingNr, byte missingNc) { controlVisibility(); @@ -109,7 +109,7 @@ public abstract class Matrix extends RBuiltinNode { return data.copyResized(nrowncol[0] * nrowncol[1], false).copyWithNewDimensions(nrowncol); } - @Specialization(guards = "!isByRow", order = 2) + @Specialization(guards = "!isByRow") @SuppressWarnings("unused") public RAbstractVector matrix(VirtualFrame frame, RAbstractVector data, RMissing nrowp, RAbstractVector ncolp, byte byrow, RNull dimnames, byte missingNr, byte missingNc) { controlVisibility(); @@ -117,7 +117,7 @@ public abstract class Matrix extends RBuiltinNode { return data.copyResized(nrowncol[0] * nrowncol[1], false).copyWithNewDimensions(nrowncol); } - @Specialization(guards = "!isByRow", order = 1) + @Specialization(guards = "!isByRow") @SuppressWarnings("unused") public RAbstractVector matrix(VirtualFrame frame, RAbstractVector data, RAbstractVector nrowp, RMissing ncolp, byte byrow, RNull dimnames, byte missingNr, byte missingNc) { controlVisibility(); @@ -125,7 +125,7 @@ public abstract class Matrix extends RBuiltinNode { return data.copyResized(nrowncol[0] * nrowncol[1], false).copyWithNewDimensions(nrowncol); } - @Specialization(guards = "!isByRow", order = 0) + @Specialization(guards = "!isByRow") @SuppressWarnings("unused") public RAbstractVector matrix(VirtualFrame frame, RAbstractVector data, RMissing nrowp, RMissing ncolp, byte byrow, RNull dimnames, byte missingNr, byte missingNc) { controlVisibility(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NGetText.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NGetText.java index b42ef7a8f7..7fef72000b 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NGetText.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NGetText.java @@ -49,48 +49,48 @@ public abstract class NGetText extends RBuiltinNode { return new RNode[]{CastIntegerNodeFactory.create(children[0], false, false, false), children[1], children[2], children[3]}; } - @Specialization(order = 1, guards = "wrongNVector") + @Specialization(guards = "wrongNVector") public String getTextEmpty(VirtualFrame frame, RAbstractIntVector nVector, String msg1, String msg2, Object domain) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, "n"); } - @Specialization(order = 2, guards = "!wrongNVector") + @Specialization(guards = "!wrongNVector") public String getText(RAbstractIntVector nVector, String msg1, String msg2, Object domain) { int n = nVector.getDataAt(0); return n == 1 ? msg1 : msg2; } - @Specialization(order = 10, guards = "!wrongNVector") + @Specialization(guards = "!wrongNVector") public String getTextMsg1Null(VirtualFrame frame, RAbstractIntVector nVector, RNull msg1, RNull msg2, Object domain) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MUST_BE_STRING, "msg1"); } - @Specialization(order = 11, guards = "!wrongNVector") + @Specialization(guards = "!wrongNVector") public String getTextMsg1Null(VirtualFrame frame, RAbstractIntVector nVector, RNull msg1, RAbstractVector msg2, Object domain) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MUST_BE_STRING, "msg1"); } - @Specialization(order = 12, guards = {"!wrongNVector", "!msg1StringVectorOneElem"}) + @Specialization(guards = {"!wrongNVector", "!msg1StringVectorOneElem"}) public String getTextMsg1WrongMsg2Null(VirtualFrame frame, RAbstractIntVector nVector, RAbstractVector msg1, RNull msg2, Object domain) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MUST_BE_STRING, "msg1"); } - @Specialization(order = 13, guards = {"!wrongNVector", "!msg1StringVectorOneElem"}) + @Specialization(guards = {"!wrongNVector", "!msg1StringVectorOneElem"}) public String getTextMsg1Wrong(VirtualFrame frame, RAbstractIntVector nVector, RAbstractVector msg1, RAbstractVector msg2, Object domain) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MUST_BE_STRING, "msg1"); } - @Specialization(order = 20, guards = {"!wrongNVector", "msg1StringVectorOneElem"}) + @Specialization(guards = {"!wrongNVector", "msg1StringVectorOneElem"}) public String getTextMsg1(VirtualFrame frame, RAbstractIntVector nVector, RAbstractVector msg1, RNull msg2, Object domain) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MUST_BE_STRING, "msg2"); } - @Specialization(order = 21, guards = {"!wrongNVector", "msg1StringVectorOneElem", "!msg2StringVectorOneElem"}) + @Specialization(guards = {"!wrongNVector", "msg1StringVectorOneElem", "!msg2StringVectorOneElem"}) public String getTextMsg2Wrong(VirtualFrame frame, RAbstractIntVector nVector, RAbstractVector msg1, RAbstractVector msg2, Object domain) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MUST_BE_STRING, "msg2"); } - @Specialization(order = 30, guards = {"!wrongNVector", "msg1StringVectorOneElem", "msg2StringVectorOneElem"}) + @Specialization(guards = {"!wrongNVector", "msg1StringVectorOneElem", "msg2StringVectorOneElem"}) public String getTextMsg1(RAbstractIntVector nVector, RAbstractVector msg1, RAbstractVector msg2, Object domain) { return getText(nVector, ((RAbstractStringVector) msg1).getDataAt(0), ((RAbstractStringVector) msg2).getDataAt(0), domain); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NextMethod.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NextMethod.java index 0ae6ec2801..1fde5b21ac 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NextMethod.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NextMethod.java @@ -37,7 +37,7 @@ public abstract class NextMethod extends RBuiltinNode { return new RNode[]{ConstantNode.create(RNull.instance), ConstantNode.create(RNull.instance), ConstantNode.create(RMissing.instance)}; } - @Specialization(order = 0) + @Specialization public Object nextMethod(VirtualFrame frame, String genericMethod, @SuppressWarnings("unused") Object obj, Object[] args) { controlVisibility(); final RStringVector type = readType(frame); @@ -54,13 +54,13 @@ public abstract class NextMethod extends RBuiltinNode { return dispatchedCallNode.execute(frame, type); } - @Specialization(order = 10) + @Specialization public Object nextMethod(VirtualFrame frame, @SuppressWarnings("unused") RNull generic, @SuppressWarnings("unused") RNull obj, @SuppressWarnings("unused") RMissing args) { controlVisibility(); return nextMethod(frame, null, null, new Object[0]); } - @Specialization(order = 11) + @Specialization public Object nextMethod(VirtualFrame frame, String generic, Object obj, @SuppressWarnings("unused") RMissing args) { controlVisibility(); return nextMethod(frame, generic, obj, new Object[0]); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NormalizePath.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NormalizePath.java index 099ae013ec..7ac30f8e2b 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NormalizePath.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NormalizePath.java @@ -77,7 +77,7 @@ public abstract class NormalizePath extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 100) + @Specialization public Object doNormalizePath(VirtualFrame frame, Object path, Object winslash, Object mustWork) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.WRONG_TYPE); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Order.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Order.java index 943ab89720..e600fb88fb 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Order.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Order.java @@ -53,7 +53,7 @@ public abstract class Order extends RBuiltinNode { // specialisations for one parameter - @Specialization(order = 10) + @Specialization public RIntVector order(RStringVector x, @SuppressWarnings("unused") RMissing tie) { controlVisibility(); String[] xs = x.getDataCopy(); @@ -62,7 +62,7 @@ public abstract class Order extends RBuiltinNode { return RDataFactory.createIntVector(ord, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 20) + @Specialization public RIntVector order(RDoubleVector x, @SuppressWarnings("unused") RMissing tie) { controlVisibility(); double[] xs = x.getDataCopy(); @@ -71,7 +71,7 @@ public abstract class Order extends RBuiltinNode { return RDataFactory.createIntVector(ord, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 30) + @Specialization public RIntVector order(RIntVector x, @SuppressWarnings("unused") RMissing tie) { controlVisibility(); int[] xs = x.getDataCopy(); @@ -80,13 +80,13 @@ public abstract class Order extends RBuiltinNode { return RDataFactory.createIntVector(ord, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 31) + @Specialization public RIntVector order(RIntVector x, @SuppressWarnings("unused") RNull nul) { controlVisibility(); return order(x, RMissing.instance); } - @Specialization(order = 40) + @Specialization public RIntVector order(RComplexVector x, @SuppressWarnings("unused") RMissing tie) { controlVisibility(); double[] xs = x.getDataCopy(); @@ -97,7 +97,7 @@ public abstract class Order extends RBuiltinNode { // specialisations for vector and tie parameters - @Specialization(order = 100) + @Specialization public RIntVector order(RIntVector x, RStringVector tie) { controlVisibility(); int[] t = order(tie, RMissing.instance).getDataWithoutCopying(); @@ -108,7 +108,7 @@ public abstract class Order extends RBuiltinNode { return RDataFactory.createIntVector(ord, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 110) + @Specialization public RIntVector order(RDoubleVector x, RStringVector tie) { controlVisibility(); int[] t = order(tie, RMissing.instance).getDataWithoutCopying(); @@ -119,7 +119,7 @@ public abstract class Order extends RBuiltinNode { return RDataFactory.createIntVector(ord, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 120) + @Specialization public RIntVector order(RDoubleVector x, RDoubleVector tie) { controlVisibility(); int[] t = order(tie, RMissing.instance).getDataWithoutCopying(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Parse.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Parse.java index eb3c0bb93d..05a47814a4 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Parse.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Parse.java @@ -45,7 +45,7 @@ import com.oracle.truffle.r.runtime.data.*; public abstract class Parse extends RInvisibleBuiltinNode { @SuppressWarnings("unused") - @Specialization(order = 0) + @Specialization public Object parse(VirtualFrame frame, RConnection conn, RNull n, RNull text, String prompt, RNull srcFile, String encoding) { controlVisibility(); try { @@ -57,7 +57,7 @@ public abstract class Parse extends RInvisibleBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 1) + @Specialization public Object parse(VirtualFrame frame, RConnection conn, double n, RNull text, String prompt, RNull srcFile, String encoding) { controlVisibility(); try { @@ -69,7 +69,7 @@ public abstract class Parse extends RInvisibleBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 2, guards = "isText") + @Specialization(guards = "isText") public Object parse(VirtualFrame frame, RConnection conn, RNull n, String text, String prompt, RNull srcFile, String encoding) { controlVisibility(); try { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PathExpand.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PathExpand.java index c815eef8bc..c0cc467cdb 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PathExpand.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PathExpand.java @@ -45,7 +45,7 @@ public abstract class PathExpand extends RBuiltinNode { return RDataFactory.createStringVector(results, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 100) + @Specialization public Object doPathExpandGeneric(VirtualFrame frame, @SuppressWarnings("unused") Object path) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, "path"); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PrettyPrinterNode.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PrettyPrinterNode.java index c10db0a92b..17b1c21395 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PrettyPrinterNode.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/PrettyPrinterNode.java @@ -120,7 +120,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 1) + @Specialization public String prettyPrintVector(byte operand, Object listElementName, byte quote) { return concat("[1] ", prettyPrint(operand)); } @@ -136,7 +136,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 10) + @Specialization public String prettyPrintVector(int operand, Object listElementName, byte quote) { return concat("[1] ", prettyPrint(operand)); } @@ -146,7 +146,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 20) + @Specialization public String prettyPrintVector(double operand, Object listElementName, byte quote) { return concat("[1] ", prettyPrint(operand)); } @@ -160,7 +160,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 30) + @Specialization public String prettyPrintVector(RComplex operand, Object listElementName, byte quote) { return concat("[1] ", prettyPrint(operand)); } @@ -172,7 +172,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 40) + @Specialization public String prettyPrintVector(String operand, Object listElementName, byte quote) { return concat("[1] ", prettyPrint(operand)); } @@ -182,7 +182,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 50) + @Specialization public String prettyPrintVector(RRaw operand, Object listElementName, byte quote) { return concat("[1] ", prettyPrint(operand)); } @@ -192,13 +192,13 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 60) + @Specialization public String prettyPrint(RFunction operand, Object listElementName, byte quote) { return ((RRootNode) operand.getTarget().getRootNode()).getSourceCode(); } @SlowPath - @Specialization(order = 70) + @Specialization public String prettyPrint(REnvironment operand, Object listElementName, byte quote) { RAttributes attributes = operand.getAttributes(); if (attributes == null) { @@ -213,7 +213,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 80) + @Specialization public String prettyPrint(RExpression expr, Object listElementName, byte quote) { StringBuilder builder = new StringBuilder(); builder.append("expression("); @@ -229,13 +229,13 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 85) + @Specialization public String prettyPrintSymbol(RSymbol operand, Object listElementName, byte quote) { return operand.getName(); } @SlowPath - @Specialization(order = 86) + @Specialization public String prettyPrintPromise(RPromise promise, Object listElementName, byte quote) { if (promise.isEvaluated()) { return prettyPrintRecursive(promise.getValue(), listElementName, quote); @@ -245,7 +245,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 87) + @Specialization public String prettyPrintLanguage(RLanguage language, Object listElementName, byte quote) { return prettyPrintLanguageRep(language, listElementName); } @@ -261,7 +261,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 88) + @Specialization public String prettyPrintPairList(RPairList pairList, Object listElementName, byte quote) { StringBuilder sb = new StringBuilder(); RPairList pl = pairList; @@ -284,13 +284,13 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 89) + @Specialization public String prettyPrintMissing(RMissing missing, Object listElementName, byte quote) { return ""; } @SlowPath - @Specialization(order = 90) + @Specialization public String prettyPrintFormula(RFormula formula, Object listElementName, byte quote) { return formula.getSource().getCode(); } @@ -579,37 +579,37 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 100, guards = "twoDimsOrMore") + @Specialization(guards = "twoDimsOrMore") public String prettyPrintM(RList operand, Object listElementName, byte quote) { return printVectorMultiDim(operand, true, false); } @SlowPath - @Specialization(order = 101, guards = "twoDimsOrMore") + @Specialization(guards = "twoDimsOrMore") public String prettyPrintM(RAbstractStringVector operand, Object listElementName, byte quote) { return printVectorMultiDim(operand, true, false); } @SlowPath - @Specialization(order = 103, guards = "twoDimsOrMore") + @Specialization(guards = "twoDimsOrMore") public String prettyPrintM(RAbstractComplexVector operand, Object listElementName, byte quote) { return printVectorMultiDim(operand, false, true); } @SlowPath - @Specialization(order = 104, guards = "twoDimsOrMore") + @Specialization(guards = "twoDimsOrMore") public String prettyPrintM(RAbstractRawVector operand, Object listElementName, byte quote) { return printVectorMultiDim(operand, false, true); } @SlowPath - @Specialization(order = 105, guards = "twoDimsOrMore") + @Specialization(guards = "twoDimsOrMore") public String prettyPrintM(RAbstractVector operand, Object listElementName, byte quote) { return printVectorMultiDim(operand, false, false); } @SlowPath - @Specialization(order = 200, guards = "!twoDimsOrMore") + @Specialization(guards = "!twoDimsOrMore") public String prettyPrint(RList operand, Object listElementName, byte quote) { return prettyPrintList0(operand, listElementName, quote); } @@ -635,7 +635,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 300, guards = "!twoDimsOrMore") + @Specialization(guards = "!twoDimsOrMore") public String prettyPrint(RAbstractDoubleVector operand, Object listElementName, byte quote) { int length = operand.getLength(); String[] values = new String[length]; @@ -650,7 +650,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 400, guards = "!twoDimsOrMore") + @Specialization(guards = "!twoDimsOrMore") public String prettyPrint(RAbstractIntVector operand, Object listElementName, byte quote) { int length = operand.getLength(); String[] values = new String[length]; @@ -662,7 +662,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 500, guards = "!twoDimsOrMore") + @Specialization(guards = "!twoDimsOrMore") public String prettyPrint(RAbstractStringVector operand, Object listElementName, byte quote) { int length = operand.getLength(); String[] values = new String[length]; @@ -678,7 +678,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 600, guards = "!twoDimsOrMore") + @Specialization(guards = "!twoDimsOrMore") public String prettyPrint(RAbstractLogicalVector operand, Object listElementName, byte quote) { int length = operand.getLength(); String[] values = new String[length]; @@ -690,7 +690,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 700, guards = "!twoDimsOrMore") + @Specialization(guards = "!twoDimsOrMore") public String prettyPrint(RAbstractRawVector operand, Object listElementName, byte quote) { int length = operand.getLength(); String[] values = new String[length]; @@ -702,7 +702,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 800, guards = "!twoDimsOrMore") + @Specialization(guards = "!twoDimsOrMore") public String prettyPrint(RAbstractComplexVector operand, Object listElementName, byte quote) { if (re == null) { // the two are allocated side by side; checking for re is sufficient @@ -735,7 +735,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 1000) + @Specialization public String prettyPrint(RDataFrame operand, Object listElementName, byte quote) { if (operand.getVector().getLength() == 0) { return "data frame with 0 columns and 0 rows"; @@ -1075,19 +1075,19 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 1) + @Specialization public String prettyPrintVectorElement(RList operand) { return prettyPrint(operand); } @SlowPath - @Specialization(order = 2, guards = {"!isLengthOne", "!isVectorList"}) + @Specialization(guards = {"!isLengthOne", "!isVectorList"}) public String prettyPrintVectorElement(RAbstractVector operand) { return prettyPrint(operand); } @SlowPath - @Specialization(order = 3, guards = {"isLengthOne", "!isVectorList"}) + @Specialization(guards = {"isLengthOne", "!isVectorList"}) public String prettyPrintVectorElementLengthOne(RAbstractVector operand) { return prettyPrintRecursive(operand.getDataAtAsObject(0)); } @@ -1226,7 +1226,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 1, guards = "isEmpty") + @Specialization(guards = "isEmpty") public String printVector2DimEmpty(RAbstractVector vector, RIntVector dimensions, int offset, byte isListOrStringVector, byte isComplexOrRawVector) { int nrow = dimensions.getDataAt(0); int ncol = dimensions.getDataAt(1); @@ -1263,7 +1263,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 10, guards = "!isEmpty") + @Specialization(guards = "!isEmpty") public String printVector2Dim(RAbstractDoubleVector vector, RIntVector dimensions, int offset, byte isListOrStringVector, byte isComplexOrRawVector) { int nrow = dimensions.getDataAt(0); int ncol = dimensions.getDataAt(1); @@ -1325,7 +1325,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 20, guards = "!isEmpty") + @Specialization(guards = "!isEmpty") public String printVector2Dim(RAbstractComplexVector vector, RIntVector dimensions, int offset, byte isListOrStringVector, byte isComplexOrRawVector) { int nrow = dimensions.getDataAt(0); int ncol = dimensions.getDataAt(1); @@ -1380,7 +1380,7 @@ public abstract class PrettyPrinterNode extends RNode { } @SlowPath - @Specialization(order = 200, guards = {"!isEmpty", "notDoubleOrComplex"}) + @Specialization(guards = {"!isEmpty", "notDoubleOrComplex"}) public String printVector2Dim(RAbstractVector vector, RIntVector dimensions, int offset, byte isListOrStringVector, byte isComplexOrRawVector) { int nrow = dimensions.getDataAt(0); int ncol = dimensions.getDataAt(1); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RNGFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RNGFunctions.java index 00f2dc205e..e675a7ce84 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RNGFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RNGFunctions.java @@ -45,7 +45,7 @@ public class RNGFunctions { } @SuppressWarnings("unused") - @Specialization(order = 0) + @Specialization public RNull setSeed(VirtualFrame frame, double seed, RNull kind, RNull normKind) { controlVisibility(); doSetSeed(frame, (int) seed, RRNG.NO_KIND_CHANGE, RRNG.NO_KIND_CHANGE); @@ -53,7 +53,7 @@ public class RNGFunctions { } @SuppressWarnings("unused") - @Specialization(order = 1) + @Specialization public RNull setSeed(VirtualFrame frame, double seed, RAbstractIntVector kind, RNull normKind) { controlVisibility(); doSetSeed(frame, (int) seed, kind.getDataAt(0), RRNG.NO_KIND_CHANGE); @@ -61,7 +61,7 @@ public class RNGFunctions { } @SuppressWarnings("unused") - @Specialization(order = 2) + @Specialization public RNull setSeed(VirtualFrame frame, RNull seed, RNull kind, RNull normKind) { controlVisibility(); doSetSeed(frame, RRNG.RESET_SEED, RRNG.NO_KIND_CHANGE, RRNG.NO_KIND_CHANGE); @@ -69,7 +69,7 @@ public class RNGFunctions { } @SuppressWarnings("unused") - @Specialization(order = 10) + @Specialization public RNull setSeed(VirtualFrame frame, byte seed, RNull kind, RNull normKind) { controlVisibility(); CompilerDirectives.transferToInterpreter(); @@ -93,14 +93,14 @@ public class RNGFunctions { @RBuiltin(name = "RNGkind", kind = INTERNAL, parameterNames = {"kind", "normkind"}) public abstract static class RNGkind extends RBuiltinNode { - @Specialization(order = 0) + @Specialization @SuppressWarnings("unused") public RIntVector doRNGkind(VirtualFrame frame, RNull x, RNull y) { controlVisibility(); return getCurrent(); } - @Specialization(order = 1) + @Specialization public RIntVector doRNGkind(VirtualFrame frame, RAbstractIntVector kind, @SuppressWarnings("unused") RNull normKind) { controlVisibility(); RIntVector result = getCurrent(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Repeat.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Repeat.java index 43574858d5..1c503f1e96 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Repeat.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Repeat.java @@ -59,7 +59,7 @@ public abstract class Repeat extends RBuiltinNode { return arguments; } - @Specialization(order = 0) + @Specialization @SuppressWarnings("unused") public RNull repeat(VirtualFrame frame, RNull value, Object times, Object lengthOut, Object each) { controlVisibility(); @@ -73,7 +73,7 @@ public abstract class Repeat extends RBuiltinNode { // * if length.out is given (it supersedes times) // - @Specialization(order = 10) + @Specialization @SuppressWarnings("unused") public RIntVector repeat(int value, int times, RMissing lengthOut, Object each) { controlVisibility(); @@ -82,19 +82,19 @@ public abstract class Repeat extends RBuiltinNode { return RDataFactory.createIntVector(array, RRuntime.isComplete(value)); } - @Specialization(order = 11, guards = "lengthNA") + @Specialization(guards = "lengthNA") @SuppressWarnings("unused") public int repeatLengthNA(int value, Object times, int lengthOut, Object each) { return value; } - @Specialization(order = 12, guards = "!lengthNA") + @Specialization(guards = "!lengthNA") @SuppressWarnings("unused") public RIntVector repeat(int value, Object times, int lengthOut, Object each) { return repeat(value, lengthOut, RMissing.instance, each); } - @Specialization(order = 20) + @Specialization @SuppressWarnings("unused") public RDoubleVector repeat(double value, int times, RMissing lengthOut, Object each) { controlVisibility(); @@ -103,19 +103,19 @@ public abstract class Repeat extends RBuiltinNode { return RDataFactory.createDoubleVector(array, RRuntime.isComplete(value)); } - @Specialization(order = 21, guards = "lengthNA") + @Specialization(guards = "lengthNA") @SuppressWarnings("unused") public double repeatLengthNA(double value, Object times, int lengthOut, Object each) { return value; } - @Specialization(order = 23, guards = "!lengthNA") + @Specialization(guards = "!lengthNA") @SuppressWarnings("unused") public RDoubleVector repeat(double value, Object times, int lengthOut, Object each) { return repeat(value, lengthOut, RMissing.instance, each); } - @Specialization(order = 30) + @Specialization @SuppressWarnings("unused") public RRawVector repeat(RRaw value, int times, RMissing lengthOut, Object each) { controlVisibility(); @@ -124,19 +124,19 @@ public abstract class Repeat extends RBuiltinNode { return RDataFactory.createRawVector(array); } - @Specialization(order = 31, guards = "lengthNA") + @Specialization(guards = "lengthNA") @SuppressWarnings("unused") public RRaw repeatLengthNA(RRaw value, Object times, int lengthOut, Object each) { return value; } - @Specialization(order = 32, guards = "!lengthNA") + @Specialization(guards = "!lengthNA") @SuppressWarnings("unused") public RRawVector repeat(RRaw value, Object times, int lengthOut, Object each) { return repeat(value, lengthOut, RMissing.instance, each); } - @Specialization(order = 40) + @Specialization @SuppressWarnings("unused") public RComplexVector repeat(RComplex value, int times, RMissing lengthOut, Object each) { controlVisibility(); @@ -149,19 +149,19 @@ public abstract class Repeat extends RBuiltinNode { return RDataFactory.createComplexVector(array, !value.isNA()); } - @Specialization(order = 41, guards = "lengthNA") + @Specialization(guards = "lengthNA") @SuppressWarnings("unused") public RComplex repeatLengthNA(RComplex value, Object times, int lengthOut, Object each) { return value; } - @Specialization(order = 42, guards = "!lengthNA") + @Specialization(guards = "!lengthNA") @SuppressWarnings("unused") public RComplexVector repeat(RComplex value, Object times, int lengthOut, Object each) { return repeat(value, lengthOut, RMissing.instance, each); } - @Specialization(order = 50) + @Specialization @SuppressWarnings("unused") public RStringVector repeat(String value, int times, RMissing lengthOut, Object each) { controlVisibility(); @@ -170,19 +170,19 @@ public abstract class Repeat extends RBuiltinNode { return RDataFactory.createStringVector(array, !RRuntime.isNA(value)); } - @Specialization(order = 51, guards = "lengthNA") + @Specialization(guards = "lengthNA") @SuppressWarnings("unused") public String repeatLengthNA(String value, Object times, int lengthOut, Object each) { return value; } - @Specialization(order = 52, guards = "!lengthNA") + @Specialization(guards = "!lengthNA") @SuppressWarnings("unused") public RStringVector repeat(String value, Object times, int lengthOut, Object each) { return repeat(value, lengthOut, RMissing.instance, each); } - @Specialization(order = 60) + @Specialization @SuppressWarnings("unused") public RLogicalVector repeat(byte value, int times, RMissing lengthOut, Object each) { controlVisibility(); @@ -191,13 +191,13 @@ public abstract class Repeat extends RBuiltinNode { return RDataFactory.createLogicalVector(array, value != RRuntime.LOGICAL_NA); } - @Specialization(order = 61, guards = "lengthNA") + @Specialization(guards = "lengthNA") @SuppressWarnings("unused") public byte repeatLengthNA(byte value, Object times, int lengthOut, Object each) { return value; } - @Specialization(order = 62, guards = "!lengthNA") + @Specialization(guards = "!lengthNA") @SuppressWarnings("unused") public RLogicalVector repeat(byte value, Object times, int lengthOut, Object each) { return repeat(value, lengthOut, RMissing.instance, each); @@ -232,7 +232,7 @@ public abstract class Repeat extends RBuiltinNode { return RDataFactory.createStringVector(names, oldNames.isComplete()); } - @Specialization(order = 100) + @Specialization @SuppressWarnings("unused") public RIntVector repeat(RAbstractIntVector value, int times, RMissing lengthOut, Object each) { controlVisibility(); @@ -253,13 +253,13 @@ public abstract class Repeat extends RBuiltinNode { } } - @Specialization(order = 102, guards = "lengthNA") + @Specialization(guards = "lengthNA") @SuppressWarnings("unused") public RAbstractIntVector repeatLengthNA(RAbstractIntVector value, Object times, int lengthOut, Object each) { return value; } - @Specialization(order = 103, guards = "!lengthNA") + @Specialization(guards = "!lengthNA") @SuppressWarnings("unused") public RIntVector repeat(RAbstractIntVector value, Object times, int lengthOut, Object each) { controlVisibility(); @@ -276,7 +276,7 @@ public abstract class Repeat extends RBuiltinNode { } } - @Specialization(order = 110) + @Specialization @SuppressWarnings("unused") public RDoubleVector repeat(RAbstractDoubleVector value, int times, RMissing lengthOut, Object each) { controlVisibility(); @@ -297,13 +297,13 @@ public abstract class Repeat extends RBuiltinNode { } } - @Specialization(order = 111, guards = "lengthNA") + @Specialization(guards = "lengthNA") @SuppressWarnings("unused") public RAbstractDoubleVector repeatLengthNA(RAbstractDoubleVector value, Object times, int lengthOut, Object each) { return value; } - @Specialization(order = 112, guards = "!lengthNA") + @Specialization(guards = "!lengthNA") @SuppressWarnings("unused") public RDoubleVector repeat(RAbstractDoubleVector value, Object times, int lengthOut, Object each) { controlVisibility(); @@ -320,7 +320,7 @@ public abstract class Repeat extends RBuiltinNode { } } - @Specialization(order = 120) + @Specialization @SuppressWarnings("unused") public RRawVector repeat(RRawVector value, int times, RMissing lengthOut, Object each) { controlVisibility(); @@ -341,13 +341,13 @@ public abstract class Repeat extends RBuiltinNode { } } - @Specialization(order = 121, guards = "lengthNA") + @Specialization(guards = "lengthNA") @SuppressWarnings("unused") public RRawVector repeatLengthNA(RRawVector value, Object times, int lengthOut, Object each) { return value; } - @Specialization(order = 122, guards = "!lengthNA") + @Specialization(guards = "!lengthNA") @SuppressWarnings("unused") public RRawVector repeat(RRawVector value, Object times, int lengthOut, Object each) { controlVisibility(); @@ -364,7 +364,7 @@ public abstract class Repeat extends RBuiltinNode { } } - @Specialization(order = 130) + @Specialization @SuppressWarnings("unused") public RComplexVector repeat(RComplexVector value, int times, RMissing lengthOut, Object each) { controlVisibility(); @@ -388,13 +388,13 @@ public abstract class Repeat extends RBuiltinNode { } } - @Specialization(order = 131, guards = "lengthNA") + @Specialization(guards = "lengthNA") @SuppressWarnings("unused") public RComplexVector repeatLengthNA(RComplexVector value, Object times, int lengthOut, Object each) { return value; } - @Specialization(order = 132, guards = "!lengthNA") + @Specialization(guards = "!lengthNA") @SuppressWarnings("unused") public RComplexVector repeat(RComplexVector value, Object times, int lengthOut, Object each) { controlVisibility(); @@ -414,7 +414,7 @@ public abstract class Repeat extends RBuiltinNode { } } - @Specialization(order = 140) + @Specialization @SuppressWarnings("unused") public RLogicalVector repeat(RAbstractLogicalVector value, int times, RMissing lengthOut, Object each) { controlVisibility(); @@ -435,13 +435,13 @@ public abstract class Repeat extends RBuiltinNode { } } - @Specialization(order = 141, guards = "lengthNA") + @Specialization(guards = "lengthNA") @SuppressWarnings("unused") public RAbstractLogicalVector repeatLengthNA(RAbstractLogicalVector value, Object times, int lengthOut, Object each) { return value; } - @Specialization(order = 142, guards = "!lengthNA") + @Specialization(guards = "!lengthNA") @SuppressWarnings("unused") public RLogicalVector repeat(RAbstractLogicalVector value, Object times, int lengthOut, Object each) { controlVisibility(); @@ -458,7 +458,7 @@ public abstract class Repeat extends RBuiltinNode { } } - @Specialization(order = 150) + @Specialization @SuppressWarnings("unused") public RStringVector repeat(RAbstractStringVector value, int times, RMissing lengthOut, Object each) { controlVisibility(); @@ -479,13 +479,13 @@ public abstract class Repeat extends RBuiltinNode { } } - @Specialization(order = 151, guards = "lengthNA") + @Specialization(guards = "lengthNA") @SuppressWarnings("unused") public RAbstractStringVector repeatLengthNA(RAbstractStringVector value, Object times, int lengthOut, Object each) { return value; } - @Specialization(order = 152, guards = "!lengthNA") + @Specialization(guards = "!lengthNA") @SuppressWarnings("unused") public RStringVector repeat(RAbstractStringVector value, Object times, int lengthOut, Object each) { controlVisibility(); @@ -518,7 +518,7 @@ public abstract class Repeat extends RBuiltinNode { return names; } - @Specialization(order = 500) + @Specialization @SuppressWarnings("unused") public RAbstractVector repeatTV(VirtualFrame frame, RAbstractVector value, RIntVector times, RMissing lengthOut, Object each) { controlVisibility(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RepeatInternal.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RepeatInternal.java index 4bf888c5ee..0e6c3bb557 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RepeatInternal.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RepeatInternal.java @@ -105,7 +105,7 @@ public abstract class RepeatInternal extends RBuiltinNode { return RDataFactory.createStringVector(array, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 10) + @Specialization public RStringVector repInt(VirtualFrame frame, RStringVector value, RIntVector timesVec) { controlVisibility(); int valueLength = value.getLength(); @@ -140,7 +140,7 @@ public abstract class RepeatInternal extends RBuiltinNode { return RDataFactory.createStringVector(array, value.isComplete()); } - @Specialization(order = 11) + @Specialization public RList repList(RList value, int times) { controlVisibility(); int oldLength = value.getLength(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rhome.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rhome.java index e873c69a19..8f00e25efe 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rhome.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rhome.java @@ -45,13 +45,13 @@ import com.oracle.truffle.r.runtime.data.*; // TODO revert to R implementation public abstract class Rhome extends RBuiltinNode { - @Specialization(order = 0) + @Specialization public Object doRhome(@SuppressWarnings("unused") RMissing component) { controlVisibility(); return RDataFactory.createStringVector(REnvVars.rHome()); } - @Specialization(order = 1) + @Specialization public Object doRhome(String component) { controlVisibility(); String rHome = REnvVars.rHome(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rm.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rm.java index b4b4627209..8936db8179 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rm.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Rm.java @@ -53,7 +53,7 @@ public abstract class Rm extends RInvisibleBuiltinNode { return getParameterValues0(); } - @Specialization(order = 0) + @Specialization @SuppressWarnings("unused") public Object rm(VirtualFrame frame, String name, RStringVector list, Object pos, RMissing envir, byte inherits) { controlVisibility(); @@ -61,7 +61,7 @@ public abstract class Rm extends RInvisibleBuiltinNode { return RNull.instance; } - @Specialization(order = 1) + @Specialization @SuppressWarnings("unused") public Object rm(VirtualFrame frame, Object[] names, RStringVector list, Object pos, RMissing envir, byte inherits) { controlVisibility(); @@ -72,7 +72,7 @@ public abstract class Rm extends RInvisibleBuiltinNode { return RNull.instance; } - @Specialization(order = 2) + @Specialization @SuppressWarnings("unused") public Object rm(VirtualFrame frame, String name, RStringVector list, Object pos, REnvironment envir, byte inherits) { controlVisibility(); @@ -84,7 +84,7 @@ public abstract class Rm extends RInvisibleBuiltinNode { return RNull.instance; } - @Specialization(order = 3) + @Specialization @SuppressWarnings("unused") public Object rm(VirtualFrame frame, Object[] names, RStringVector list, Object pos, REnvironment envir, byte inherits) { controlVisibility(); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Round.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Round.java index ca7fcedf7e..08a1b4828a 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Round.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Round.java @@ -62,25 +62,25 @@ public abstract class Round extends RBuiltinNode { return digits != 0; } - @Specialization(order = 1) + @Specialization public int round(int x, @SuppressWarnings("unused") int digits) { controlVisibility(); return roundOp.op(x); } - @Specialization(order = 20, guards = "!hasDigits") + @Specialization(guards = "!hasDigits") public double round(double x, @SuppressWarnings("unused") int digits) { controlVisibility(); return roundOp.op(x); } - @Specialization(order = 21, guards = "hasDigits") + @Specialization(guards = "hasDigits") public double roundDigits(double x, int digits) { controlVisibility(); return roundOp.opd(x, digits); } - @Specialization(order = 22, guards = "!hasDigits") + @Specialization(guards = "!hasDigits") public RDoubleVector round(RAbstractDoubleVector x, int digits) { controlVisibility(); double[] result = new double[x.getLength()]; @@ -94,7 +94,7 @@ public abstract class Round extends RBuiltinNode { return ret; } - @Specialization(order = 23, guards = "hasDigits") + @Specialization(guards = "hasDigits") public RDoubleVector roundDigits(RAbstractDoubleVector x, int digits) { controlVisibility(); double[] result = new double[x.getLength()]; @@ -108,19 +108,19 @@ public abstract class Round extends RBuiltinNode { return ret; } - @Specialization(order = 30, guards = "!hasDigits") + @Specialization(guards = "!hasDigits") public RComplex round(RComplex x, @SuppressWarnings("unused") int digits) { controlVisibility(); return roundOp.op(x.getRealPart(), x.getImaginaryPart()); } - @Specialization(order = 31, guards = "hasDigits") + @Specialization(guards = "hasDigits") public RComplex roundDigits(RComplex x, int digits) { controlVisibility(); return roundOp.opd(x.getRealPart(), x.getImaginaryPart(), digits); } - @Specialization(order = 32, guards = "!hasDigits") + @Specialization(guards = "!hasDigits") public RComplexVector round(RComplexVector x, int digits) { controlVisibility(); double[] result = new double[x.getLength() << 1]; @@ -137,7 +137,7 @@ public abstract class Round extends RBuiltinNode { return ret; } - @Specialization(order = 33, guards = "hasDigits") + @Specialization(guards = "hasDigits") public RComplexVector roundDigits(RComplexVector x, int digits) { controlVisibility(); double[] result = new double[x.getLength() << 1]; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowMeans.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowMeans.java index 2e1fba7479..cb6498e0cd 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowMeans.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowMeans.java @@ -42,7 +42,7 @@ public abstract class RowMeans extends RBuiltinNode { return arguments; } - @Specialization(guards = "!isNaRm", order = 0) + @Specialization(guards = "!isNaRm") public RDoubleVector rowMeansNaRmFalse(RDoubleVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[rowNum]; @@ -68,7 +68,7 @@ public abstract class RowMeans extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA() && isComplete); } - @Specialization(guards = "isNaRm", order = 1) + @Specialization(guards = "isNaRm") public RDoubleVector rowMeansNaRmTrue(RDoubleVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[rowNum]; @@ -94,7 +94,7 @@ public abstract class RowMeans extends RBuiltinNode { return RDataFactory.createDoubleVector(result, isComplete); } - @Specialization(guards = "!isNaRm", order = 2) + @Specialization(guards = "!isNaRm") public RDoubleVector rowMeansNaRmFalse(RLogicalVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[rowNum]; @@ -114,7 +114,7 @@ public abstract class RowMeans extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA()); } - @Specialization(guards = "isNaRm", order = 3) + @Specialization(guards = "isNaRm") public RDoubleVector rowMeansNaRmTrue(RLogicalVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[rowNum]; @@ -140,7 +140,7 @@ public abstract class RowMeans extends RBuiltinNode { return RDataFactory.createDoubleVector(result, isComplete); } - @Specialization(guards = "!isNaRm", order = 4) + @Specialization(guards = "!isNaRm") public RDoubleVector rowMeansNaRmFalse(RIntVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[rowNum]; @@ -160,7 +160,7 @@ public abstract class RowMeans extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA()); } - @Specialization(guards = "isNaRm", order = 5) + @Specialization(guards = "isNaRm") public RDoubleVector rowMeansNaRmTrue(RIntVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[rowNum]; @@ -187,7 +187,7 @@ public abstract class RowMeans extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 6) + @Specialization public RDoubleVector rowMeans(VirtualFrame frame, RAbstractStringVector x, int rowNum, int colNum, byte naRm) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.X_NUMERIC); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowSums.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowSums.java index 00f34422de..0ed92286c3 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowSums.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RowSums.java @@ -42,7 +42,7 @@ public abstract class RowSums extends RBuiltinNode { return arguments; } - @Specialization(guards = "!isNaRm", order = 0) + @Specialization(guards = "!isNaRm") public RDoubleVector rowSumsNaRmFalse(RDoubleVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[rowNum]; @@ -68,7 +68,7 @@ public abstract class RowSums extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA() && isComplete); } - @Specialization(guards = "isNaRm", order = 1) + @Specialization(guards = "isNaRm") public RDoubleVector rowSumsNaRmTrue(RDoubleVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[rowNum]; @@ -86,7 +86,7 @@ public abstract class RowSums extends RBuiltinNode { return RDataFactory.createDoubleVector(result, RDataFactory.COMPLETE_VECTOR); } - @Specialization(guards = "!isNaRm", order = 2) + @Specialization(guards = "!isNaRm") public RDoubleVector rowSumsNaRmFalse(RLogicalVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[rowNum]; @@ -106,7 +106,7 @@ public abstract class RowSums extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA()); } - @Specialization(guards = "isNaRm", order = 3) + @Specialization(guards = "isNaRm") public RDoubleVector rowSumsNaRmTrue(RLogicalVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[rowNum]; @@ -124,7 +124,7 @@ public abstract class RowSums extends RBuiltinNode { return RDataFactory.createDoubleVector(result, RDataFactory.COMPLETE_VECTOR); } - @Specialization(guards = "!isNaRm", order = 4) + @Specialization(guards = "!isNaRm") public RDoubleVector rowSumsNaRmFalse(RIntVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[rowNum]; @@ -144,7 +144,7 @@ public abstract class RowSums extends RBuiltinNode { return RDataFactory.createDoubleVector(result, na.neverSeenNA()); } - @Specialization(guards = "isNaRm", order = 5) + @Specialization(guards = "isNaRm") public RDoubleVector rowSumsNaRmTrue(RIntVector x, int rowNum, int colNum, @SuppressWarnings("unused") byte naRm) { controlVisibility(); double[] result = new double[rowNum]; @@ -163,7 +163,7 @@ public abstract class RowSums extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 6) + @Specialization public RDoubleVector rowSums(VirtualFrame frame, RAbstractStringVector x, int rowNum, int colNum, byte naRm) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.X_NUMERIC); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sample.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sample.java index 1723ab2e00..6c403a920c 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sample.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sample.java @@ -42,32 +42,32 @@ public abstract class Sample extends RBuiltinNode { return arguments; } - @Specialization(order = 10, guards = "invalidFirstArgument") + @Specialization(guards = "invalidFirstArgument") @SuppressWarnings("unused") public RIntVector doSampleInvalidFirstArg(VirtualFrame frame, final int x, final int size, final byte isRepeatable, final RDoubleVector prob) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_FIRST_ARGUMENT); } - @Specialization(order = 20, guards = "invalidProb") + @Specialization(guards = "invalidProb") @SuppressWarnings("unused") public RIntVector doSampleInvalidProb(VirtualFrame frame, final int x, final int size, final byte isRepeatable, final RDoubleVector prob) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INCORRECT_NUM_PROB); } - @Specialization(order = 30, guards = "largerPopulation") + @Specialization(guards = "largerPopulation") @SuppressWarnings("unused") public RIntVector doSampleLargerPopulation(VirtualFrame frame, final int x, final int size, final byte isRepeatable, final RDoubleVector prob) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SAMPLE_LARGER_THAN_POPULATION); } - @Specialization(order = 40, guards = "invalidSizeArgument") + @Specialization(guards = "invalidSizeArgument") @SuppressWarnings("unused") public RIntVector doSampleInvalidSize(VirtualFrame frame, final int x, final int size, final byte isRepeatable, final RDoubleVector prob) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, RRuntime.toString(size)); } - @Specialization(order = 1, guards = {"!invalidFirstArgument", "!invalidProb", "!largerPopulation", "!invalidSizeArgument", "withReplacement"}) + @Specialization(guards = {"!invalidFirstArgument", "!invalidProb", "!largerPopulation", "!invalidSizeArgument", "withReplacement"}) public RIntVector doSampleWithReplacement(VirtualFrame frame, final int x, final int size, final byte isRepeatable, final RDoubleVector prob) { // The following code is transcribed from GNU R src/main/random.c lines 493-501 in // function do_sample. @@ -87,7 +87,7 @@ public abstract class Sample extends RBuiltinNode { } } - @Specialization(order = 2, guards = {"!invalidFirstArgument", "!invalidProb", "!largerPopulation", "!invalidSizeArgument", "!withReplacement"}) + @Specialization(guards = {"!invalidFirstArgument", "!invalidProb", "!largerPopulation", "!invalidSizeArgument", "!withReplacement"}) public RIntVector doSampleNoReplacement(VirtualFrame frame, final int x, final int size, final byte isRepeatable, final RDoubleVector prob) { double[] probArray = prob.getDataCopy(); fixupProbability(frame, probArray, x, size, isRepeatable); @@ -95,24 +95,24 @@ public abstract class Sample extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 50, guards = "invalidFirstArgumentNullProb") + @Specialization(guards = "invalidFirstArgumentNullProb") public RIntVector doSampleInvalidFirstArgument(VirtualFrame frame, final int x, final int size, final byte isRepeatable, final RNull prob) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_FIRST_ARGUMENT); } @SuppressWarnings("unused") - @Specialization(order = 60, guards = "invalidSizeArgument") + @Specialization(guards = "invalidSizeArgument") public RIntVector doSampleInvalidSizeArgument(VirtualFrame frame, final int x, final int size, final byte isRepeatable, final RNull prob) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, RRuntime.toString(size)); } @SuppressWarnings("unused") - @Specialization(order = 70, guards = "largerPopulation") + @Specialization(guards = "largerPopulation") public RIntVector doSampleInvalidLargerPopulation(VirtualFrame frame, final int x, final int size, final byte isRepeatable, final RNull prob) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INCORRECT_NUM_PROB); } - @Specialization(order = 80, guards = {"!invalidFirstArgumentNullProb", "!invalidSizeArgument", "!largerPopulation"}) + @Specialization(guards = {"!invalidFirstArgumentNullProb", "!invalidSizeArgument", "!largerPopulation"}) public RIntVector doSample(final int x, final int size, final byte isRepeatable, @SuppressWarnings("unused") final RNull prob) { // TODO:Add support of long integers. // The following code is transcribed from GNU R src/main/random.c lines 533-545 in @@ -139,7 +139,7 @@ public abstract class Sample extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 100, guards = "invalidIsRepeatable") + @Specialization(guards = "invalidIsRepeatable") public RIntVector doSampleInvalidIsRepeatable(VirtualFrame frame, final int x, final int size, final byte isRepeatable, final RDoubleVector prob) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, RRuntime.toString(isRepeatable)); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Seq.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Seq.java index 1b0e2eb105..1cda5c6287 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Seq.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Seq.java @@ -68,91 +68,91 @@ public abstract class Seq extends RBuiltinNode { } } - @Specialization(order = 0, guards = {"startLengthOne", "toLengthOne", "zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "zero"}) public int seqZero(VirtualFrame frame, RAbstractIntVector start, RAbstractIntVector to, Object stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return 0; } - @Specialization(order = 1, guards = {"startLengthOne", "toLengthOne", "zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "zero"}) public int seqZer0(RAbstractDoubleVector start, RAbstractIntVector to, Object stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return 0; } - @Specialization(order = 2, guards = {"startLengthOne", "toLengthOne", "zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "zero"}) public int seqZero(RAbstractIntVector start, RAbstractDoubleVector to, Object stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return 0; } - @Specialization(order = 3, guards = {"startLengthOne", "toLengthOne", "zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "zero"}) public double seq(RAbstractDoubleVector start, RAbstractDoubleVector to, Object stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return 0; } - @Specialization(order = 5, guards = {"startLengthOne", "toLengthOne", "!zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!zero"}) public RIntSequence seq(RAbstractIntVector start, RAbstractIntVector to, RMissing stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createIntSequence(start.getDataAt(0), ascending(start, to) ? 1 : -1, Math.abs(to.getDataAt(0) - start.getDataAt(0)) + 1); } - @Specialization(order = 10, guards = {"startLengthOne", "toLengthOne", "!zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!zero"}) public RIntSequence seq(RAbstractIntVector start, RAbstractIntVector to, int stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createIntSequence(start.getDataAt(0), stride, Math.abs((to.getDataAt(0) - start.getDataAt(0)) / stride) + 1); } - @Specialization(order = 12, guards = {"startLengthOne", "toLengthOne", "!lengthZero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!lengthZero"}) public RDoubleVector seq(RAbstractIntVector start, RAbstractIntVector to, RMissing stride, int lengthOut, RMissing alongWith) { controlVisibility(); return getVectorWithComputedStride(RRuntime.int2double(start.getDataAt(0)), RRuntime.int2double(to.getDataAt(0)), RRuntime.int2double(lengthOut), ascending(start, to)); } - @Specialization(order = 13, guards = {"startLengthOne", "toLengthOne", "!lengthZero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!lengthZero"}) public RDoubleVector seq(RAbstractLogicalVector start, RAbstractLogicalVector to, RMissing stride, int lengthOut, RMissing alongWith) { controlVisibility(); return getVectorWithComputedStride(RRuntime.logical2double(start.getDataAt(0)), RRuntime.logical2double(to.getDataAt(0)), RRuntime.int2double(lengthOut), ascending(start, to)); } - @Specialization(order = 14, guards = {"startLengthOne", "toLengthOne", "lengthZero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "lengthZero"}) public RIntVector seqLengthZero(RAbstractIntVector start, RAbstractIntVector to, RMissing stride, int lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createEmptyIntVector(); } - @Specialization(order = 15, guards = {"startLengthOne", "toLengthOne", "!zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!zero"}) public RDoubleSequence seq(RAbstractIntVector start, RAbstractIntVector to, double stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createDoubleSequence(RRuntime.int2double(start.getDataAt(0)), stride, (int) (Math.abs((to.getDataAt(0) - start.getDataAt(0)) / stride)) + 1); } - @Specialization(order = 17, guards = {"startLengthOne", "toLengthOne", "!lengthZero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!lengthZero"}) public RDoubleVector seq(RAbstractIntVector start, RAbstractIntVector to, RMissing stride, double lengthOut, RMissing alongWith) { controlVisibility(); return getVectorWithComputedStride(RRuntime.int2double(start.getDataAt(0)), RRuntime.int2double(to.getDataAt(0)), lengthOut, ascending(start, to)); } - @Specialization(order = 18, guards = {"startLengthOne", "toLengthOne", "!lengthZero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!lengthZero"}) public RDoubleVector seq(RAbstractLogicalVector start, RAbstractLogicalVector to, RMissing stride, double lengthOut, RMissing alongWith) { controlVisibility(); return getVectorWithComputedStride(RRuntime.logical2double(start.getDataAt(0)), RRuntime.logical2double(to.getDataAt(0)), lengthOut, ascending(start, to)); } - @Specialization(order = 19, guards = {"startLengthOne", "toLengthOne", "lengthZero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "lengthZero"}) public RIntVector seqLengthZero(RAbstractLogicalVector start, RAbstractLogicalVector to, RMissing stride, double lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createEmptyIntVector(); } - @Specialization(order = 31, guards = {"startLengthOne", "toLengthOne", "!zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!zero"}) public RDoubleSequence seq(RAbstractIntVector start, RAbstractDoubleVector to, RMissing stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createDoubleSequence(start.getDataAt(0), ascending(start, to) ? 1 : -1, (int) Math.abs(to.getDataAt(0) - start.getDataAt(0)) + 1); } - @Specialization(order = 40, guards = {"startLengthOne", "toLengthOne", "!zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!zero"}) public RDoubleSequence seq(RAbstractIntVector start, RAbstractDoubleVector to, int stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); int length = (int) Math.abs(to.getDataAt(0) - start.getDataAt(0)) / stride; @@ -162,151 +162,151 @@ public abstract class Seq extends RBuiltinNode { return RDataFactory.createDoubleSequence(start.getDataAt(0), stride, length); } - @Specialization(order = 45, guards = "!startEmpty") + @Specialization(guards = "!startEmpty") public RIntSequence seqFromOneArg(RAbstractIntVector start, RMissing to, RMissing stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); // GNU R really does that (take the length of start to create a sequence) return RDataFactory.createIntSequence(1, 1, start.getLength()); } - @Specialization(order = 46, guards = "startEmpty") + @Specialization(guards = "startEmpty") public RIntVector seqFromOneArgEmpty(RAbstractIntVector start, RMissing to, RMissing stride, RMissing lengthOut, RMissing alongWith) { return RDataFactory.createEmptyIntVector(); } - @Specialization(order = 50, guards = "!startEmpty") + @Specialization(guards = "!startEmpty") public RIntSequence seqFromOneArg(RAbstractLogicalVector start, RMissing to, RMissing stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); // GNU R really does that (take the length of start to create a sequence) return RDataFactory.createIntSequence(1, 1, start.getLength()); } - @Specialization(order = 51, guards = "startEmpty") + @Specialization(guards = "startEmpty") public RIntVector seqFromOneArgEmpty(RAbstractLogicalVector start, RMissing to, RMissing stride, RMissing lengthOut, RMissing alongWith) { return RDataFactory.createEmptyIntVector(); } - @Specialization(order = 55, guards = {"startLengthOne", "toLengthOne", "!zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!zero"}) public RDoubleSequence seq(RAbstractDoubleVector start, RAbstractIntVector to, RMissing stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createDoubleSequence(start.getDataAt(0), ascending(start, to) ? 1 : -1, (int) Math.abs(to.getDataAt(0) - start.getDataAt(0)) + 1); } - @Specialization(order = 60, guards = {"startLengthOne", "toLengthOne", "!zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!zero"}) public RDoubleSequence seq(RAbstractDoubleVector start, RAbstractIntVector to, int stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createDoubleSequence(start.getDataAt(0), stride, (int) Math.abs((to.getDataAt(0) - start.getDataAt(0)) / stride) + 1); } - @Specialization(order = 91, guards = {"startLengthOne", "toLengthOne", "!zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!zero"}) public RDoubleSequence seq(RAbstractDoubleVector start, RAbstractDoubleVector to, RMissing stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createDoubleSequence(start.getDataAt(0), ascending(start, to) ? 1 : -1, (int) Math.abs(to.getDataAt(0) - start.getDataAt(0)) + 1); } - @Specialization(order = 100, guards = {"startLengthOne", "toLengthOne", "!zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!zero"}) public RDoubleSequence seq(RAbstractDoubleVector start, RAbstractDoubleVector to, int stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createDoubleSequence(start.getDataAt(0), stride, (int) (Math.abs((to.getDataAt(0) - start.getDataAt(0)) / stride) + 1)); } - @Specialization(order = 103, guards = {"startLengthOne", "toLengthOne", "!lengthZero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!lengthZero"}) public RDoubleVector seq(RAbstractDoubleVector start, RAbstractDoubleVector to, RMissing stride, int lengthOut, RMissing alongWith) { controlVisibility(); return getVectorWithComputedStride(start.getDataAt(0), to.getDataAt(0), RRuntime.int2double(lengthOut), ascending(start, to)); } - @Specialization(order = 104, guards = {"startLengthOne", "toLengthOne", "lengthZero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "lengthZero"}) public RIntVector seqLengthZero(RAbstractDoubleVector start, RAbstractDoubleVector to, RMissing stride, int lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createEmptyIntVector(); } - @Specialization(order = 110, guards = {"startLengthOne", "toLengthOne", "!zero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!zero"}) public RDoubleSequence seq(RAbstractDoubleVector start, RAbstractDoubleVector to, double stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createDoubleSequence(start.getDataAt(0), stride, (int) (Math.abs((to.getDataAt(0) - start.getDataAt(0)) / stride) + 1)); } - @Specialization(order = 113, guards = {"startLengthOne", "toLengthOne", "!lengthZero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "!lengthZero"}) public RDoubleVector seq(RAbstractDoubleVector start, RAbstractDoubleVector to, RMissing stride, double lengthOut, RMissing alongWith) { controlVisibility(); return getVectorWithComputedStride(start.getDataAt(0), to.getDataAt(0), lengthOut, ascending(start, to)); } - @Specialization(order = 114, guards = {"startLengthOne", "toLengthOne", "lengthZero"}) + @Specialization(guards = {"startLengthOne", "toLengthOne", "lengthZero"}) public RIntVector seqLengthZero(RAbstractDoubleVector start, RAbstractDoubleVector to, RMissing stride, double lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createEmptyIntVector(); } - @Specialization(order = 120, guards = "!startEmpty") + @Specialization(guards = "!startEmpty") public RDoubleSequence seqFromOneArg(RAbstractDoubleVector start, RMissing to, RMissing stride, RMissing lengthOut, RMissing alongWith) { controlVisibility(); // GNU R really does that (take the length of start to create a sequence) return RDataFactory.createDoubleSequence(1, 1, start.getLength()); } - @Specialization(order = 121, guards = "startEmpty") + @Specialization(guards = "startEmpty") public RIntVector seqFromOneArgEmpty(RAbstractDoubleVector start, RMissing to, RMissing stride, RMissing lengthOut, RMissing alongWith) { return RDataFactory.createEmptyIntVector(); } - @Specialization(order = 150, guards = "lengthZero") + @Specialization(guards = "lengthZero") public RIntVector seqLengthZero(RMissing start, RMissing to, RMissing stride, int lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createEmptyIntVector(); } - @Specialization(order = 151, guards = "!lengthZero") + @Specialization(guards = "!lengthZero") public RIntSequence seq(RMissing start, RMissing to, RMissing stride, int lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createIntSequence(1, 1, lengthOut); } - @Specialization(order = 155, guards = "lengthZero") + @Specialization(guards = "lengthZero") public RIntVector seqLengthZero(RMissing start, RMissing to, RMissing stride, double lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createEmptyIntVector(); } - @Specialization(order = 156, guards = "!lengthZero") + @Specialization(guards = "!lengthZero") public RIntSequence seq(RMissing start, RMissing to, RMissing stride, double lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createIntSequence(1, 1, (int) Math.ceil(lengthOut)); } - @Specialization(order = 160, guards = "lengthZeroAlong") + @Specialization(guards = "lengthZeroAlong") public RIntVector LengthZero(RMissing start, RMissing to, RMissing stride, Object lengthOut, RAbstractVector alongWith) { controlVisibility(); return RDataFactory.createEmptyIntVector(); } - @Specialization(order = 161, guards = "!lengthZeroAlong") + @Specialization(guards = "!lengthZeroAlong") public RIntSequence seq(RMissing start, RMissing to, RMissing stride, Object lengthOut, RAbstractVector alongWith) { controlVisibility(); return RDataFactory.createIntSequence(1, 1, alongWith.getLength()); } - @Specialization(order = 170, guards = {"startLengthOne", "lengthZero"}) + @Specialization(guards = {"startLengthOne", "lengthZero"}) public RDoubleVector seq(RAbstractDoubleVector start, RMissing to, RMissing stride, int lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createEmptyDoubleVector(); } - @Specialization(order = 171, guards = {"startLengthOne", "lengthZeroAlong"}) + @Specialization(guards = {"startLengthOne", "lengthZeroAlong"}) public RDoubleVector seq(RAbstractDoubleVector start, RMissing to, RMissing stride, Object lengthOut, RAbstractVector alongWith) { controlVisibility(); return RDataFactory.createEmptyDoubleVector(); } - @Specialization(order = 180, guards = {"startLengthOne", "!lengthZero"}) + @Specialization(guards = {"startLengthOne", "!lengthZero"}) public RDoubleSequence seqLengthZero(RAbstractDoubleVector start, RMissing to, RMissing stride, int lengthOut, RMissing alongWith) { controlVisibility(); return RDataFactory.createDoubleSequence(start.getDataAt(0), 1, lengthOut); } - @Specialization(order = 181, guards = {"startLengthOne", "!lengthZeroAlong"}) + @Specialization(guards = {"startLengthOne", "!lengthZeroAlong"}) public RDoubleSequence seqLengthZero(RAbstractDoubleVector start, RMissing to, RMissing stride, Object lengthOut, RAbstractVector alongWith) { controlVisibility(); return RDataFactory.createDoubleSequence(start.getDataAt(0), 1, alongWith.getLength()); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sprintf.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sprintf.java index 5d04fe0d75..78d45645ee 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sprintf.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Sprintf.java @@ -46,29 +46,29 @@ public abstract class Sprintf extends RBuiltinNode { return new RNode[]{ConstantNode.create(RMissing.instance), ConstantNode.create(RMissing.instance)}; } - @Specialization(order = 1) + @Specialization public String sprintf(String fmt, @SuppressWarnings("unused") RMissing x) { controlVisibility(); return fmt; } - @Specialization(order = 2, guards = "fmtLengthOne") + @Specialization(guards = "fmtLengthOne") public String sprintf(RAbstractStringVector fmt, RMissing x) { return sprintf(fmt.getDataAt(0), x); } - @Specialization(order = 10) + @Specialization public String sprintf(String fmt, int x) { controlVisibility(); return format(fmt, x); } - @Specialization(order = 11, guards = "fmtLengthOne") + @Specialization(guards = "fmtLengthOne") public String sprintf(RAbstractStringVector fmt, int x) { return sprintf(fmt.getDataAt(0), x); } - @Specialization(order = 20) + @Specialization public RStringVector sprintf(String fmt, RAbstractIntVector x) { controlVisibility(); String[] r = new String[x.getLength()]; @@ -78,12 +78,12 @@ public abstract class Sprintf extends RBuiltinNode { return RDataFactory.createStringVector(r, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 21, guards = "fmtLengthOne") + @Specialization(guards = "fmtLengthOne") public RStringVector sprintf(RAbstractStringVector fmt, RAbstractIntVector x) { return sprintf(fmt.getDataAt(0), x); } - @Specialization(order = 30) + @Specialization public String sprintf(VirtualFrame frame, String fmt, double x) { controlVisibility(); char f = Character.toLowerCase(firstFormatChar(fmt)); @@ -96,12 +96,12 @@ public abstract class Sprintf extends RBuiltinNode { return format(fmt, x); } - @Specialization(order = 31, guards = "fmtLengthOne") + @Specialization(guards = "fmtLengthOne") public String sprintf(VirtualFrame frame, RAbstractStringVector fmt, double x) { return sprintf(frame, fmt.getDataAt(0), x); } - @Specialization(order = 40) + @Specialization public RStringVector sprintf(VirtualFrame frame, String fmt, RAbstractDoubleVector x) { controlVisibility(); String[] r = new String[x.getLength()]; @@ -111,23 +111,23 @@ public abstract class Sprintf extends RBuiltinNode { return RDataFactory.createStringVector(r, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 41, guards = "fmtLengthOne") + @Specialization(guards = "fmtLengthOne") public RStringVector sprintf(VirtualFrame frame, RAbstractStringVector fmt, RAbstractDoubleVector x) { return sprintf(frame, fmt.getDataAt(0), x); } - @Specialization(order = 50) + @Specialization public String sprintf(String fmt, String x) { controlVisibility(); return format(fmt, x); } - @Specialization(order = 51, guards = "fmtLengthOne") + @Specialization(guards = "fmtLengthOne") public String sprintf(RAbstractStringVector fmt, String x) { return sprintf(fmt.getDataAt(0), x); } - @Specialization(order = 60) + @Specialization public RStringVector sprintf(String fmt, RAbstractStringVector x) { controlVisibility(); String[] r = new String[x.getLength()]; @@ -137,12 +137,12 @@ public abstract class Sprintf extends RBuiltinNode { return RDataFactory.createStringVector(r, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 61, guards = "fmtLengthOne") + @Specialization(guards = "fmtLengthOne") public RStringVector sprintf(RAbstractStringVector fmt, RAbstractStringVector x) { return sprintf(fmt.getDataAt(0), x); } - @Specialization(order = 100) + @Specialization public String sprintf(String fmt, Object[] args) { controlVisibility(); return format(fmt, args); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Substr.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Substr.java index 9faf176767..13dd4a8947 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Substr.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Substr.java @@ -67,19 +67,19 @@ public abstract class Substr extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 1, guards = "emptyArg") + @Specialization(guards = "emptyArg") public RStringVector substrEmptyArg(VirtualFrame frame, RAbstractStringVector arg, RAbstractIntVector start, RAbstractIntVector stop) { return RDataFactory.createEmptyStringVector(); } @SuppressWarnings("unused") - @Specialization(order = 2, guards = {"!emptyArg", "wrongParams"}) + @Specialization(guards = {"!emptyArg", "wrongParams"}) public RNull substrWrongParams(RAbstractStringVector arg, RAbstractIntVector start, RAbstractIntVector stop) { assert false; // should never happen return RNull.instance; // dummy } - @Specialization(order = 3, guards = {"!emptyArg", "!wrongParams"}) + @Specialization(guards = {"!emptyArg", "!wrongParams"}) public RStringVector substr(RAbstractStringVector arg, RAbstractIntVector start, RAbstractIntVector stop) { String[] res = new String[arg.getLength()]; for (int i = 0, j = 0, k = 0; i < arg.getLength(); ++i, j = Utils.incMod(j, start.getLength()), k = Utils.incMod(k, stop.getLength())) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Switch.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Switch.java index 0ffc596865..8707b8790f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Switch.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Switch.java @@ -39,7 +39,7 @@ public abstract class Switch extends RBuiltinNode { return this.isVisible; } - @Specialization(order = 0, guards = "isLengthOne") + @Specialization(guards = "isLengthOne") public Object doSwitch(VirtualFrame frame, RAbstractStringVector x, Object[] optionalArgs) { controlVisibility(); Object currentDefaultValue = null; @@ -67,12 +67,12 @@ public abstract class Switch extends RBuiltinNode { } } - @Specialization(order = 1) + @Specialization public Object doSwitch(VirtualFrame frame, int x, Object[] optionalArgs) { return doSwitchInt(frame, x, optionalArgs); } - @Specialization(order = 2) + @Specialization public Object doSwitch(VirtualFrame frame, Object x, Object[] optionalArgs) { if (castIntNode == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); @@ -87,7 +87,7 @@ public abstract class Switch extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 3) + @Specialization public Object doSwitch(VirtualFrame frame, RMissing x, RMissing optionalArgs) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.EXPR_MISSING); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SysFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SysFunctions.java index 2d86cc108e..93b8abbc9f 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SysFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/SysFunctions.java @@ -90,7 +90,7 @@ public class SysFunctions { } } - @Specialization(order = 100) + @Specialization public Object sysGetEnvGeneric(VirtualFrame frame, @SuppressWarnings("unused") Object x, @SuppressWarnings("unused") Object unset) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.WRONG_TYPE); @@ -156,14 +156,14 @@ public class SysFunctions { @RBuiltin(name = "Sys.sleep", kind = INTERNAL, parameterNames = {"time"}) public abstract static class SysSleep extends RInvisibleBuiltinNode { - @Specialization(order = 0) + @Specialization public Object sysSleep(double seconds) { controlVisibility(); sleep(convertToMillis(seconds)); return RNull.instance; } - @Specialization(order = 1) + @Specialization public Object sysSleep(VirtualFrame frame, String secondsString) { controlVisibility(); long millis = convertToMillis(checkValidString(frame, secondsString)); @@ -171,7 +171,7 @@ public class SysFunctions { return RNull.instance; } - @Specialization(order = 2, guards = "lengthOne") + @Specialization(guards = "lengthOne") public Object sysSleep(VirtualFrame frame, RStringVector secondsVector) { controlVisibility(); long millis = convertToMillis(checkValidString(frame, secondsVector.getDataAt(0))); @@ -183,7 +183,7 @@ public class SysFunctions { return vec.getLength() == 1; } - @Specialization(order = 100) + @Specialization public Object sysSleep(VirtualFrame frame, @SuppressWarnings("unused") Object arg) throws RError { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_VALUE, "time"); @@ -216,13 +216,13 @@ public class SysFunctions { @RBuiltin(name = "Sys.readlink", kind = INTERNAL, parameterNames = {"paths"}) public abstract static class SysReadlink extends RBuiltinNode { - @Specialization(order = 0) + @Specialization public Object sysReadLink(String path) { controlVisibility(); return RDataFactory.createStringVector(doSysReadLink(path)); } - @Specialization(order = 1) + @Specialization public Object sysReadlink(RStringVector vector) { controlVisibility(); String[] paths = new String[vector.getLength()]; @@ -254,7 +254,7 @@ public class SysFunctions { return s; } - @Specialization(order = 100) + @Specialization public Object sysReadlinkGeneric(VirtualFrame frame, @SuppressWarnings("unused") Object path) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARGUMENT, "paths"); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TempFile.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TempFile.java index 20aa2d5401..b729027f3e 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TempFile.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TempFile.java @@ -50,7 +50,7 @@ public abstract class TempFile extends RBuiltinNode { return "invalid '" + msg + "'"; } - @Specialization(order = 0, guards = "tempDirL1") + @Specialization(guards = "tempDirL1") public RStringVector tempfile(String pattern, RAbstractStringVector tempDir, String fileExt) { controlVisibility(); return RDataFactory.createStringVector(createFile(pattern, tempDir.getDataAt(0), fileExt)); @@ -61,7 +61,7 @@ public abstract class TempFile extends RBuiltinNode { return tempDir.getLength() == 1; } - @Specialization(order = 100) + @Specialization public RStringVector tempfileGeneric(VirtualFrame frame, Object pattern, Object tempDir, Object fileExt) throws RError { controlVisibility(); RStringVector[] argVecs = new RStringVector[]{checkVector(frame, pattern, INVALID_PATTERN), checkVector(frame, tempDir, INVALID_TEMPDIR), checkVector(frame, fileExt, INVALID_FILEEXT)}; diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Transpose.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Transpose.java index ff04c715fc..bb7b91603a 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Transpose.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Transpose.java @@ -72,14 +72,14 @@ public abstract class Transpose extends RBuiltinNode { return value; } - @Specialization(order = 10, guards = "isEmpty2D") + @Specialization(guards = "isEmpty2D") public RAbstractVector transpose(RAbstractVector vector) { controlVisibility(); int[] dim = vector.getDimensions(); return vector.copyWithNewDimensions(new int[]{dim[1], dim[0]}); } - @Specialization(order = 11, guards = "!isEmpty2D") + @Specialization(guards = "!isEmpty2D") public RIntVector transpose(RAbstractIntVector vector) { controlVisibility(); return performAbstractIntVector(vector, vector.isMatrix() ? vector.getDimensions() : new int[]{vector.getLength(), 1}); @@ -106,7 +106,7 @@ public abstract class Transpose extends RBuiltinNode { return r; } - @Specialization(order = 12, guards = "!isEmpty2D") + @Specialization(guards = "!isEmpty2D") public RDoubleVector transpose(RAbstractDoubleVector vector) { controlVisibility(); return performAbstractDoubleVector(vector, vector.isMatrix() ? vector.getDimensions() : new int[]{vector.getLength(), 1}); @@ -133,7 +133,7 @@ public abstract class Transpose extends RBuiltinNode { return r; } - @Specialization(order = 13, guards = "!isEmpty2D") + @Specialization(guards = "!isEmpty2D") public RStringVector transpose(RAbstractStringVector vector) { controlVisibility(); return performAbstractStringVector(vector, vector.isMatrix() ? vector.getDimensions() : new int[]{vector.getLength(), 1}); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java index 9abca28841..29673a9778 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java @@ -361,36 +361,36 @@ public class TrigExpFunctions { return arguments; } - @Specialization(order = 10) + @Specialization public Object atan(VirtualFrame frame, @SuppressWarnings("unused") RMissing x, @SuppressWarnings("unused") RMissing y) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.ARGUMENT_MISSING, getRBuiltin().parameterNames()[0]); } - @Specialization(order = 11) + @Specialization public Object atan(VirtualFrame frame, @SuppressWarnings("unused") RAbstractDoubleVector x, @SuppressWarnings("unused") RMissing y) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.ARGUMENT_MISSING, getRBuiltin().parameterNames()[1]); } - @Specialization(order = 0) + @Specialization public double atan2(double x, double y) { controlVisibility(); return Math.atan2(x, y); } - @Specialization(order = 1) + @Specialization public RDoubleVector atan2(RDoubleVector x, RDoubleVector y) { controlVisibility(); return doFun(x, y, (double d1, double d2) -> Math.atan2(d1, d2)); } - @Specialization(order = 2) + @Specialization public RDoubleVector atan2(double x, RDoubleVector y) { controlVisibility(); RDoubleVector xv = RDataFactory.createDoubleVectorFromScalar(x).copyResized(y.getLength(), false); return doFun(xv, y, (double d1, double d2) -> Math.atan2(d1, d2)); } - @Specialization(order = 3) + @Specialization public RDoubleVector atan2(RDoubleVector x, double y) { controlVisibility(); RDoubleVector yv = RDataFactory.createDoubleVectorFromScalar(y); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Unlist.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Unlist.java index 97457b1cfc..2823eac2a3 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Unlist.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Unlist.java @@ -66,12 +66,12 @@ public abstract class Unlist extends RBuiltinNode { return 0; } - @Specialization(order = 10, guards = "!isVectorList") + @Specialization(guards = "!isVectorList") public int getLength(RAbstractVector vector) { return vector.getLength(); } - @Specialization(order = 20, guards = "isVectorList") + @Specialization(guards = "isVectorList") public int getLengthList(VirtualFrame frame, RAbstractVector vector) { int totalSize = 0; for (int i = 0; i < vector.getLength(); ++i) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttr.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttr.java index 897d70ad27..ea9c737287 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttr.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttr.java @@ -86,7 +86,7 @@ public abstract class UpdateAttr extends RInvisibleBuiltinNode { return castList.executeList(frame, value); } - @Specialization(order = 0, guards = "nullValue") + @Specialization(guards = "nullValue") public RAbstractContainer updateAttr(VirtualFrame frame, RAbstractContainer container, String name, RNull value) { controlVisibility(); RVector resultVector = container.materializeNonSharedVector(); @@ -117,7 +117,7 @@ public abstract class UpdateAttr extends RInvisibleBuiltinNode { throw RError.error(frame, sourceSection, RError.Message.SET_INVALID_CLASS_ATTR); } - @Specialization(order = 1, guards = "!nullValue") + @Specialization(guards = "!nullValue") public RAbstractContainer updateAttr(VirtualFrame frame, RAbstractContainer container, String name, Object value) { controlVisibility(); RVector resultVector = container.materializeNonSharedVector(); @@ -143,7 +143,7 @@ public abstract class UpdateAttr extends RInvisibleBuiltinNode { return container.getElementClass() == RVector.class ? container : resultVector; } - @Specialization(order = 2, guards = "!nullValue") + @Specialization(guards = "!nullValue") public RAbstractContainer updateAttr(VirtualFrame frame, RAbstractVector vector, RStringVector name, Object value) { controlVisibility(); return updateAttr(frame, vector, name.getDataAt(0), value); @@ -155,14 +155,14 @@ public abstract class UpdateAttr extends RInvisibleBuiltinNode { return value == RNull.instance; } - @Specialization(order = 10, guards = "!nullValueforEnv") + @Specialization(guards = "!nullValueforEnv") public REnvironment updateAttr(VirtualFrame frame, REnvironment env, String name, Object value) { controlVisibility(); env.setAttr(name, value); return env; } - @Specialization(order = 11, guards = "nullValueforEnv") + @Specialization(guards = "nullValueforEnv") public REnvironment updateAttr(VirtualFrame frame, REnvironment env, String name, RNull value) { controlVisibility(); env.removeAttr(name); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDiag.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDiag.java index 6fc62cc927..9ec97acd88 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDiag.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDiag.java @@ -62,20 +62,20 @@ public abstract class UpdateDiag extends RInvisibleBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 0, guards = "!isMatrix") + @Specialization(guards = "!isMatrix") public RIntVector updateDiagNoMatrix(VirtualFrame frame, RAbstractVector vector, RAbstractVector valueVector) { controlVisibility(); throw RError.error(frame, this.getEncapsulatingSourceSection(), RError.Message.ONLY_MATRIX_DIAGONALS); } @SuppressWarnings("unused") - @Specialization(order = 1, guards = {"isMatrix", "!correctReplacementLength"}) + @Specialization(guards = {"isMatrix", "!correctReplacementLength"}) public RIntVector updateDiagReplacementDiagonalLength(VirtualFrame frame, RAbstractVector vector, RAbstractVector valueVector) { controlVisibility(); throw RError.error(frame, this.getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_DIAGONAL_LENGTH); } - @Specialization(order = 11, guards = {"isMatrix", "correctReplacementLength"}) + @Specialization(guards = {"isMatrix", "correctReplacementLength"}) public RAbstractIntVector updateDiag(RIntVector vector, RAbstractIntVector valueVector) { controlVisibility(); RIntVector resultVector = vector; @@ -94,7 +94,7 @@ public abstract class UpdateDiag extends RInvisibleBuiltinNode { return resultVector; } - @Specialization(order = 12, guards = {"isMatrix", "correctReplacementLength"}) + @Specialization(guards = {"isMatrix", "correctReplacementLength"}) public RAbstractDoubleVector updateDiag(RDoubleVector vector, RAbstractDoubleVector valueVector) { controlVisibility(); RDoubleVector resultVector = vector; @@ -113,7 +113,7 @@ public abstract class UpdateDiag extends RInvisibleBuiltinNode { return resultVector; } - @Specialization(order = 13, guards = {"isMatrix", "correctReplacementLength"}) + @Specialization(guards = {"isMatrix", "correctReplacementLength"}) public RAbstractDoubleVector updateDiag(VirtualFrame frame, RIntVector vector, RAbstractDoubleVector valueVector) { controlVisibility(); if (castDouble == null) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDim.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDim.java index 3b6d7dac39..8d9fbe00cb 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDim.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDim.java @@ -48,7 +48,7 @@ public abstract class UpdateDim extends RInvisibleBuiltinNode { return (RAbstractIntVector) castInteger.executeCast(frame, vector); } - @Specialization(order = 1) + @Specialization public RAbstractVector updateDim(RAbstractVector vector, RNull dimensions) { controlVisibility(); RVector result = vector.materialize(); @@ -56,7 +56,7 @@ public abstract class UpdateDim extends RInvisibleBuiltinNode { return result; } - @Specialization(order = 2) + @Specialization public RAbstractVector updateDim(VirtualFrame frame, RAbstractVector vector, RAbstractVector dimensions) { controlVisibility(); if (dimensions.getLength() == 0) { diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDimNames.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDimNames.java index f236301c9b..44c8611a63 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDimNames.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateDimNames.java @@ -71,7 +71,7 @@ public abstract class UpdateDimNames extends RInvisibleBuiltinNode { return list; } - @Specialization(order = 1) + @Specialization public RAbstractVector updateDimnames(VirtualFrame frame, RAbstractVector vector, RNull list) { RVector v = vector.materialize(); v.setDimNames(frame, null, getEncapsulatingSourceSection()); @@ -79,7 +79,7 @@ public abstract class UpdateDimNames extends RInvisibleBuiltinNode { return v; } - @Specialization(order = 2, guards = "isZeroLength") + @Specialization(guards = "isZeroLength") public RAbstractVector updateDimnamesEmpty(VirtualFrame frame, RAbstractVector vector, RList list) { RVector v = vector.materialize(); v.setDimNames(frame, null, getEncapsulatingSourceSection()); @@ -87,7 +87,7 @@ public abstract class UpdateDimNames extends RInvisibleBuiltinNode { return v; } - @Specialization(order = 3, guards = "!isZeroLength") + @Specialization(guards = "!isZeroLength") public RAbstractVector updateDimnames(VirtualFrame frame, RAbstractVector vector, RList list) { RVector v = vector.materialize(); v.setDimNames(frame, convertToListOfStrings(frame, list), getEncapsulatingSourceSection()); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateLength.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateLength.java index 8851a2ba40..0681ff70d6 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateLength.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateLength.java @@ -44,7 +44,7 @@ public abstract class UpdateLength extends RInvisibleBuiltinNode { return arguments; } - @Specialization(order = 1, guards = "isLengthOne") + @Specialization(guards = "isLengthOne") public RAbstractVector updateLength(RAbstractVector vector, RAbstractIntVector lengthVector) { controlVisibility(); int length = lengthVector.getDataAt(0); @@ -58,7 +58,7 @@ public abstract class UpdateLength extends RInvisibleBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 2, guards = "!isLengthOne") + @Specialization(guards = "!isLengthOne") public RAbstractVector updateLengthError(VirtualFrame frame, RAbstractVector vector, RAbstractIntVector lengthVector) { controlVisibility(); throw RError.error(frame, this.getEncapsulatingSourceSection(), RError.Message.INVALID_UNNAMED_VALUE); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateStorageMode.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateStorageMode.java index ee44ad21c5..6e12f72b74 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateStorageMode.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateStorageMode.java @@ -32,7 +32,7 @@ public abstract class UpdateStorageMode extends RBuiltinNode { @Child private CastTypeNode castTypeNode; @Child private IsFactorNode isFactor; - @Specialization(order = 0, guards = {"!isReal", "!isSingle"}) + @Specialization(guards = {"!isReal", "!isSingle"}) public Object update(VirtualFrame frame, final Object x, final String value) { controlVisibility(); if (typeof == null) { @@ -73,21 +73,21 @@ public abstract class UpdateStorageMode extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 1, guards = "isReal") + @Specialization(guards = "isReal") public Object updateReal(VirtualFrame frame, final Object x, final String value) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.USE_DEFUNCT, RRuntime.REAL, RRuntime.TYPE_DOUBLE); } @SuppressWarnings("unused") - @Specialization(order = 2, guards = "isSingle") + @Specialization(guards = "isSingle") public Object updateSingle(VirtualFrame frame, final Object x, final String value) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.USE_DEFUNCT, RRuntime.SINGLE, "mode<-"); } @SuppressWarnings("unused") - @Specialization(order = 3) + @Specialization public Object update(VirtualFrame frame, final Object x, final Object value) { controlVisibility(); throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.NULL_VALUE); diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateSubstr.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateSubstr.java index 0b7257604c..183e5f8e69 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateSubstr.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateSubstr.java @@ -79,31 +79,31 @@ public abstract class UpdateSubstr extends RBuiltinNode { } @SuppressWarnings("unused") - @Specialization(order = 1, guards = "emptyArg") + @Specialization(guards = "emptyArg") public RStringVector substrEmptyArg(RAbstractStringVector arg, RAbstractIntVector start, RAbstractIntVector stop, Object value) { return RDataFactory.createEmptyStringVector(); } @SuppressWarnings("unused") - @Specialization(order = 2, guards = {"!emptyArg", "wrongParams"}) + @Specialization(guards = {"!emptyArg", "wrongParams"}) public RNull substrWrongParams(RAbstractStringVector arg, RAbstractIntVector start, RAbstractIntVector stop, Object value) { assert false; // should never happen return RNull.instance; // dummy } @SuppressWarnings("unused") - @Specialization(order = 10, guards = {"!emptyArg", "!wrongParams"}) + @Specialization(guards = {"!emptyArg", "!wrongParams"}) public RStringVector substr(VirtualFrame frame, RAbstractStringVector arg, RAbstractIntVector start, RAbstractIntVector stop, RNull value) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_UNNAMED_VALUE); } @SuppressWarnings("unused") - @Specialization(order = 11, guards = {"!emptyArg", "!wrongParams", "wrongValue"}) + @Specialization(guards = {"!emptyArg", "!wrongParams", "wrongValue"}) public RStringVector substr(VirtualFrame frame, RAbstractStringVector arg, RAbstractIntVector start, RAbstractIntVector stop, RAbstractVector value) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_UNNAMED_VALUE); } - @Specialization(order = 12, guards = {"!emptyArg", "!wrongParams", "!wrongValue"}) + @Specialization(guards = {"!emptyArg", "!wrongParams", "!wrongValue"}) public RStringVector substr(RAbstractStringVector arg, RAbstractIntVector start, RAbstractIntVector stop, RAbstractStringVector value) { String[] res = new String[arg.getLength()]; for (int i = 0, j = 0, k = 0, l = 0; i < arg.getLength(); ++i, j = Utils.incMod(j, start.getLength()), k = Utils.incMod(k, stop.getLength()), l = Utils.incMod(k, value.getLength())) { diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessArrayNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessArrayNode.java index d09b669c17..e143e27e2f 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessArrayNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessArrayNode.java @@ -176,55 +176,55 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 1, guards = {"inRecursion", "isFirstPositionPositive"}) + @Specialization(guards = {"inRecursion", "isFirstPositionPositive"}) RNull accessNullInRecursionPosPositive(VirtualFrame frame, RNull vector, int recLevel, RAbstractIntVector positions, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBSCRIPT_BOUNDS); } @SuppressWarnings("unused") - @Specialization(order = 2, guards = {"inRecursion", "!isFirstPositionPositive"}) + @Specialization(guards = {"inRecursion", "!isFirstPositionPositive"}) RNull accessNullInRecursion(VirtualFrame frame, RNull vector, int recLevel, RAbstractIntVector positions, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); } @SuppressWarnings("unused") - @Specialization(order = 3) + @Specialization RNull access(RNull vector, int recLevel, Object positions, RAbstractLogicalVector dropDim) { return RNull.instance; } @SuppressWarnings("unused") - @Specialization(order = 4, guards = {"inRecursion", "isFirstPositionOne"}) + @Specialization(guards = {"inRecursion", "isFirstPositionOne"}) RNull accessFunctionInRecursionPosOne(VirtualFrame frame, RFunction vector, int recLevel, RAbstractIntVector positions, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_TYPE_LENGTH, "closure", 1); } @SuppressWarnings("unused") - @Specialization(order = 5, guards = {"inRecursion", "isFirstPositionPositive", "!isFirstPositionOne"}) + @Specialization(guards = {"inRecursion", "isFirstPositionPositive", "!isFirstPositionOne"}) RNull accessFunctionInRecursionPosPositive(VirtualFrame frame, RFunction vector, int recLevel, RAbstractIntVector positions, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBSCRIPT_BOUNDS); } @SuppressWarnings("unused") - @Specialization(order = 6, guards = {"inRecursion", "!isFirstPositionPositive"}) + @Specialization(guards = {"inRecursion", "!isFirstPositionPositive"}) RNull accessFunctionInRecursion(VirtualFrame frame, RFunction vector, int recLevel, RAbstractIntVector positions, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); } @SuppressWarnings("unused") - @Specialization(order = 7, guards = "inRecursion") + @Specialization(guards = "inRecursion") RNull accessFunctionInRecursionString(VirtualFrame frame, RFunction vector, int recLevel, RAbstractStringVector positions, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBSCRIPT_BOUNDS); } @SuppressWarnings("unused") - @Specialization(order = 8) + @Specialization RNull accessFunction(VirtualFrame frame, RFunction vector, int recLevel, Object position, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.OBJECT_NOT_SUBSETTABLE, "closure"); } @SuppressWarnings("unused") - @Specialization(order = 9) + @Specialization RNull access(RAbstractContainer container, int recLevel, RNull positions, RAbstractLogicalVector dropDim) { // this is a special case (see ArrayPositionCast) - RNull can only appear to represent the // x[NA] case which has to return null and not a null vector @@ -232,7 +232,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 10) + @Specialization Object access(VirtualFrame frame, RAbstractContainer container, int recLevel, RMissing positions, RAbstractLogicalVector dropDim) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "symbol"); @@ -242,13 +242,13 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 11, guards = "wrongDimensions") + @Specialization(guards = "wrongDimensions") Object access(VirtualFrame frame, RAbstractContainer container, int recLevel, Object[] positions, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INCORRECT_DIMENSIONS); } @SuppressWarnings("unused") - @Specialization(order = 12, guards = {"isPositionNA", "!isSubset"}) + @Specialization(guards = {"isPositionNA", "!isSubset"}) RIntVector accessNA(VirtualFrame frame, RAbstractContainer container, int recLevel, int position, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBSCRIPT_BOUNDS); } @@ -331,7 +331,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 13) + @Specialization RList access(VirtualFrame frame, RList vector, int recLevel, Object[] positions, RAbstractLogicalVector dropDim) { // compute length of dimensions array and of the resulting vector DimsAndResultLength res = getDimsAndResultLength(positions, dropDim.getLength() == 0 ? RRuntime.TRUE : dropDim.getDataAt(0)); @@ -379,7 +379,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 14, guards = "isSubset") + @Specialization(guards = "isSubset") RList accessSubset(RList vector, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { int resLength = p.getLength(); Object[] data = new Object[resLength]; @@ -412,12 +412,12 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 15, guards = "!hasNames") + @Specialization(guards = "!hasNames") RList accessStringNoNames(VirtualFrame frame, RList vector, int recLevel, RStringVector p, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.NO_SUCH_INDEX, 1); } - @Specialization(order = 16, guards = {"hasNames", "!isSubset", "twoPosition"}) + @Specialization(guards = {"hasNames", "!isSubset", "twoPosition"}) Object accessStringTwoPosRec(VirtualFrame frame, RList vector, int recLevel, RStringVector p, RAbstractLogicalVector dropDim) { int position = getPositionInRecursion(frame, vector, p.getDataAt(0), recLevel, getEncapsulatingSourceSection()); Object newVector = castVector(frame, vector.getDataAt(position - 1)); @@ -425,7 +425,7 @@ public abstract class AccessArrayNode extends RNode { return accessRecursive(frame, newVector, newPosition, recLevel + 1, dropDim); } - @Specialization(order = 17, guards = {"hasNames", "!isSubset", "!twoPosition"}) + @Specialization(guards = {"hasNames", "!isSubset", "!twoPosition"}) Object accessString(VirtualFrame frame, RList vector, int recLevel, RStringVector p, RAbstractLogicalVector dropDim) { int position = getPositionInRecursion(frame, vector, p.getDataAt(0), recLevel, getEncapsulatingSourceSection()); RStringVector newP = popHead(p, posNACheck); @@ -433,7 +433,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 20, guards = {"!isSubset", "onePosition", "!inRecursion"}) + @Specialization(guards = {"!isSubset", "onePosition", "!inRecursion"}) Object accessOnePos(VirtualFrame frame, RList vector, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { int position = p.getDataAt(0); if (RRuntime.isNA(position)) { @@ -447,7 +447,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 21, guards = {"!isSubset", "noPosition"}) + @Specialization(guards = {"!isSubset", "noPosition"}) Object accessNoPos(VirtualFrame frame, RList vector, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); } @@ -478,14 +478,14 @@ public abstract class AccessArrayNode extends RNode { return position; } - @Specialization(order = 22, guards = {"!isSubset", "onePosition", "inRecursion"}) + @Specialization(guards = {"!isSubset", "onePosition", "inRecursion"}) Object accessSubscript(VirtualFrame frame, RList vector, int recLevel, RIntVector p, @SuppressWarnings("unused") RAbstractLogicalVector dropDim) { int position = p.getDataAt(0); position = getPositionInRecursion(frame, vector, position, recLevel); return vector.getDataAt(position - 1); } - @Specialization(order = 23, guards = {"!isSubset", "twoPosition"}) + @Specialization(guards = {"!isSubset", "twoPosition"}) Object accessTwoPosRec(VirtualFrame frame, RList vector, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { int position = p.getDataAt(0); position = getPositionInRecursion(frame, vector, position, recLevel); @@ -494,7 +494,7 @@ public abstract class AccessArrayNode extends RNode { return accessRecursive(frame, newVector, newPosition, recLevel + 1, dropDim); } - @Specialization(order = 24, guards = {"!isSubset", "multiPos"}) + @Specialization(guards = {"!isSubset", "multiPos"}) Object access(VirtualFrame frame, RList vector, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { int position = p.getDataAt(0); position = getPositionInRecursion(frame, vector, position, recLevel); @@ -503,7 +503,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 25, guards = {"isPositionNA", "isSubset"}) + @Specialization(guards = {"isPositionNA", "isSubset"}) RList accessNA(RList vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (vector.getNames() == RNull.instance) { return RDataFactory.createList(new Object[]{RNull.instance}); @@ -514,56 +514,56 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 26, guards = {"!isPositionNA", "isPositionNegative", "!outOfBoundsNegative"}) + @Specialization(guards = {"!isPositionNA", "isPositionNegative", "!outOfBoundsNegative"}) RList accessNegativeInBounds(VirtualFrame frame, RAbstractContainer container, int recLevel, int position, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } @SuppressWarnings("unused") - @Specialization(order = 27, guards = {"!isPositionNA", "isPositionNegative", "outOfBoundsNegative", "oneElemVector"}) + @Specialization(guards = {"!isPositionNA", "isPositionNegative", "outOfBoundsNegative", "oneElemVector"}) RList accessNegativeOutOfBoundsOneElemVector(VirtualFrame frame, RAbstractContainer container, int recLevel, int position, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); } @SuppressWarnings("unused") - @Specialization(order = 28, guards = {"!isPositionNA", "isPositionNegative", "outOfBoundsNegative", "!oneElemVector"}) + @Specialization(guards = {"!isPositionNA", "isPositionNegative", "outOfBoundsNegative", "!oneElemVector"}) RList accessNegativeOutOfBounds(VirtualFrame frame, RAbstractContainer container, int recLevel, int position, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } @SuppressWarnings("unused") - @Specialization(order = 29, guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) RList accessNamesSubset(RList vector, int recLevel, int position, RAbstractLogicalVector dropDim) { Object val = vector.getDataAt(position - 1); return RDataFactory.createList(new Object[]{val}, getName(vector, position)); } @SuppressWarnings("unused") - @Specialization(order = 30, guards = {"!isPositionZero", "hasNames", "!isSubset", "!isPositionNA", "!isPositionNegative", "!outOfBounds"}) + @Specialization(guards = {"!isPositionZero", "hasNames", "!isSubset", "!isPositionNA", "!isPositionNegative", "!outOfBounds"}) Object accessNames(RList vector, int recLevel, int position, RAbstractLogicalVector dropDim) { return vector.getDataAt(position - 1); } @SuppressWarnings("unused") - @Specialization(order = 31, guards = {"!isPositionZero", "!hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "!hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) RList accessSubset(RList vector, int recLevel, int position, RAbstractLogicalVector dropDim) { return RDataFactory.createList(new Object[]{vector.getDataAt(position - 1)}); } @SuppressWarnings("unused") - @Specialization(order = 32, guards = {"!isPositionZero", "!hasNames", "!isSubset", "!isPositionNA", "!isPositionNegative", "!outOfBounds"}) + @Specialization(guards = {"!isPositionZero", "!hasNames", "!isSubset", "!isPositionNA", "!isPositionNegative", "!outOfBounds"}) Object access(RList vector, int recLevel, int position, RAbstractLogicalVector dropDim) { return vector.getDataAt(position - 1); } @SuppressWarnings("unused") - @Specialization(order = 33, guards = {"!isSubset", "outOfBounds"}) + @Specialization(guards = {"!isSubset", "outOfBounds"}) Object accessOutOfBounds(VirtualFrame frame, RList vector, int recLevel, int position, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBSCRIPT_BOUNDS); } @SuppressWarnings("unused") - @Specialization(order = 34, guards = "isPositionZero") + @Specialization(guards = "isPositionZero") RList accessPosZero(VirtualFrame frame, RList vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -576,18 +576,18 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 35, guards = {"!isSubset", "inRecursion", "multiPos", "!isVectorList"}) + @Specialization(guards = {"!isSubset", "inRecursion", "multiPos", "!isVectorList"}) Object accessRecFailedRec(VirtualFrame frame, RAbstractContainer container, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.RECURSIVE_INDEXING_FAILED, recLevel + 1); } @SuppressWarnings("unused") - @Specialization(order = 36, guards = {"!isSubset", "!inRecursion", "multiPos", "!isVectorList"}) + @Specialization(guards = {"!isSubset", "!inRecursion", "multiPos", "!isVectorList"}) Object accessRecFailed(VirtualFrame frame, RAbstractContainer container, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } - @Specialization(order = 40) + @Specialization RIntVector access(VirtualFrame frame, RAbstractIntVector vector, @SuppressWarnings("unused") int recLevel, Object[] positions, RAbstractLogicalVector dropDim) { // compute length of dimensions array and of the resulting vector DimsAndResultLength res = getDimsAndResultLength(positions, dropDim.getLength() == 0 ? RRuntime.TRUE : dropDim.getDataAt(0)); @@ -635,7 +635,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 41) + @Specialization RIntVector access(RAbstractIntVector vector, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { int resLength = p.getLength(); int[] data = new int[resLength]; @@ -654,7 +654,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 42, guards = {"isPositionNA", "isSubset"}) + @Specialization(guards = {"isPositionNA", "isSubset"}) RIntVector accessNA(RAbstractIntVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (vector.getNames() == RNull.instance) { return RDataFactory.createIntVector(new int[]{RRuntime.INT_NA}, RDataFactory.INCOMPLETE_VECTOR); @@ -665,7 +665,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 43, guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) RIntVector accessNames(RAbstractIntVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { int val = vector.getDataAt(position - 1); elementNACheck.check(val); @@ -673,13 +673,13 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 44, guards = {"!isPositionZero", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "!isPositionNA", "!isPositionNegative"}) int access(RAbstractIntVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { return vector.getDataAt(position - 1); } @SuppressWarnings("unused") - @Specialization(order = 45, guards = "isPositionZero") + @Specialization(guards = "isPositionZero") RIntVector accessPosZero(VirtualFrame frame, RAbstractIntVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -691,7 +691,7 @@ public abstract class AccessArrayNode extends RNode { } } - @Specialization(order = 50) + @Specialization RDoubleVector access(VirtualFrame frame, RAbstractDoubleVector vector, @SuppressWarnings("unused") int recLevel, Object[] positions, RAbstractLogicalVector dropDim) { // compute length of dimensions array and of the resulting vector DimsAndResultLength res = getDimsAndResultLength(positions, dropDim.getLength() == 0 ? RRuntime.TRUE : dropDim.getDataAt(0)); @@ -739,7 +739,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 51) + @Specialization RDoubleVector access(RAbstractDoubleVector vector, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { int resLength = p.getLength(); double[] data = new double[resLength]; @@ -758,7 +758,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 52, guards = {"isPositionNA", "isSubset"}) + @Specialization(guards = {"isPositionNA", "isSubset"}) RDoubleVector accessNA(RAbstractDoubleVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (vector.getNames() == RNull.instance) { return RDataFactory.createDoubleVector(new double[]{RRuntime.DOUBLE_NA}, RDataFactory.INCOMPLETE_VECTOR); @@ -769,7 +769,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 53, guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) RDoubleVector accessNames(RAbstractDoubleVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { double val = vector.getDataAt(position - 1); elementNACheck.check(val); @@ -777,13 +777,13 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 54, guards = {"!isPositionZero", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "!isPositionNA", "!isPositionNegative"}) double access(RAbstractDoubleVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { return vector.getDataAt(position - 1); } @SuppressWarnings("unused") - @Specialization(order = 55, guards = "isPositionZero") + @Specialization(guards = "isPositionZero") RDoubleVector accessPosZero(VirtualFrame frame, RAbstractDoubleVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -795,7 +795,7 @@ public abstract class AccessArrayNode extends RNode { } } - @Specialization(order = 60) + @Specialization RLogicalVector access(VirtualFrame frame, RLogicalVector vector, @SuppressWarnings("unused") int recLevel, Object[] positions, RAbstractLogicalVector dropDim) { // compute length of dimensions array and of the resulting vector DimsAndResultLength res = getDimsAndResultLength(positions, dropDim.getLength() == 0 ? RRuntime.TRUE : dropDim.getDataAt(0)); @@ -843,7 +843,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 61) + @Specialization RLogicalVector access(RLogicalVector vector, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { int resLength = p.getLength(); byte[] data = new byte[resLength]; @@ -862,7 +862,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 62, guards = {"isPositionNA", "isSubset"}) + @Specialization(guards = {"isPositionNA", "isSubset"}) RLogicalVector accessNA(RLogicalVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (vector.getNames() == RNull.instance) { return RDataFactory.createLogicalVector(new byte[]{RRuntime.LOGICAL_NA}, RDataFactory.INCOMPLETE_VECTOR); @@ -873,7 +873,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 63, guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) RLogicalVector accessNames(RAbstractLogicalVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { byte val = vector.getDataAt(position - 1); elementNACheck.check(val); @@ -881,13 +881,13 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 64, guards = {"!isPositionZero", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "!isPositionNA", "!isPositionNegative"}) byte access(RLogicalVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { return vector.getDataAt(position - 1); } @SuppressWarnings("unused") - @Specialization(order = 65, guards = "isPositionZero") + @Specialization(guards = "isPositionZero") RLogicalVector accessPosZero(VirtualFrame frame, RLogicalVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -899,7 +899,7 @@ public abstract class AccessArrayNode extends RNode { } } - @Specialization(order = 70) + @Specialization RStringVector access(VirtualFrame frame, RStringVector vector, @SuppressWarnings("unused") int recLevel, Object[] positions, RAbstractLogicalVector dropDim) { // compute length of dimensions array and of the resulting vector DimsAndResultLength res = getDimsAndResultLength(positions, dropDim.getLength() == 0 ? RRuntime.TRUE : dropDim.getDataAt(0)); @@ -947,7 +947,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 71) + @Specialization RStringVector access(RStringVector vector, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { int resLength = p.getLength(); String[] data = new String[resLength]; @@ -966,7 +966,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 72, guards = {"isPositionNA", "isSubset"}) + @Specialization(guards = {"isPositionNA", "isSubset"}) RStringVector accessNA(RStringVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (vector.getNames() == RNull.instance) { return RDataFactory.createStringVector(new String[]{RRuntime.STRING_NA}, RDataFactory.INCOMPLETE_VECTOR); @@ -977,7 +977,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 73, guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) RStringVector accessNames(RAbstractStringVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { String val = vector.getDataAt(position - 1); elementNACheck.check(val); @@ -985,13 +985,13 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 74, guards = {"!isPositionZero", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "!isPositionNA", "!isPositionNegative"}) String access(RStringVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { return vector.getDataAt(position - 1); } @SuppressWarnings("unused") - @Specialization(order = 75, guards = "isPositionZero") + @Specialization(guards = "isPositionZero") RStringVector accessPosZero(VirtualFrame frame, RStringVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -1003,7 +1003,7 @@ public abstract class AccessArrayNode extends RNode { } } - @Specialization(order = 80) + @Specialization RComplexVector access(VirtualFrame frame, RComplexVector vector, @SuppressWarnings("unused") int recLevel, Object[] positions, RAbstractLogicalVector dropDim) { // compute length of dimensions array and of the resulting vector DimsAndResultLength res = getDimsAndResultLength(positions, dropDim.getLength() == 0 ? RRuntime.TRUE : dropDim.getDataAt(0)); @@ -1051,7 +1051,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 81) + @Specialization RComplexVector access(RComplexVector vector, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { int resLength = p.getLength(); double[] data = new double[resLength << 1]; @@ -1074,7 +1074,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 82, guards = {"isPositionNA", "isSubset"}) + @Specialization(guards = {"isPositionNA", "isSubset"}) RComplexVector accessNA(RComplexVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (vector.getNames() == RNull.instance) { return RDataFactory.createComplexVector(new double[]{RRuntime.COMPLEX_NA_REAL_PART, RRuntime.COMPLEX_NA_IMAGINARY_PART}, RDataFactory.INCOMPLETE_VECTOR); @@ -1085,7 +1085,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 83, guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) RComplexVector accessNames(RAbstractComplexVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { RComplex val = vector.getDataAt(position - 1); elementNACheck.check(val); @@ -1093,13 +1093,13 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 84, guards = {"!isPositionZero", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "!isPositionNA", "!isPositionNegative"}) RComplex access(RComplexVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { return vector.getDataAt(position - 1); } @SuppressWarnings("unused") - @Specialization(order = 85, guards = "isPositionZero") + @Specialization(guards = "isPositionZero") RComplexVector accessPosZero(VirtualFrame frame, RComplexVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -1111,7 +1111,7 @@ public abstract class AccessArrayNode extends RNode { } } - @Specialization(order = 90) + @Specialization RRawVector access(VirtualFrame frame, RRawVector vector, @SuppressWarnings("unused") int recLevel, Object[] positions, RAbstractLogicalVector dropDim) { // compute length of dimensions array and of the resulting vector DimsAndResultLength res = getDimsAndResultLength(positions, dropDim.getLength() == 0 ? RRuntime.TRUE : dropDim.getDataAt(0)); @@ -1159,7 +1159,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 91) + @Specialization RRawVector access(RRawVector vector, int recLevel, RIntVector p, RAbstractLogicalVector dropDim) { int resLength = p.getLength(); byte[] data = new byte[resLength]; @@ -1178,7 +1178,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 92, guards = {"isPositionNA", "isSubset"}) + @Specialization(guards = {"isPositionNA", "isSubset"}) RRawVector accessNA(RRawVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (vector.getNames() == RNull.instance) { return RDataFactory.createRawVector(new byte[]{0}); @@ -1189,20 +1189,20 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 93, guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "hasNames", "isSubset", "!isPositionNA", "!isPositionNegative"}) RRawVector accessNames(RAbstractRawVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { RRaw val = vector.getDataAt(position - 1); return RDataFactory.createRawVector(new byte[]{val.getValue()}, getName(vector, position)); } @SuppressWarnings("unused") - @Specialization(order = 94, guards = {"!isPositionZero", "!isPositionNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPositionZero", "!isPositionNA", "!isPositionNegative"}) RRaw access(RRawVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { return vector.getDataAt(position - 1); } @SuppressWarnings("unused") - @Specialization(order = 95, guards = "isPositionZero") + @Specialization(guards = "isPositionZero") RRawVector accessPosZero(VirtualFrame frame, RRawVector vector, int recLevel, int position, RAbstractLogicalVector dropDim) { if (!isSubset) { RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -1215,7 +1215,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 200, guards = "noPosition") + @Specialization(guards = "noPosition") Object accessListEmptyPos(VirtualFrame frame, RAbstractContainer container, int recLevel, RList positions, RAbstractLogicalVector dropDim) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -1225,19 +1225,19 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 201, guards = "onePosition") + @Specialization(guards = "onePosition") Object accessListOnePos(VirtualFrame frame, RAbstractContainer container, int recLevel, RList positions, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); } @SuppressWarnings("unused") - @Specialization(order = 202, guards = "multiPos") + @Specialization(guards = "multiPos") Object accessListMultiPosList(VirtualFrame frame, RList vector, int recLevel, RList positions, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); } @SuppressWarnings("unused") - @Specialization(order = 203, guards = {"multiPos", "!isVectorList"}) + @Specialization(guards = {"multiPos", "!isVectorList"}) Object accessListMultiPos(VirtualFrame frame, RAbstractContainer container, int recLevel, RList positions, RAbstractLogicalVector dropDim) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); @@ -1247,36 +1247,36 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 210) + @Specialization Object accessListMultiPos(VirtualFrame frame, RAbstractContainer container, int recLevel, RComplex positions, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "complex"); } @SuppressWarnings("unused") - @Specialization(order = 220) + @Specialization Object accessListMultiPos(VirtualFrame frame, RAbstractContainer container, int recLevel, RRaw positions, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "raw"); } // this should really be implemented in R - @Specialization(order = 1000, guards = "!isSubset") + @Specialization(guards = "!isSubset") Object access(VirtualFrame frame, RDataFrame dataFrame, int recLevel, int position, RAbstractLogicalVector dropDim) { return accessRecursive(frame, dataFrame.getVector(), position, recLevel, dropDim); } @SuppressWarnings("unused") - @Specialization(order = 1001, guards = "isSubset") + @Specialization(guards = "isSubset") Object accessSubset(VirtualFrame frame, RDataFrame dataFrame, int recLevel, int position, RAbstractLogicalVector dropDim) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.DATA_FRAMES_SUBSET_ACCESS); } - @Specialization(order = 1010) + @Specialization Object access(VirtualFrame frame, RExpression expression, int recLevel, int position, RAbstractLogicalVector dropDim) { return accessRecursive(frame, expression.getList(), position, recLevel, dropDim); } @SuppressWarnings("unused") - @Specialization(order = 1100) + @Specialization Object access(RPairList pairlist, int recLevel, int position, RAbstractLogicalVector dropDim) { return pairlist.getDataAtAsObject(position - 1); } @@ -1566,7 +1566,7 @@ public abstract class AccessArrayNode extends RNode { this.elementNACheck = other.elementNACheck; } - @Specialization(order = 1) + @Specialization RList getData(VirtualFrame frame, Object d, RList vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { Object[] data = (Object[]) d; int[] srcDimensions = vector.getDimensions(); @@ -1595,7 +1595,7 @@ public abstract class AccessArrayNode extends RNode { return vector; } - @Specialization(order = 2) + @Specialization RAbstractIntVector getData(VirtualFrame frame, Object d, RAbstractIntVector vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { int[] data = (int[]) d; @@ -1626,7 +1626,7 @@ public abstract class AccessArrayNode extends RNode { return vector; } - @Specialization(order = 3) + @Specialization RAbstractDoubleVector getData(VirtualFrame frame, Object d, RAbstractDoubleVector vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { double[] data = (double[]) d; @@ -1657,7 +1657,7 @@ public abstract class AccessArrayNode extends RNode { return vector; } - @Specialization(order = 4) + @Specialization RAbstractLogicalVector getData(VirtualFrame frame, Object d, RAbstractLogicalVector vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { byte[] data = (byte[]) d; @@ -1688,7 +1688,7 @@ public abstract class AccessArrayNode extends RNode { return vector; } - @Specialization(order = 5) + @Specialization RAbstractStringVector getData(VirtualFrame frame, Object d, RAbstractStringVector vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { String[] data = (String[]) d; @@ -1719,7 +1719,7 @@ public abstract class AccessArrayNode extends RNode { return vector; } - @Specialization(order = 6) + @Specialization RAbstractComplexVector getData(VirtualFrame frame, Object d, RAbstractComplexVector vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { double[] data = (double[]) d; @@ -1752,7 +1752,7 @@ public abstract class AccessArrayNode extends RNode { return vector; } - @Specialization(order = 7) + @Specialization RAbstractRawVector getData(VirtualFrame frame, Object d, RAbstractRawVector vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { byte[] data = (byte[]) d; @@ -1827,12 +1827,12 @@ public abstract class AccessArrayNode extends RNode { this.isSubset = other.isSubset; } - @Specialization(order = 1, guards = {"!singleOpNegative", "!multiPos"}) + @Specialization(guards = {"!singleOpNegative", "!multiPos"}) public RAbstractIntVector doIntVector(@SuppressWarnings("unused") Object vector, RAbstractIntVector positions) { return positions; } - @Specialization(order = 2, guards = {"!singleOpNegative", "multiPos"}) + @Specialization(guards = {"!singleOpNegative", "multiPos"}) public RAbstractIntVector doIntVectorMultiPos(VirtualFrame frame, @SuppressWarnings("unused") Object vector, RAbstractIntVector positions) { if (isSubset) { return positions; @@ -1842,7 +1842,7 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 3, guards = {"singleOpNA"}) + @Specialization(guards = {"singleOpNA"}) public RAbstractIntVector doIntVectorNA(VirtualFrame frame, Object vector, RAbstractIntVector positions) { if (isSubset) { return positions; @@ -1852,13 +1852,13 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 4, guards = {"singleOpNegative", "!singleOpNA"}) + @Specialization(guards = {"singleOpNegative", "!singleOpNA"}) public RAbstractIntVector doIntVectorNegative(VirtualFrame frame, Object vector, RAbstractIntVector positions) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } @SuppressWarnings("unused") - @Specialization(order = 10, guards = "noPosition") + @Specialization(guards = "noPosition") Object accessListEmptyPos(VirtualFrame frame, RAbstractVector vector, RList positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -1868,13 +1868,13 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 11, guards = "onePosition") + @Specialization(guards = "onePosition") Object accessListOnePos(VirtualFrame frame, RAbstractVector vector, RList positions) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); } @SuppressWarnings("unused") - @Specialization(order = 12, guards = "multiPos") + @Specialization(guards = "multiPos") Object accessListMultiPos(VirtualFrame frame, RAbstractVector vector, RList positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); @@ -1884,13 +1884,13 @@ public abstract class AccessArrayNode extends RNode { } @SuppressWarnings("unused") - @Specialization(order = 20) + @Specialization Object accessListOnePos(VirtualFrame frame, RAbstractVector vector, RComplex positions) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "complex"); } @SuppressWarnings("unused") - @Specialization(order = 30) + @Specialization Object accessListOnePos(VirtualFrame frame, RAbstractVector vector, RRaw positions) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "raw"); } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessFieldNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessFieldNode.java index 0fd3966ea3..bab75c3a6b 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessFieldNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessFieldNode.java @@ -41,7 +41,7 @@ public abstract class AccessFieldNode extends RNode { private final BranchProfile inexactMatch = new BranchProfile(); - @Specialization(order = 1, guards = "hasNames") + @Specialization(guards = "hasNames") public Object accessField(RList object) { int index = object.getElementIndexByName(getField()); if (index == -1) { @@ -51,18 +51,18 @@ public abstract class AccessFieldNode extends RNode { return index == -1 ? RNull.instance : object.getDataAt(index); } - @Specialization(order = 2, guards = "!hasNames") + @Specialization(guards = "!hasNames") public Object accessFieldNoNames(@SuppressWarnings("unused") RList object) { return RNull.instance; } - @Specialization(order = 3) + @Specialization public Object accessField(REnvironment env) { Object obj = env.get(getField()); return obj == null ? RNull.instance : obj; } - @Specialization(order = 1000) + @Specialization public Object accessField(VirtualFrame frame, @SuppressWarnings("unused") RAbstractVector object) { throw RError.error(frame, RError.Message.DOLLAR_ATOMIC_VECTORS); } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/ArrayPositionCast.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/ArrayPositionCast.java index 258240d954..14dff6f49c 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/ArrayPositionCast.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/ArrayPositionCast.java @@ -88,17 +88,17 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 1) + @Specialization public RIntVector doMissingVector(Object op, RNull vector, RAbstractIntVector operand) { return operand.materialize(); } - @Specialization(order = 2) + @Specialization public Object doFuncOp(Object op, RFunction vector, Object operand) { return operand; } - @Specialization(order = 3) + @Specialization public RIntVector doMissingVector(VirtualFrame frame, Object op, RAbstractContainer container, RMissing operand) { verifyDimensions(frame, container, dimension, numDimensions, assignment, isSubset, getEncapsulatingSourceSection()); int[] data = new int[numDimensions == 1 ? container.getLength() : container.getDimensions()[dimension]]; @@ -109,62 +109,62 @@ public abstract class ArrayPositionCast extends RNode { return RDataFactory.createIntVector(data, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 4) + @Specialization public RNull doNullSubset(Object op, RAbstractContainer container, RNull operand) { // this is a special case - RNull can only appear to represent the x[[NA]] case which has to // return null and not a null vector return operand; } - @Specialization(order = 5) + @Specialization public RStringVector doStringVector(Object op, RList vector, RStringVector operand) { // recursive access to the list return operand; } - @Specialization(order = 6) + @Specialization public RList doList(Object op, RAbstractContainer container, RList operand) { return operand; } - @Specialization(order = 7) + @Specialization public RComplex doList(Object op, RAbstractContainer container, RComplex operand) { return operand; } - @Specialization(order = 8) + @Specialization public RRaw doList(Object op, RAbstractContainer container, RRaw operand) { return operand; } - @Specialization(order = 16, guards = {"sizeOneOp", "numDimensionsOne", "!operandHasNames"}) + @Specialization(guards = {"sizeOneOp", "numDimensionsOne", "!operandHasNames"}) public int doIntVectorSizeOne(Object op, RAbstractContainer container, RAbstractIntVector operand) { int val = operand.getDataAt(0); return val; } - @Specialization(order = 17, guards = {"sizeOneOp", "numDimensionsOne", "operandHasNames"}) + @Specialization(guards = {"sizeOneOp", "numDimensionsOne", "operandHasNames"}) public RIntVector doIntVectorSizeOneNames(Object op, RAbstractContainer container, RAbstractIntVector operand) { assert operand.getDataAt(0) != 0; return operand.materialize(); } - @Specialization(order = 21, guards = {"sizeOneOp", "!numDimensionsOne"}) + @Specialization(guards = {"sizeOneOp", "!numDimensionsOne"}) public RIntVector doIntVectorSizeOneMultiDim(Object op, RAbstractContainer container, RAbstractIntVector operand) { return operand.materialize(); } - @Specialization(order = 22, guards = {"!emptyOperand", "!sizeOneOp", "!numDimensionsOne"}) + @Specialization(guards = {"!emptyOperand", "!sizeOneOp", "!numDimensionsOne"}) public RIntVector doIntVectorMultiDim(Object op, RAbstractContainer container, RAbstractIntVector operand) { return operand.materialize(); } - @Specialization(order = 23, guards = {"!emptyOperand", "!sizeOneOp", "numDimensionsOne"}) + @Specialization(guards = {"!emptyOperand", "!sizeOneOp", "numDimensionsOne"}) public RIntVector doIntVectorOneDim(Object op, RAbstractContainer container, RAbstractIntVector operand) { return operand.materialize(); } - @Specialization(order = 24, guards = "emptyOperand") + @Specialization(guards = "emptyOperand") public int doIntVectorZero(Object op, RAbstractContainer container, RAbstractIntVector operand) { return 0; } @@ -266,17 +266,17 @@ public abstract class ArrayPositionCast extends RNode { return castInteger.executeCast(frame, operand); } - @Specialization(order = 0) + @Specialization public RList doList(RAbstractContainer container, RList operand) { return operand; } - @Specialization(order = 1) + @Specialization public RMissing doFuncOp(VirtualFrame frame, RAbstractContainer container, RFunction operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "closure"); } - @Specialization(order = 6, guards = "dimLengthOne") + @Specialization(guards = "dimLengthOne") public int doMissingDimLengthOne(VirtualFrame frame, RAbstractContainer container, RMissing operand) { if (!isSubset) { if (assignment) { @@ -288,7 +288,7 @@ public abstract class ArrayPositionCast extends RNode { return 1; } - @Specialization(order = 7, guards = "!dimLengthOne") + @Specialization(guards = "!dimLengthOne") public RMissing doMissing(VirtualFrame frame, RAbstractContainer container, RMissing operand) { if (!isSubset) { if (assignment) { @@ -300,7 +300,7 @@ public abstract class ArrayPositionCast extends RNode { return operand; } - @Specialization(order = 8) + @Specialization public int doNull(VirtualFrame frame, RAbstractContainer container, RNull operand) { if (isSubset) { return 0; @@ -309,27 +309,27 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 9, guards = {"indNA", "isSubset", "numDimensionsOne"}) + @Specialization(guards = {"indNA", "isSubset", "numDimensionsOne"}) public int doIntNASubset(RList vector, int operand) { return operand; } - @Specialization(order = 10, guards = {"indNA", "!isSubset", "numDimensionsOne"}) + @Specialization(guards = {"indNA", "!isSubset", "numDimensionsOne"}) public RNull doIntNA(RList vector, int operand) { return RNull.instance; } - @Specialization(order = 11, guards = {"indNA", "!numDimensionsOne"}) + @Specialization(guards = {"indNA", "!numDimensionsOne"}) public int doIntNAMultiDim(RList vector, int operand) { return operand; } - @Specialization(order = 12, guards = {"indNA", "isSubset", "!isVectorList"}) + @Specialization(guards = {"indNA", "isSubset", "!isVectorList"}) public int doIntNASubset(RAbstractContainer container, int operand) { return operand; } - @Specialization(order = 13, guards = {"indNA", "!isSubset", "!isVectorList"}) + @Specialization(guards = {"indNA", "!isSubset", "!isVectorList"}) public int doIntNA(VirtualFrame frame, RAbstractContainer container, int operand) { if (!assignment) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBSCRIPT_BOUNDS); @@ -339,17 +339,17 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 14, guards = {"!indNA", "!isSubset", "!isNegative"}) + @Specialization(guards = {"!indNA", "!isSubset", "!isNegative"}) public int doIntNegative(RList vector, int operand) { return operand; } - @Specialization(order = 15, guards = {"!indNA", "!isSubset", "outOfBoundsNegative"}) + @Specialization(guards = {"!indNA", "!isSubset", "outOfBoundsNegative"}) public int doIntOutOfBoundsNegative(RList vector, int operand) { return operand; } - @Specialization(order = 16, guards = {"!indNA", "outOfBounds", "numDimensionsOne"}) + @Specialization(guards = {"!indNA", "outOfBounds", "numDimensionsOne"}) public int doIntOutOfBoundsOneDim(VirtualFrame frame, RAbstractContainer container, int operand) { if (assignment) { return operand; @@ -362,46 +362,46 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 17, guards = {"!indNA", "outOfBounds", "!numDimensionsOne"}) + @Specialization(guards = {"!indNA", "outOfBounds", "!numDimensionsOne"}) public int doIntOutOfBounds(VirtualFrame frame, RAbstractContainer container, int operand) { throw RError.error(frame, assignment ? getEncapsulatingSourceSection() : null, RError.Message.SUBSCRIPT_BOUNDS); } - @Specialization(order = 18, guards = {"!indNA", "outOfBoundsNegative", "dimLengthOne", "isSubset"}) + @Specialization(guards = {"!indNA", "outOfBoundsNegative", "dimLengthOne", "isSubset"}) public int doIntOutOfBoundsNegativeOneElementSubset(RAbstractContainer container, int operand) { // there is only one element to be picked return 1; } - @Specialization(order = 19, guards = {"!indNA", "outOfBoundsNegative", "dimLengthOne", "!isSubset"}) + @Specialization(guards = {"!indNA", "outOfBoundsNegative", "dimLengthOne", "!isSubset"}) public int doIntOutOfBoundsNegativeOneElementAccess(RAbstractContainer container, int operand) { return operand; } - @Specialization(order = 20, guards = {"!indNA", "outOfBoundsNegative", "!dimLengthOne", "isSubset"}) + @Specialization(guards = {"!indNA", "outOfBoundsNegative", "!dimLengthOne", "isSubset"}) public RMissing doIntOutOfBoundsNegativeSubset(RAbstractContainer container, int operand) { // all indexes - result is the same as with missing index return RMissing.instance; } - @Specialization(order = 22, guards = {"!indNA", "outOfBoundsNegative", "!dimLengthOne", "!isSubset"}) + @Specialization(guards = {"!indNA", "outOfBoundsNegative", "!dimLengthOne", "!isSubset"}) public int doIntOutOfBoundsNegativeAccess(RAbstractContainer container, int operand) { return operand; } - @Specialization(order = 23, guards = {"!indNA", "!outOfBounds", "!isNegative"}) + @Specialization(guards = {"!indNA", "!outOfBounds", "!isNegative"}) public int doInt(RAbstractContainer container, int operand) { return operand; } - @Specialization(order = 24, guards = {"!indNA", "isNegative", "!outOfBoundsNegative", "dimLengthOne"}) + @Specialization(guards = {"!indNA", "isNegative", "!outOfBoundsNegative", "dimLengthOne"}) public int doIntNegativeNoDimLeft(RAbstractContainer container, int operand) { // it's negative, but not out of bounds and dimension has length one - result is no // dimensions left return 0; } - @Specialization(order = 25, guards = {"isSubset", "!indNA", "isNegative", "!outOfBoundsNegative", "!dimLengthOne", "!vecLengthTwo"}) + @Specialization(guards = {"isSubset", "!indNA", "isNegative", "!outOfBoundsNegative", "!dimLengthOne", "!vecLengthTwo"}) public RIntVector doIntNegativeSubset(RAbstractContainer container, int operand) { // it's negative, but not out of bounds - pick all indexes apart from the negative one int dimLength = numDimensions == 1 ? container.getLength() : container.getDimensions()[dimension]; @@ -415,48 +415,48 @@ public abstract class ArrayPositionCast extends RNode { return RDataFactory.createIntVector(positions, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 26, guards = {"!isSubset", "!indNA", "isNegative", "!outOfBoundsNegative", "!dimLengthOne", "!vecLengthTwo"}) + @Specialization(guards = {"!isSubset", "!indNA", "isNegative", "!outOfBoundsNegative", "!dimLengthOne", "!vecLengthTwo"}) public int doIntNegative(RAbstractContainer container, int operand) { return operand; } - @Specialization(order = 27, guards = {"opNegOne", "vecLengthTwo"}) + @Specialization(guards = {"opNegOne", "vecLengthTwo"}) public int doIntNegOne(RAbstractContainer container, int operand) { return 2; } - @Specialization(order = 28, guards = {"opNegTwo", "vecLengthTwo"}) + @Specialization(guards = {"opNegTwo", "vecLengthTwo"}) public int doIntNegTow(RAbstractContainer container, int operand) { return 1; } - @Specialization(order = 30, guards = "!isNegative") + @Specialization(guards = "!isNegative") public Object doDouble(VirtualFrame frame, RAbstractContainer container, double operand) { return convertOperatorRecursive(frame, container, castInteger(frame, operand)); } - @Specialization(order = 31, guards = "isNegative") + @Specialization(guards = "isNegative") public Object doDoubleNegative(VirtualFrame frame, RAbstractContainer container, double operand) { // returns object as it may return either int or RIntVector due to conversion return convertOperatorRecursive(frame, container, castInteger(frame, operand)); } - @Specialization(order = 32, guards = {"indNA", "numDimensionsOne", "!isSubset"}) + @Specialization(guards = {"indNA", "numDimensionsOne", "!isSubset"}) public RNull doLogicalDimLengthOne(RList vector, byte operand) { return RNull.instance; } - @Specialization(order = 33, guards = {"indNA", "numDimensionsOne", "!isSubset", "!isVectorList"}) + @Specialization(guards = {"indNA", "numDimensionsOne", "!isSubset", "!isVectorList"}) public int doLogicalDimLengthOne(RAbstractContainer container, byte operand) { return RRuntime.INT_NA; } - @Specialization(order = 34, guards = {"indNA", "numDimensionsOne", "isSubset", "isAssignment"}) + @Specialization(guards = {"indNA", "numDimensionsOne", "isSubset", "isAssignment"}) public int doLogicalNASubsetDimOneAssignment(RAbstractContainer container, byte operand) { return RRuntime.INT_NA; } - @Specialization(order = 35, guards = {"indNA", "numDimensionsOne", "isSubset", "!isAssignment"}) + @Specialization(guards = {"indNA", "numDimensionsOne", "isSubset", "!isAssignment"}) public RIntVector doLogicalNASubsetDimOne(RAbstractContainer container, byte operand) { int dimLength = numDimensions == 1 ? (container.getLength() == 0 ? 1 : container.getLength()) : container.getDimensions()[dimension]; int[] data = new int[dimLength]; @@ -464,17 +464,17 @@ public abstract class ArrayPositionCast extends RNode { return RDataFactory.createIntVector(data, RDataFactory.INCOMPLETE_VECTOR); } - @Specialization(order = 36, guards = {"indNA", "!numDimensionsOne", "isSubset", "dimLengthOne"}) + @Specialization(guards = {"indNA", "!numDimensionsOne", "isSubset", "dimLengthOne"}) public int doLogicalDimLengthOneSubset(VirtualFrame frame, RAbstractContainer container, byte operand) { return (int) castInteger(frame, operand); } - @Specialization(order = 37, guards = {"indNA", "!numDimensionsOne", "isSubset", "!dimLengthOne", "isAssignment"}) + @Specialization(guards = {"indNA", "!numDimensionsOne", "isSubset", "!dimLengthOne", "isAssignment"}) public int doLogicalNASubsetAssignment(RAbstractContainer container, byte operand) { return RRuntime.INT_NA; } - @Specialization(order = 38, guards = {"indNA", "!numDimensionsOne", "isSubset", "!dimLengthOne", "!isAssignment"}) + @Specialization(guards = {"indNA", "!numDimensionsOne", "isSubset", "!dimLengthOne", "!isAssignment"}) public RIntVector doLogicalNASubset(RAbstractContainer container, byte operand) { int dimLength = numDimensions == 1 ? (container.getLength() == 0 ? 1 : container.getLength()) : container.getDimensions()[dimension]; int[] data = new int[dimLength]; @@ -482,12 +482,12 @@ public abstract class ArrayPositionCast extends RNode { return RDataFactory.createIntVector(data, RDataFactory.INCOMPLETE_VECTOR); } - @Specialization(order = 39, guards = {"indNA", "!numDimensionsOne", "!isSubset"}) + @Specialization(guards = {"indNA", "!numDimensionsOne", "!isSubset"}) public int doLogicalNA(RAbstractContainer container, byte operand) { return RRuntime.INT_NA; } - @Specialization(order = 40, guards = {"indTrue", "isSubset"}) + @Specialization(guards = {"indTrue", "isSubset"}) public RIntVector doLogicalIndTrue(RAbstractContainer container, byte operand) { int dimLength = numDimensions == 1 ? container.getLength() : container.getDimensions()[dimension]; int[] data = new int[dimLength]; @@ -497,22 +497,22 @@ public abstract class ArrayPositionCast extends RNode { return RDataFactory.createIntVector(data, RDataFactory.COMPLETE_VECTOR); } - @Specialization(order = 41, guards = {"!indTrue", "!indNA", "isSubset"}) + @Specialization(guards = {"!indTrue", "!indNA", "isSubset"}) public int doLogicalIndFalse(VirtualFrame frame, RAbstractContainer container, byte operand) { return 0; } - @Specialization(order = 42, guards = {"!indNA", "!isSubset"}) + @Specialization(guards = {"!indNA", "!isSubset"}) public int doLogical(VirtualFrame frame, RAbstractContainer container, byte operand) { return (int) castInteger(frame, operand); } - @Specialization(order = 44) + @Specialization public RComplex doComplexValLengthZero(RAbstractContainer container, RComplex operand) { return operand; } - @Specialization(order = 45) + @Specialization public RRaw doRaw(RAbstractContainer container, RRaw operand) { return operand; } @@ -552,35 +552,35 @@ public abstract class ArrayPositionCast extends RNode { return RDataFactory.createIntVector(new int[]{position}, RDataFactory.COMPLETE_VECTOR, resNames); } - @Specialization(order = 48, guards = {"indNA", "!numDimensionsOne"}) + @Specialization(guards = {"indNA", "!numDimensionsOne"}) public Object doStringNA(VirtualFrame frame, RAbstractContainer container, String operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBSCRIPT_BOUNDS); } - @Specialization(order = 49, guards = {"indNA", "isAssignment", "numDimensionsOne"}) + @Specialization(guards = {"indNA", "isAssignment", "numDimensionsOne"}) public RIntVector doStringNANumDimsOneAssignment(VirtualFrame frame, RAbstractContainer container, String operand) { RStringVector resNames = RDataFactory.createStringVector(new String[]{operand}, RDataFactory.INCOMPLETE_VECTOR); return RDataFactory.createIntVector(new int[]{container.getLength() + 1}, RDataFactory.COMPLETE_VECTOR, resNames); } - @Specialization(order = 50, guards = {"indNA", "!isAssignment", "numDimensionsOne"}) + @Specialization(guards = {"indNA", "!isAssignment", "numDimensionsOne"}) public Object doStringNANumDimsOne(VirtualFrame frame, RAbstractContainer container, String operand) { return convertOperatorRecursive(frame, container, RRuntime.INT_NA); } - @Specialization(order = 51, guards = {"hasNames", "isAssignment", "numDimensionsOne"}) + @Specialization(guards = {"hasNames", "isAssignment", "numDimensionsOne"}) public RIntVector doStringOneDimNamesAssignment(RAbstractContainer container, String operand) { RStringVector names = (RStringVector) container.getNames(); return findPositionWithNames(container, names, operand); } - @Specialization(order = 52, guards = {"isSubset", "hasNames", "!isAssignment", "numDimensionsOne"}) + @Specialization(guards = {"isSubset", "hasNames", "!isAssignment", "numDimensionsOne"}) public Object doStringOneDimNamesSubset(VirtualFrame frame, RList vector, String operand) { RStringVector names = (RStringVector) vector.getNames(); return findPosition(frame, vector, names, operand); } - @Specialization(order = 53, guards = {"!isSubset", "hasNames", "!isAssignment", "numDimensionsOne"}) + @Specialization(guards = {"!isSubset", "hasNames", "!isAssignment", "numDimensionsOne"}) public Object doStringOneDimNames(VirtualFrame frame, RList vector, String operand) { // we need to return either an int or null - is there a prettier way to handle this? RStringVector names = (RStringVector) vector.getNames(); @@ -592,31 +592,31 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 54, guards = {"hasNames", "!isAssignment", "numDimensionsOne"}) + @Specialization(guards = {"hasNames", "!isAssignment", "numDimensionsOne"}) public int doStringOneDimNames(VirtualFrame frame, RAbstractContainer container, String operand) { RStringVector names = (RStringVector) container.getNames(); return findPosition(frame, container, names, operand); } - @Specialization(order = 55, guards = {"!hasNames", "isAssignment", "numDimensionsOne"}) + @Specialization(guards = {"!hasNames", "isAssignment", "numDimensionsOne"}) public RIntVector doStringOneDimAssignment(RAbstractContainer container, String operand) { return findPositionWithNames(container, null, operand); } - @Specialization(order = 56, guards = {"isAssignment", "numDimensionsOne"}) + @Specialization(guards = {"isAssignment", "numDimensionsOne"}) public RIntVector doStringOneDimAssignment(RNull vector, String operand) { RStringVector resNames = RDataFactory.createStringVector(new String[]{operand}, !RRuntime.isNA(operand)); return RDataFactory.createIntVector(new int[]{1}, RDataFactory.COMPLETE_VECTOR, resNames); } - @Specialization(order = 57, guards = {"hasDimNames", "!numDimensionsOne"}) + @Specialization(guards = {"hasDimNames", "!numDimensionsOne"}) public int doString(VirtualFrame frame, RAbstractContainer container, String operand) { RList dimNames = container.getDimNames(); Object names = dimNames.getDataAt(dimension); return findPosition(frame, container, names, operand); } - @Specialization(order = 58, guards = "isSubset") + @Specialization(guards = "isSubset") public int doStringNoNamesSubset(VirtualFrame frame, RList vector, String operand) { if (numDimensions == 1) { return RRuntime.INT_NA; @@ -625,7 +625,7 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 59, guards = "!isSubset") + @Specialization(guards = "!isSubset") public RNull doStringNoNames(VirtualFrame frame, RList vector, String operand) { if (numDimensions == 1) { return RNull.instance; @@ -634,7 +634,7 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 60) + @Specialization public int doStringNoNames(VirtualFrame frame, RAbstractContainer container, String operand) { if (isSubset) { if (numDimensions == 1) { @@ -647,69 +647,69 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 65, guards = {"!isSubset", "!opLengthZero", "!opLengthOne"}) + @Specialization(guards = {"!isSubset", "!opLengthZero", "!opLengthOne"}) public RAbstractIntVector doIntVectorOp(RAbstractContainer container, RAbstractIntVector operand) { // no transformation - if it's a list, then it's handled during recursive access, if // it's not then it's an error dependent on the value return operand; } - @Specialization(order = 66, guards = {"!isSubset", "opLengthZero"}) + @Specialization(guards = {"!isSubset", "opLengthZero"}) public RAbstractIntVector doIntVectorOp(VirtualFrame frame, RList vector, RAbstractVector operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); } - @Specialization(order = 67, guards = {"!isSubset", "!opLengthZero", "!opLengthOne"}) + @Specialization(guards = {"!isSubset", "!opLengthZero", "!opLengthOne"}) public RAbstractIntVector doIntVectorOp(VirtualFrame frame, RList vector, RAbstractDoubleVector operand) { return (RIntVector) castInteger(frame, operand); } - @Specialization(order = 68, guards = {"!isSubset", "!opLengthZero", "!opLengthOne"}) + @Specialization(guards = {"!isSubset", "!opLengthZero", "!opLengthOne"}) public RAbstractIntVector doIntVectorOp(VirtualFrame frame, RList vector, RAbstractLogicalVector operand) { return (RIntVector) castInteger(frame, operand); } - @Specialization(order = 70, guards = {"!isSubset", "opLengthZero"}) + @Specialization(guards = {"!isSubset", "opLengthZero"}) public int doIntEmptyOp(VirtualFrame frame, RAbstractContainer container, RAbstractVector operand) { return 0; } - @Specialization(order = 100, guards = "opLengthOne") + @Specialization(guards = "opLengthOne") public Object doIntVectorOpLengthOne(VirtualFrame frame, RAbstractContainer container, RAbstractIntVector operand) { return convertOperatorRecursive(frame, container, operand.getDataAt(0)); } - @Specialization(order = 101, guards = {"isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"isSubset", "!opLengthOne", "!opLengthZero"}) public RAbstractIntVector doIntVectorOpSubset(VirtualFrame frame, RAbstractContainer container, RAbstractIntVector operand) { return transformIntoPositive(frame, container, operand); } - @Specialization(order = 103, guards = {"isSubset", "opLengthZero"}) + @Specialization(guards = {"isSubset", "opLengthZero"}) public int doIntVectorFewManySelected(RAbstractContainer container, RAbstractIntVector operand) { return 0; } - @Specialization(order = 120, guards = "opLengthOne") + @Specialization(guards = "opLengthOne") public Object doDoubleVectorOpLengthOne(VirtualFrame frame, RAbstractContainer container, RAbstractDoubleVector operand) { return convertOperatorRecursive(frame, container, operand.getDataAt(0)); } - @Specialization(order = 121, guards = "!opLengthOne") + @Specialization(guards = "!opLengthOne") public Object doDoubleVector(VirtualFrame frame, RAbstractContainer container, RAbstractDoubleVector operand) { return convertOperatorRecursive(frame, container, castInteger(frame, operand)); } - @Specialization(order = 135, guards = "opLengthOne") + @Specialization(guards = "opLengthOne") public Object doLogicalVectorOpLengthOne(VirtualFrame frame, RAbstractContainer container, RAbstractLogicalVector operand) { return convertOperatorRecursive(frame, container, operand.getDataAt(0)); } - @Specialization(order = 136, guards = {"outOfBounds", "isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"outOfBounds", "isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doLogicalVectorOutOfBounds(VirtualFrame frame, RAbstractContainer container, RAbstractLogicalVector operand) { throw RError.error(frame, isSubset ? null : getEncapsulatingSourceSection(), RError.Message.LOGICAL_SUBSCRIPT_LONG); } - @Specialization(order = 137, guards = {"outOfBounds", "!isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"outOfBounds", "!isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doLogicalVectorOutOfBoundsTooManySelected(VirtualFrame frame, RAbstractContainer container, RAbstractLogicalVector operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } @@ -727,7 +727,7 @@ public abstract class ArrayPositionCast extends RNode { return data; } - @Specialization(order = 138, guards = {"!outOfBounds", "isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"!outOfBounds", "isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doLogicalVector(RAbstractContainer container, RAbstractLogicalVector operand) { int resultLength = numDimensions == 1 ? Math.max(operand.getLength(), container.getLength()) : container.getDimensions()[dimension]; int logicalVectorLength = operand.getLength(); @@ -766,7 +766,7 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 139, guards = {"!outOfBounds", "!isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"!outOfBounds", "!isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doLogicalVectorTooManySelected(VirtualFrame frame, RAbstractContainer container, RAbstractLogicalVector operand) { if (operand.getLength() == 2 && operand.getDataAt(0) == RRuntime.LOGICAL_FALSE) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -775,22 +775,22 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 140, guards = {"isSubset", "opLengthZero"}) + @Specialization(guards = {"isSubset", "opLengthZero"}) public int doDoubleVectorTooFewSelected(RAbstractContainer container, RAbstractLogicalVector operand) { return 0; } - @Specialization(order = 150, guards = "opLengthOne") + @Specialization(guards = "opLengthOne") public Object doComplexVectorOpLengthOne(VirtualFrame frame, RAbstractContainer container, RAbstractComplexVector operand) { return convertOperatorRecursive(frame, container, operand.getDataAt(0)); } - @Specialization(order = 151, guards = {"isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doComplexVectorSubset(VirtualFrame frame, RAbstractContainer container, RAbstractComplexVector operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "complex"); } - @Specialization(order = 152, guards = {"!isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"!isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doComplexVector(VirtualFrame frame, RAbstractContainer container, RAbstractComplexVector operand) { if (operand.getLength() == 2) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "complex"); @@ -799,22 +799,22 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 153, guards = {"isSubset", "opLengthZero"}) + @Specialization(guards = {"isSubset", "opLengthZero"}) public RIntVector doComplexVectoTooFewSelectedSubset(VirtualFrame frame, RAbstractContainer container, RAbstractComplexVector operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "complex"); } - @Specialization(order = 160, guards = "opLengthOne") + @Specialization(guards = "opLengthOne") public Object doRawVectorOpLengthOne(VirtualFrame frame, RAbstractContainer container, RAbstractRawVector operand) { return convertOperatorRecursive(frame, container, operand.getDataAt(0)); } - @Specialization(order = 161, guards = {"isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"isSubset", "!opLengthOne", "!opLengthZero"}) public RAbstractIntVector doRawVectorSubset(VirtualFrame frame, RAbstractContainer container, RAbstractRawVector operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "raw"); } - @Specialization(order = 162, guards = {"!isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"!isSubset", "!opLengthOne", "!opLengthZero"}) public RAbstractIntVector doRawVector(VirtualFrame frame, RAbstractContainer container, RAbstractRawVector operand) { if (operand.getLength() == 2) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "raw"); @@ -823,7 +823,7 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 163, guards = {"isSubset", "opLengthZero"}) + @Specialization(guards = {"isSubset", "opLengthZero"}) public RIntVector doRawVectorTooFewSelectedSubset(VirtualFrame frame, RAbstractContainer container, RAbstractRawVector operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "raw"); } @@ -901,29 +901,29 @@ public abstract class ArrayPositionCast extends RNode { return RDataFactory.createIntVector(data, RDataFactory.COMPLETE_VECTOR, resNames); } - @Specialization(order = 170, guards = "opLengthOne") + @Specialization(guards = "opLengthOne") public Object doStringlVectorOpLengthOne(VirtualFrame frame, RAbstractContainer container, RAbstractStringVector operand) { return convertOperatorRecursive(frame, container, operand.getDataAt(0)); } - @Specialization(order = 171, guards = {"hasNames", "isAssignment", "numDimensionsOne", "isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"hasNames", "isAssignment", "numDimensionsOne", "isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doStringVectorOneDimNamesAssignment(RAbstractContainer container, RAbstractStringVector operand) { RStringVector names = (RStringVector) container.getNames(); return findPositionsWithNames(container, names, operand, assignment); } - @Specialization(order = 172, guards = {"hasNames", "!isAssignment", "numDimensionsOne", "isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"hasNames", "!isAssignment", "numDimensionsOne", "isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doStringVectorOneDimNames(VirtualFrame frame, RAbstractContainer container, RAbstractStringVector operand) { RStringVector names = (RStringVector) container.getNames(); return findPositions(frame, container, names, operand, assignment); } - @Specialization(order = 173, guards = {"!hasNames", "isAssignment", "numDimensionsOne", "isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"!hasNames", "isAssignment", "numDimensionsOne", "isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doStringVectorOneDimAssignment(RAbstractContainer container, RAbstractStringVector operand) { return findPositionsWithNames(container, null, operand, assignment); } - @Specialization(order = 174, guards = {"isAssignment", "numDimensionsOne", "isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"isAssignment", "numDimensionsOne", "isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doStringVectorOneDimAssignment(VirtualFrame frame, RNull vector, RAbstractStringVector operand) { // we need to get rid of duplicates but retain all NAs int[] data = new int[operand.getLength()]; @@ -935,25 +935,25 @@ public abstract class ArrayPositionCast extends RNode { return RDataFactory.createIntVector(data, RDataFactory.COMPLETE_VECTOR, operand.materialize()); } - @Specialization(order = 175, guards = {"hasDimNames", "!numDimensionsOne", "isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"hasDimNames", "!numDimensionsOne", "isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doStringVector(VirtualFrame frame, RAbstractContainer container, RAbstractStringVector operand) { RList dimNames = container.getDimNames(); RStringVector names = (RStringVector) dimNames.getDataAt(dimension); return findPositions(frame, container, names, operand, false); } - @Specialization(order = 176, guards = {"!isSubset", "!opLengthOne", "!opLengthZero", "numDimensionsOne"}) + @Specialization(guards = {"!isSubset", "!opLengthOne", "!opLengthZero", "numDimensionsOne"}) public RAbstractStringVector doStringVectorTooManySelected(RList vector, RAbstractStringVector operand) { // for recursive access return operand; } - @Specialization(order = 177, guards = {"!isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"!isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doStringVectorTooManySelected(VirtualFrame frame, RAbstractContainer container, RAbstractStringVector operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } - @Specialization(order = 178, guards = {"isSubset", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"isSubset", "!opLengthOne", "!opLengthZero"}) public RIntVector doStringVectorNoDimNames(VirtualFrame frame, RAbstractContainer container, RAbstractStringVector operand) { if (numDimensions == 1) { int[] data = new int[operand.getLength()]; @@ -964,59 +964,59 @@ public abstract class ArrayPositionCast extends RNode { } } - @Specialization(order = 179, guards = "opLengthZero") + @Specialization(guards = "opLengthZero") public int doStringVectorTooFewSelected(RAbstractContainer container, RAbstractStringVector operand) { return 0; } - @Specialization(order = 200, guards = {"numDimensionsOne", "operandHasNames", "!opLengthOne", "!opLengthZero"}) + @Specialization(guards = {"numDimensionsOne", "operandHasNames", "!opLengthOne", "!opLengthZero"}) public RAbstractIntVector doMissingVector(RNull vector, RAbstractIntVector operand) { RIntVector resPositions = (RIntVector) operand.copy(); resPositions.setNames(null); return resPositions; } - @Specialization(order = 201, guards = {"numDimensionsOne", "operandHasNames", "opLengthZero"}) + @Specialization(guards = {"numDimensionsOne", "operandHasNames", "opLengthZero"}) public Object doMissingVectorOpLengthZero(VirtualFrame frame, RNull vector, RAbstractIntVector operand) { return castInteger(frame, operand); } - @Specialization(order = 202, guards = {"numDimensionsOne", "operandHasNames", "opLengthOne"}) + @Specialization(guards = {"numDimensionsOne", "operandHasNames", "opLengthOne"}) public Object doMissingVectorOpLengthOne(VirtualFrame frame, RNull vector, RAbstractIntVector operand) { return castInteger(frame, operand); } - @Specialization(order = 203, guards = {"numDimensionsOne", "!operandHasNames"}) + @Specialization(guards = {"numDimensionsOne", "!operandHasNames"}) public Object doMissingVectorNoNames(VirtualFrame frame, RNull vector, RAbstractIntVector operand) { return castInteger(frame, operand); } - @Specialization(order = 204, guards = "!numDimensionsOne") + @Specialization(guards = "!numDimensionsOne") public Object doMissingVectorDimGreaterThanOne(VirtualFrame frame, RNull vector, RAbstractIntVector operand) { return castInteger(frame, operand); } - @Specialization(order = 210) + @Specialization public Object doMissingVector(VirtualFrame frame, RNull vector, RAbstractDoubleVector operand) { return castInteger(frame, operand); } - @Specialization(order = 211) + @Specialization public Object doMissingVector(VirtualFrame frame, RNull vector, RAbstractLogicalVector operand) { return castInteger(frame, operand); } - @Specialization(order = 212) + @Specialization public Object doMissingVector(VirtualFrame frame, RNull vector, RAbstractComplexVector operand) { return castInteger(frame, operand); } - @Specialization(order = 213) + @Specialization public Object doMissingVector(VirtualFrame frame, RNull vector, RAbstractRawVector operand) { return castInteger(frame, operand); } - @Specialization(order = 300) + @Specialization public Object doFuncOp(RFunction vector, Object operand) { return operand; } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/CoerceBinaryNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/CoerceBinaryNode.java index 6de5a9f14f..5a7cab5ea7 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/CoerceBinaryNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/CoerceBinaryNode.java @@ -177,360 +177,360 @@ public abstract class CoerceBinaryNode extends RNode { // Left side is RNull - @Specialization(order = 0) + @Specialization public RNull access(VirtualFrame frame, RNull left, RNull right) { return left; } - @Specialization(order = 1) + @Specialization public RLogicalVector access(VirtualFrame frame, RNull left, byte right) { return doLogical(frame, RDataFactory.createEmptyLogicalVector(), right); } - @Specialization(order = 2) + @Specialization public RIntVector access(VirtualFrame frame, RNull left, int right) { return doInt(frame, RDataFactory.createEmptyIntVector(), right); } - @Specialization(order = 3) + @Specialization public RDoubleVector access(VirtualFrame frame, RNull left, double right) { return doDouble(frame, RDataFactory.createEmptyDoubleVector(), right); } - @Specialization(order = 4) + @Specialization public RComplexVector access(VirtualFrame frame, RNull left, RComplex right) { return doComplex(frame, RDataFactory.createEmptyComplexVector(), right); } - @Specialization(order = 5) + @Specialization public RStringVector access(VirtualFrame frame, RNull left, String right) { return doString(frame, RDataFactory.createEmptyStringVector(), right); } - @Specialization(order = 6) + @Specialization public RLogicalVector access(VirtualFrame frame, RNull left, RLogicalVector right) { return doLogical(frame, RDataFactory.createEmptyLogicalVector(), right); } - @Specialization(order = 7) + @Specialization public RIntVector access(VirtualFrame frame, RNull left, RIntVector right) { return doInt(frame, RDataFactory.createEmptyIntVector(), right); } - @Specialization(order = 8) + @Specialization public RDoubleVector access(VirtualFrame frame, RNull left, RDoubleVector right) { return doDouble(frame, RDataFactory.createEmptyDoubleVector(), right); } - @Specialization(order = 9) + @Specialization public RComplexVector access(VirtualFrame frame, RNull left, RComplexVector right) { return doComplex(frame, RDataFactory.createEmptyComplexVector(), right); } - @Specialization(order = 10) + @Specialization public RStringVector access(VirtualFrame frame, RNull left, RStringVector right) { return doString(frame, RDataFactory.createEmptyStringVector(), right); } // Left side is RLogicalVector - @Specialization(order = 100) + @Specialization public RLogicalVector access(VirtualFrame frame, RLogicalVector left, RNull right) { return doLogical(frame, left, RDataFactory.createEmptyLogicalVector()); } - @Specialization(order = 101) + @Specialization public RLogicalVector access(VirtualFrame frame, RLogicalVector left, byte right) { return doLogical(frame, left, right); } - @Specialization(order = 102) + @Specialization public RIntVector access(VirtualFrame frame, RLogicalVector left, int right) { leftNACheck.enable(left); return doInt(frame, RClosures.createLogicalToIntVector(left, leftNACheck).materialize(), right); } - @Specialization(order = 103) + @Specialization public RDoubleVector access(VirtualFrame frame, RLogicalVector left, double right) { leftNACheck.enable(left); return doDouble(frame, RClosures.createLogicalToDoubleVector(left, leftNACheck).materialize(), right); } - @Specialization(order = 104) + @Specialization public RComplexVector access(VirtualFrame frame, RLogicalVector left, RComplex right) { leftNACheck.enable(left); return doComplex(frame, RClosures.createLogicalToComplexVector(left, leftNACheck).materialize(), right); } - @Specialization(order = 105) + @Specialization public RStringVector access(VirtualFrame frame, RLogicalVector left, String right) { return doString(frame, left.toStringVector(), right); } - @Specialization(order = 106) + @Specialization public RLogicalVector access(VirtualFrame frame, RLogicalVector left, RLogicalVector right) { return doLogical(frame, left, right); } - @Specialization(order = 107) + @Specialization public RIntVector access(VirtualFrame frame, RLogicalVector left, RIntVector right) { leftNACheck.enable(left); return doInt(frame, RClosures.createLogicalToIntVector(left, leftNACheck).materialize(), right); } - @Specialization(order = 108) + @Specialization public RDoubleVector access(VirtualFrame frame, RLogicalVector left, RDoubleVector right) { leftNACheck.enable(left); return doDouble(frame, RClosures.createLogicalToDoubleVector(left, leftNACheck).materialize(), right); } - @Specialization(order = 109) + @Specialization public RComplexVector access(VirtualFrame frame, RLogicalVector left, RComplexVector right) { leftNACheck.enable(left); return doComplex(frame, RClosures.createLogicalToComplexVector(left, leftNACheck).materialize(), right); } - @Specialization(order = 110) + @Specialization public RStringVector access(VirtualFrame frame, RLogicalVector left, RStringVector right) { return doString(frame, left.toStringVector(), right); } // Left side is RIntVector - @Specialization(order = 200) + @Specialization public RIntVector access(VirtualFrame frame, RIntVector left, RNull right) { return doInt(frame, left, RDataFactory.createEmptyIntVector()); } - @Specialization(order = 201) + @Specialization public RIntVector access(VirtualFrame frame, RIntVector left, byte right) { return doInt(frame, left, rightNACheck.convertLogicalToInt(right)); } - @Specialization(order = 202) + @Specialization public RIntVector access(VirtualFrame frame, RIntVector left, int right) { return doInt(frame, left, right); } - @Specialization(order = 203) + @Specialization public RDoubleVector access(VirtualFrame frame, RIntVector left, double right) { return doDouble(frame, RClosures.createIntToDoubleVector(left, leftNACheck).materialize(), right); } - @Specialization(order = 204) + @Specialization public RComplexVector access(VirtualFrame frame, RIntVector left, RComplex right) { return doComplex(frame, RClosures.createIntToComplexVector(left, leftNACheck).materialize(), right); } - @Specialization(order = 205) + @Specialization public RStringVector access(VirtualFrame frame, RIntVector left, String right) { return doString(frame, left.toStringVector(), right); } - @Specialization(order = 206) + @Specialization public RIntVector access(VirtualFrame frame, RIntVector left, RLogicalVector right) { return doInt(frame, left, RClosures.createLogicalToIntVector(right, rightNACheck).materialize()); } - @Specialization(order = 207) + @Specialization public RIntVector access(VirtualFrame frame, RIntVector left, RIntVector right) { return doInt(frame, left, right); } - @Specialization(order = 208) + @Specialization public RDoubleVector access(VirtualFrame frame, RIntVector left, RDoubleVector right) { return doDouble(frame, RClosures.createIntToDoubleVector(left, leftNACheck).materialize(), right); } - @Specialization(order = 209) + @Specialization public RComplexVector access(VirtualFrame frame, RIntVector left, RComplexVector right) { return doComplex(frame, RClosures.createIntToComplexVector(left, leftNACheck).materialize(), right); } - @Specialization(order = 210) + @Specialization public RStringVector access(VirtualFrame frame, RIntVector left, RStringVector right) { return doString(frame, left.toStringVector(), right); } // Left side is RDoubleVector - @Specialization(order = 300) + @Specialization public RDoubleVector access(VirtualFrame frame, RDoubleVector left, RNull right) { return doDouble(frame, left, RDataFactory.createEmptyDoubleVector()); } - @Specialization(order = 301) + @Specialization public RDoubleVector access(VirtualFrame frame, RDoubleVector left, byte right) { return doDouble(frame, left, rightNACheck.convertLogicalToDouble(right)); } - @Specialization(order = 302) + @Specialization public RDoubleVector access(VirtualFrame frame, RDoubleVector left, int right) { return doDouble(frame, left, rightNACheck.convertIntToDouble(right)); } - @Specialization(order = 303) + @Specialization public RDoubleVector access(VirtualFrame frame, RDoubleVector left, double right) { return doDouble(frame, left, right); } - @Specialization(order = 304) + @Specialization public RComplexVector access(VirtualFrame frame, RDoubleVector left, RComplex right) { return doComplex(frame, RClosures.createDoubleToComplexVector(left, leftNACheck).materialize(), right); } - @Specialization(order = 305) + @Specialization public RStringVector access(VirtualFrame frame, RDoubleVector left, String right) { return doString(frame, left.toStringVector(), right); } - @Specialization(order = 306) + @Specialization public RDoubleVector access(VirtualFrame frame, RDoubleVector left, RLogicalVector right) { return doDouble(frame, left, RClosures.createLogicalToDoubleVector(right, rightNACheck).materialize()); } - @Specialization(order = 307) + @Specialization public RDoubleVector access(VirtualFrame frame, RDoubleVector left, RIntVector right) { return doDouble(frame, left, RClosures.createIntToDoubleVector(right, rightNACheck).materialize()); } - @Specialization(order = 308) + @Specialization public RDoubleVector access(VirtualFrame frame, RDoubleVector left, RDoubleVector right) { return doDouble(frame, left, right); } - @Specialization(order = 309) + @Specialization public RComplexVector access(VirtualFrame frame, RDoubleVector left, RComplexVector right) { return doComplex(frame, RClosures.createDoubleToComplexVector(left, leftNACheck).materialize(), right); } - @Specialization(order = 310) + @Specialization public RStringVector access(VirtualFrame frame, RDoubleVector left, RStringVector right) { return doString(frame, left.toStringVector(), right); } // Left side is RComplexVector - @Specialization(order = 400) + @Specialization public RComplexVector access(VirtualFrame frame, RComplexVector left, RNull right) { return doComplex(frame, left, RDataFactory.createEmptyComplexVector()); } - @Specialization(order = 401) + @Specialization public RComplexVector access(VirtualFrame frame, RComplexVector left, byte right) { return doComplex(frame, left, rightNACheck.convertLogicalToComplex(right)); } - @Specialization(order = 402) + @Specialization public RComplexVector access(VirtualFrame frame, RComplexVector left, int right) { return doComplex(frame, left, rightNACheck.convertIntToComplex(right)); } - @Specialization(order = 403) + @Specialization public RComplexVector access(VirtualFrame frame, RComplexVector left, double right) { return doComplex(frame, left, rightNACheck.convertDoubleToComplex(right)); } - @Specialization(order = 404) + @Specialization public RComplexVector access(VirtualFrame frame, RComplexVector left, RComplex right) { return doComplex(frame, left, right); } - @Specialization(order = 405) + @Specialization public RStringVector access(VirtualFrame frame, RComplexVector left, String right) { return doString(frame, left.toStringVector(), right); } - @Specialization(order = 406) + @Specialization public RComplexVector access(VirtualFrame frame, RComplexVector left, RLogicalVector right) { return doComplex(frame, left, RClosures.createLogicalToComplexVector(right, rightNACheck).materialize()); } - @Specialization(order = 407) + @Specialization public RComplexVector access(VirtualFrame frame, RComplexVector left, RIntVector right) { return doComplex(frame, left, RClosures.createIntToComplexVector(right, rightNACheck).materialize()); } - @Specialization(order = 408) + @Specialization public RComplexVector access(VirtualFrame frame, RComplexVector left, RDoubleVector right) { return doComplex(frame, left, RClosures.createDoubleToComplexVector(right, rightNACheck).materialize()); } - @Specialization(order = 409) + @Specialization public RComplexVector access(VirtualFrame frame, RComplexVector left, RComplexVector right) { return doComplex(frame, left, right); } - @Specialization(order = 410) + @Specialization public RStringVector access(VirtualFrame frame, RComplexVector left, RStringVector right) { return doString(frame, left.toStringVector(), right); } // Left side is RStringVector - @Specialization(order = 500) + @Specialization public RStringVector access(VirtualFrame frame, RStringVector left, RNull right) { return doString(frame, left, RDataFactory.createEmptyStringVector()); } - @Specialization(order = 501) + @Specialization public RStringVector access(VirtualFrame frame, RStringVector left, byte right) { return doString(frame, left, rightNACheck.convertLogicalToString(right)); } - @Specialization(order = 502) + @Specialization public RStringVector access(VirtualFrame frame, RStringVector left, int right) { return doString(frame, left, rightNACheck.convertIntToString(right)); } - @Specialization(order = 503) + @Specialization public RStringVector access(VirtualFrame frame, RStringVector left, double right) { return doString(frame, left, rightNACheck.convertDoubleToString(right)); } - @Specialization(order = 504) + @Specialization public RStringVector access(VirtualFrame frame, RStringVector left, RComplex right) { return doString(frame, left, rightNACheck.convertComplexToString(right)); } - @Specialization(order = 505) + @Specialization public RStringVector access(VirtualFrame frame, RStringVector left, String right) { return doString(frame, left.toStringVector(), right); } - @Specialization(order = 506) + @Specialization public RStringVector access(VirtualFrame frame, RStringVector left, RLogicalVector right) { return doString(frame, left, right.toStringVector()); } - @Specialization(order = 507) + @Specialization public RStringVector access(VirtualFrame frame, RStringVector left, RIntVector right) { return doString(frame, left, right.toStringVector()); } - @Specialization(order = 508) + @Specialization public RStringVector access(VirtualFrame frame, RStringVector left, RDoubleVector right) { return doString(frame, left, right.toStringVector()); } - @Specialization(order = 509) + @Specialization public RStringVector access(VirtualFrame frame, RStringVector left, RComplexVector right) { return doString(frame, left, right.toStringVector()); } - @Specialization(order = 510) + @Specialization public RStringVector access(VirtualFrame frame, RStringVector left, RStringVector right) { return doString(frame, left, right); } // left side is RList - @Specialization(order = 600) + @Specialization public RAbstractVector access(VirtualFrame frame, RList left, RAbstractVector right) { return doList(frame, left, right); } - @Specialization(order = 601) + @Specialization public RAbstractVector access(VirtualFrame frame, RList left, RNull right) { return doList(frame, left, right); } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/UpdateArrayHelperNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/UpdateArrayHelperNode.java index 2f9e7620b7..7df3ddc012 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/UpdateArrayHelperNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/UpdateArrayHelperNode.java @@ -167,7 +167,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return CastToContainerNodeFactory.create(child, false, false, false, true); } - @Specialization(order = 5, guards = "emptyValue") + @Specialization(guards = "emptyValue") RAbstractVector update(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, Object[] positions, RAbstractVector vector) { if (isSubset) { int replacementLength = getReplacementLength(frame, positions, value, false); @@ -178,12 +178,12 @@ public abstract class UpdateArrayHelperNode extends RNode { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); } - @Specialization(order = 7) + @Specialization RNull accessFunction(VirtualFrame frame, Object v, Object value, int recLevel, Object position, RFunction vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.OBJECT_NOT_SUBSETTABLE, "closure"); } - @Specialization(order = 8) + @Specialization RAbstractVector update(VirtualFrame frame, Object v, RNull value, int recLevel, Object[] positions, RList vector) { if (isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.NOT_MULTIPLE_REPLACEMENT); @@ -192,7 +192,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 9, guards = "isPosZero") + @Specialization(guards = "isPosZero") RAbstractVector updateNAOrZero(VirtualFrame frame, Object v, RNull value, int recLevel, int position, RList vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -201,7 +201,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 11) + @Specialization RAbstractVector update(VirtualFrame frame, Object v, RNull value, int recLevel, Object[] positions, RAbstractVector vector) { if (isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.NOT_MULTIPLE_REPLACEMENT); @@ -210,7 +210,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 12, guards = {"emptyValue", "isPosZero"}) + @Specialization(guards = {"emptyValue", "isPosZero"}) RAbstractVector updatePosZero(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -218,27 +218,27 @@ public abstract class UpdateArrayHelperNode extends RNode { return vector; } - @Specialization(order = 13, guards = {"emptyValue", "!isPosZero", "!isPosNA", "!isVectorList"}) + @Specialization(guards = {"emptyValue", "!isPosZero", "!isPosNA", "!isVectorList"}) RAbstractVector update(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); } - @Specialization(order = 14, guards = "!isVectorLongerThanOne") + @Specialization(guards = "!isVectorLongerThanOne") RAbstractVector updateVectorLongerThanOne(VirtualFrame frame, Object v, RNull value, int recLevel, RNull position, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); } - @Specialization(order = 15, guards = "isVectorLongerThanOne") + @Specialization(guards = "isVectorLongerThanOne") RAbstractVector update(VirtualFrame frame, Object v, RNull value, int recLevel, RNull position, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } - @Specialization(order = 16) + @Specialization RAbstractVector update(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RNull position, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } - @Specialization(order = 17, guards = {"isPosNA", "isValueLengthOne", "isVectorLongerThanOne"}) + @Specialization(guards = {"isPosNA", "isValueLengthOne", "isVectorLongerThanOne"}) RAbstractVector updateNAValueLengthOneLongVector(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); @@ -247,7 +247,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 18, guards = {"isPosNA", "isValueLengthOne", "!isVectorLongerThanOne"}) + @Specialization(guards = {"isPosNA", "isValueLengthOne", "!isVectorLongerThanOne"}) RAbstractVector updateNAValueLengthOne(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -256,7 +256,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 19, guards = {"isPosNA", "!isValueLengthOne"}) + @Specialization(guards = {"isPosNA", "!isValueLengthOne"}) RAbstractVector updateNA(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RAbstractVector vector) { if (isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.NA_SUBSCRIPTED); @@ -265,7 +265,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 20, guards = {"isPosZero", "isValueLengthOne"}) + @Specialization(guards = {"isPosZero", "isValueLengthOne"}) RAbstractVector updateZeroValueLengthOne(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -274,7 +274,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 21, guards = {"isPosZero", "!isValueLengthOne"}) + @Specialization(guards = {"isPosZero", "!isValueLengthOne"}) RAbstractVector updateZero(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -283,7 +283,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } -// @Specialization(order = 22, guards = "isPosZero") +// @Specialization(guards = "isPosZero") // RAbstractVector updateZero(VirtualFrame frame, Object v, RNull value, int recLevel, int position, // RAbstractVector vector) { // if (!isSubset) { @@ -388,17 +388,17 @@ public abstract class UpdateArrayHelperNode extends RNode { // null - @Specialization(order = 45) + @Specialization RNull updateWrongDimensions(Object v, RNull value, int recLevel, Object[] positions, RNull vector) { return vector; } - @Specialization(order = 46, guards = {"!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"!wrongDimensionsMatrix", "!wrongDimensions"}) RNull updateWrongDimensions(Object v, RAbstractVector value, int recLevel, Object[] positions, RNull vector) { return vector; } - @Specialization(order = 48, guards = "emptyValue") + @Specialization(guards = "emptyValue") RNull updatePosZero(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RNull vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -406,7 +406,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return vector; } - @Specialization(order = 49, guards = "emptyValue") + @Specialization(guards = "emptyValue") RNull updatePosZero(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RIntVector positions, RNull vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -414,7 +414,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return vector; } - @Specialization(order = 50, guards = "!emptyValue") + @Specialization(guards = "!emptyValue") RIntVector update(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RNull vector) { int highestPos = getHighestPos(positions); int[] data = new int[highestPos]; @@ -422,7 +422,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return updateSingleDimVector(frame, value, 0, RDataFactory.createIntVector(data, RDataFactory.INCOMPLETE_VECTOR), positions); } - @Specialization(order = 51, guards = {"!emptyValue", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!emptyValue", "!isPosNA", "!isPosZero"}) RIntVector update(Object v, RAbstractIntVector value, int recLevel, int position, RNull vector) { if (position > 1) { int[] data = new int[position]; @@ -433,7 +433,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 55, guards = "!emptyValue") + @Specialization(guards = "!emptyValue") RDoubleVector update(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, RIntVector positions, RNull vector) { int highestPos = getHighestPos(positions); double[] data = new double[highestPos]; @@ -441,7 +441,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return updateSingleDimVector(frame, value, 0, RDataFactory.createDoubleVector(data, RDataFactory.INCOMPLETE_VECTOR), positions); } - @Specialization(order = 56, guards = {"!emptyValue", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!emptyValue", "!isPosNA", "!isPosZero"}) RDoubleVector update(Object v, RAbstractDoubleVector value, int recLevel, int position, RNull vector) { if (position > 1) { double[] data = new double[position]; @@ -452,7 +452,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 60, guards = "!emptyValue") + @Specialization(guards = "!emptyValue") RLogicalVector update(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RNull vector) { int highestPos = getHighestPos(positions); byte[] data = new byte[highestPos]; @@ -460,7 +460,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return updateSingleDimVector(frame, value, 0, RDataFactory.createLogicalVector(data, RDataFactory.INCOMPLETE_VECTOR), positions); } - @Specialization(order = 61, guards = {"!emptyValue", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!emptyValue", "!isPosNA", "!isPosZero"}) RLogicalVector update(Object v, RAbstractLogicalVector value, int recLevel, int position, RNull vector) { if (position > 1) { byte[] data = new byte[position]; @@ -471,7 +471,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 65, guards = "!emptyValue") + @Specialization(guards = "!emptyValue") RStringVector update(VirtualFrame frame, Object v, RAbstractStringVector value, int recLevel, RIntVector positions, RNull vector) { int highestPos = getHighestPos(positions); String[] data = new String[highestPos]; @@ -479,7 +479,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return updateSingleDimVector(frame, value, 0, RDataFactory.createStringVector(data, RDataFactory.INCOMPLETE_VECTOR), positions); } - @Specialization(order = 66, guards = {"!emptyValue", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!emptyValue", "!isPosNA", "!isPosZero"}) RStringVector update(Object v, RAbstractStringVector value, int recLevel, int position, RNull vector) { if (position > 1) { String[] data = new String[position]; @@ -490,7 +490,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 70, guards = "!emptyValue") + @Specialization(guards = "!emptyValue") RComplexVector update(VirtualFrame frame, Object v, RAbstractComplexVector value, int recLevel, RIntVector positions, RNull vector) { int highestPos = getHighestPos(positions); double[] data = new double[highestPos << 1]; @@ -502,7 +502,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return updateSingleDimVector(frame, value, 0, RDataFactory.createComplexVector(data, RDataFactory.INCOMPLETE_VECTOR), positions); } - @Specialization(order = 71, guards = {"!emptyValue", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!emptyValue", "!isPosNA", "!isPosZero"}) RComplexVector update(VirtualFrame frame, Object v, RAbstractComplexVector value, int recLevel, int position, RNull vector) { if (position > 1) { double[] data = new double[position << 1]; @@ -517,47 +517,47 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 75, guards = "!emptyValue") + @Specialization(guards = "!emptyValue") RRawVector update(VirtualFrame frame, Object v, RAbstractRawVector value, int recLevel, RIntVector positions, RNull vector) { return updateSingleDimVector(frame, value, 0, RDataFactory.createRawVector(getHighestPos(positions)), positions); } - @Specialization(order = 76, guards = {"!emptyValue", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!emptyValue", "!isPosNA", "!isPosZero"}) RRawVector update(Object v, RAbstractRawVector value, int recLevel, int position, RNull vector) { return updateSingleDim(value, RDataFactory.createRawVector(position), position); } - @Specialization(order = 80, guards = {"!isPosNA", "isPositionNegative", "!isVectorList"}) + @Specialization(guards = {"!isPosNA", "isPositionNegative", "!isVectorList"}) RList updateNegativeNull(VirtualFrame frame, Object v, RNull value, int recLevel, int position, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); } - @Specialization(order = 81, guards = {"!isPosNA", "isPositionNegative", "!outOfBoundsNegative"}) + @Specialization(guards = {"!isPosNA", "isPositionNegative", "!outOfBoundsNegative"}) RList updateNegativeNull(VirtualFrame frame, Object v, RNull value, int recLevel, int position, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } - @Specialization(order = 82, guards = {"!isPosNA", "isPositionNegative", "outOfBoundsNegative", "oneElemVector"}) + @Specialization(guards = {"!isPosNA", "isPositionNegative", "outOfBoundsNegative", "oneElemVector"}) RList updateNegativeOutOfBoundsOneElemNull(VirtualFrame frame, Object v, RNull value, int recLevel, int position, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); } - @Specialization(order = 83, guards = {"!isPosNA", "isPositionNegative", "outOfBoundsNegative", "!oneElemVector"}) + @Specialization(guards = {"!isPosNA", "isPositionNegative", "outOfBoundsNegative", "!oneElemVector"}) RList updateNegativeOutOfBoundsNull(VirtualFrame frame, Object v, RNull value, int recLevel, int position, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } - @Specialization(order = 85, guards = {"!isPosNA", "isPositionNegative", "!outOfBoundsNegative"}) + @Specialization(guards = {"!isPosNA", "isPositionNegative", "!outOfBoundsNegative"}) RList updateNegative(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } - @Specialization(order = 86, guards = {"!isPosNA", "isPositionNegative", "outOfBoundsNegative", "oneElemVector"}) + @Specialization(guards = {"!isPosNA", "isPositionNegative", "outOfBoundsNegative", "oneElemVector"}) RList updateNegativeOneElem(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); } - @Specialization(order = 87, guards = {"!isPosNA", "isPositionNegative", "outOfBoundsNegative", "!oneElemVector"}) + @Specialization(guards = {"!isPosNA", "isPositionNegative", "outOfBoundsNegative", "!oneElemVector"}) RList updateOutOfBoundsNegative(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } @@ -710,60 +710,60 @@ public abstract class UpdateArrayHelperNode extends RNode { return resultList; } - @Specialization(order = 100, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RList update(VirtualFrame frame, Object v, RAbstractContainer value, int recLevel, Object[] positions, RList vector) { return updateVector(frame, value, vector, positions); } - @Specialization(order = 102) + @Specialization Object updateString(VirtualFrame frame, Object v, RNull value, int recLevel, RStringVector positions, RList vector) { return updateListRecursive(frame, v, value, vector, recLevel, positions); } - @Specialization(order = 103) + @Specialization Object updateString(VirtualFrame frame, Object v, RAbstractContainer value, int recLevel, RStringVector positions, RList vector) { return updateListRecursive(frame, v, value, vector, recLevel, positions); } - @Specialization(order = 105, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RList update(VirtualFrame frame, Object v, RAbstractContainer value, int recLevel, RIntVector positions, RList vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions), false), positions); } - @Specialization(order = 106, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateOne(VirtualFrame frame, Object v, RAbstractContainer value, int recLevel, RIntVector positions, RList vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 107, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RList updateNames(VirtualFrame frame, Object v, RAbstractContainer value, int recLevel, RIntVector positions, RList vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions), false), positions); } - @Specialization(order = 111, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero", "!isPositionNegative"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero", "!isPositionNegative"}) RList updateTooManyValuesSubset(Object v, RAbstractContainer value, int recLevel, int position, RList vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim(value, getResultVector(vector, position, false), position); } - @Specialization(order = 112, guards = {"isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero", "!isPositionNegative"}) + @Specialization(guards = {"isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero", "!isPositionNegative"}) RList update(Object v, RAbstractContainer value, int recLevel, int position, RList vector) { return updateSingleDim(value, getResultVector(vector, position, false), position); } - @Specialization(order = 113, guards = {"!isSubset", "!isPosNA", "!isPosZero", "!isPositionNegative"}) + @Specialization(guards = {"!isSubset", "!isPosNA", "!isPosZero", "!isPositionNegative"}) RList updateTooManyValuesSubscript(Object v, RAbstractContainer value, int recLevel, int position, RList vector) { RList resultVector = getResultVector(vector, position, false); resultVector.updateDataAt(position - 1, adjustRhsStateOnAssignment(value), null); return resultVector; } - @Specialization(order = 118, guards = "isPosNA") + @Specialization(guards = "isPosNA") RList updateListNullValue(Object v, RNull value, int recLevel, int position, RList vector) { return vector; } - @Specialization(order = 119, guards = {"!isPosZero", "emptyList", "!isPosNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPosZero", "emptyList", "!isPosNA", "!isPositionNegative"}) RList updateEmptyList(Object v, RNull value, int recLevel, int position, RList vector) { return vector; } @@ -809,19 +809,19 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 120, guards = {"!isPosZero", "!emptyList", "!isPosNA", "!isPositionNegative"}) + @Specialization(guards = {"!isPosZero", "!emptyList", "!isPosNA", "!isPositionNegative"}) RList update(Object v, RNull value, int recLevel, int position, RList vector) { return removeElement(vector, position, false, isSubset); } private static final Object DELETE_MARKER = new Object(); - @Specialization(order = 121, guards = {"isSubset", "noPosition"}) + @Specialization(guards = {"isSubset", "noPosition"}) RList updateEmptyPos(Object v, RNull value, int recLevel, RIntVector positions, RList vector) { return vector; } - @Specialization(order = 122, guards = {"isSubset", "!noPosition"}) + @Specialization(guards = {"isSubset", "!noPosition"}) RList update(VirtualFrame frame, Object v, RNull value, int recLevel, RIntVector positions, RList vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -911,53 +911,53 @@ public abstract class UpdateArrayHelperNode extends RNode { return resultList; } - @Specialization(order = 150, guards = {"!isSubset", "multiPos"}) + @Specialization(guards = {"!isSubset", "multiPos"}) Object access(VirtualFrame frame, Object v, RNull value, int recLevel, RIntVector p, RList vector) { return updateListRecursive(frame, v, value, vector, recLevel, p); } - @Specialization(order = 151, guards = {"!isSubset", "multiPos"}) + @Specialization(guards = {"!isSubset", "multiPos"}) Object access(VirtualFrame frame, Object v, RAbstractContainer value, int recLevel, RIntVector p, RList vector) { return updateListRecursive(frame, v, value, vector, recLevel, p); } - @Specialization(order = 160, guards = {"!isSubset", "inRecursion", "multiPos"}) + @Specialization(guards = {"!isSubset", "inRecursion", "multiPos"}) Object accessRecFailed(VirtualFrame frame, Object v, RAbstractContainer value, int recLevel, RIntVector p, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.RECURSIVE_INDEXING_FAILED, recLevel + 1); } - @Specialization(order = 170, guards = {"!isSubset", "!multiPos"}) + @Specialization(guards = {"!isSubset", "!multiPos"}) Object accessSubscriptListValue(VirtualFrame frame, Object v, RList value, int recLevel, RIntVector p, RList vector) { int position = getPositionInRecursion(frame, vector, p.getDataAt(0), recLevel, true); return updateSingleDimRec(frame, value, getResultVector(vector, position, false), p, recLevel); } - @Specialization(order = 171, guards = {"!isSubset", "inRecursion", "!multiPos"}) + @Specialization(guards = {"!isSubset", "inRecursion", "!multiPos"}) Object accessSubscriptNullValueInRecursion(VirtualFrame frame, Object v, RNull value, int recLevel, RIntVector p, RList vector) { int position = getPositionInRecursion(frame, vector, p.getDataAt(0), recLevel, true); return removeElement(vector, position, true, false); } - @Specialization(order = 172, guards = {"!isSubset", "!inRecursion", "!multiPos"}) + @Specialization(guards = {"!isSubset", "!inRecursion", "!multiPos"}) Object accessSubscriptNullValue(VirtualFrame frame, Object v, RNull value, int recLevel, RIntVector p, RList vector) { int position = getPositionInRecursion(frame, vector, p.getDataAt(0), recLevel, true); return removeElement(vector, position, false, false); } - @Specialization(order = 173, guards = {"!isSubset", "!multiPos"}) + @Specialization(guards = {"!isSubset", "!multiPos"}) Object accessSubscript(VirtualFrame frame, Object v, RAbstractContainer value, int recLevel, RIntVector p, RList vector) { int position = getPositionInRecursion(frame, vector, p.getDataAt(0), recLevel, true); return updateSingleDimRec(frame, value, getResultVector(vector, position, false), p, recLevel); } - @Specialization(order = 180, guards = {"!isValueLengthOne", "!emptyValue", "!isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "!emptyValue", "!isSubset", "!isPosNA", "!isPosZero"}) RAbstractVector updateTooManyValues(VirtualFrame frame, Object v, RAbstractContainer value, int recLevel, int position, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); } // null value (with vectors) - @Specialization(order = 185, guards = {"isPosZero", "!isVectorList"}) + @Specialization(guards = {"isPosZero", "!isVectorList"}) RAbstractVector updatePosZero(VirtualFrame frame, Object v, RNull value, int recLevel, int position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -965,7 +965,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return vector; } - @Specialization(order = 186, guards = {"!isPosZero", "!isPosNA", "!isVectorList"}) + @Specialization(guards = {"!isPosZero", "!isPosNA", "!isVectorList"}) RAbstractVector update(VirtualFrame frame, Object v, RNull value, int recLevel, int position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -974,37 +974,37 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 188, guards = {"isSubset", "!isVectorList", "noPosition"}) + @Specialization(guards = {"isSubset", "!isVectorList", "noPosition"}) RAbstractVector updateNullSubsetNoPos(Object v, RNull value, int recLevel, RIntVector positions, RAbstractVector vector) { return vector; } - @Specialization(order = 189, guards = {"isSubset", "!isVectorList", "!noPosition"}) + @Specialization(guards = {"isSubset", "!isVectorList", "!noPosition"}) RAbstractVector updateNullSubset(VirtualFrame frame, Object v, RNull value, int recLevel, RIntVector positions, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); } - @Specialization(order = 190, guards = {"!isSubset", "!isVectorList", "noPosition"}) + @Specialization(guards = {"!isSubset", "!isVectorList", "noPosition"}) RAbstractVector updateNullNoPos(VirtualFrame frame, Object v, RNull value, int recLevel, RIntVector positions, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); } - @Specialization(order = 191, guards = {"!isSubset", "!isVectorList", "onePosition"}) + @Specialization(guards = {"!isSubset", "!isVectorList", "onePosition"}) RAbstractVector updateNullOnePos(VirtualFrame frame, Object v, RNull value, int recLevel, RIntVector positions, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); } - @Specialization(order = 192, guards = {"!isSubset", "!isVectorList", "twoPositions", "firstPosZero"}) + @Specialization(guards = {"!isSubset", "!isVectorList", "twoPositions", "firstPosZero"}) RAbstractVector updateNullTwoElemsZero(VirtualFrame frame, Object v, RNull value, int recLevel, RIntVector positions, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); } - @Specialization(order = 193, guards = {"!isSubset", "!isVectorList", "twoPositions", "!firstPosZero"}) + @Specialization(guards = {"!isSubset", "!isVectorList", "twoPositions", "!firstPosZero"}) RAbstractVector updateNullTwoElems(VirtualFrame frame, Object v, RNull value, int recLevel, RIntVector positions, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } - @Specialization(order = 194, guards = {"!isSubset", "!isVectorList", "multiPos"}) + @Specialization(guards = {"!isSubset", "!isVectorList", "multiPos"}) RAbstractVector updateNull(VirtualFrame frame, Object v, RNull value, int recLevel, RIntVector positions, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } @@ -1123,89 +1123,89 @@ public abstract class UpdateArrayHelperNode extends RNode { return resultVector; } - @Specialization(order = 195, guards = {"!isSubset", "!isVectorList", "!posNames", "!twoPositions"}) + @Specialization(guards = {"!isSubset", "!isVectorList", "!posNames", "!twoPositions"}) Object update(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RIntVector positions, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } - @Specialization(order = 196, guards = {"!isSubset", "!isVectorList", "!posNames", "twoPositions", "firstPosZero"}) + @Specialization(guards = {"!isSubset", "!isVectorList", "!posNames", "twoPositions", "firstPosZero"}) RList updateTwoElemsZero(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RIntVector positions, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); } - @Specialization(order = 197, guards = {"!isSubset", "!isVectorList", "!posNames", "twoPositions", "!firstPosZero"}) + @Specialization(guards = {"!isSubset", "!isVectorList", "!posNames", "twoPositions", "!firstPosZero"}) RList updateTwoElems(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RIntVector positions, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } - @Specialization(order = 200, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RIntVector update(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, Object[] positions, RAbstractIntVector vector) { return updateVector(frame, value, vector, positions); } - @Specialization(order = 202, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RIntVector update(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, Object[] positions, RAbstractIntVector vector) { return updateVector(frame, (RIntVector) castInteger(frame, value), vector, positions); } - @Specialization(order = 220, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractIntVector updateSubset(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RAbstractIntVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 221, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RAbstractIntVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 222, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractIntVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RAbstractIntVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 223, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractIntVector update(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RAbstractIntVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 224, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RIntVector updateTooManyValuesSubset(Object v, RAbstractIntVector value, int recLevel, int position, RAbstractIntVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim(value, getResultVector(vector, position), position); } - @Specialization(order = 225, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RIntVector update(Object v, RAbstractIntVector value, int recLevel, int position, RAbstractIntVector vector) { return updateSingleDim(value, getResultVector(vector, position), position); } - @Specialization(order = 240, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractIntVector updateSubset(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RAbstractIntVector vector) { return updateSingleDimVector(frame, (RIntVector) castInteger(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 241, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RAbstractIntVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 242, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractIntVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RAbstractIntVector vector) { return updateSingleDimVector(frame, (RIntVector) castInteger(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 243, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractIntVector update(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RAbstractIntVector vector) { return updateSingleDimVector(frame, (RIntVector) castInteger(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 244, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RIntVector updateTooManyValuesSubset(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, int position, RAbstractIntVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim((RIntVector) castInteger(frame, value), getResultVector(vector, position), position); } - @Specialization(order = 245, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RIntVector update(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, int position, RAbstractIntVector vector) { return updateSingleDim((RIntVector) castInteger(frame, value), getResultVector(vector, position), position); } @@ -1288,110 +1288,110 @@ public abstract class UpdateArrayHelperNode extends RNode { return resultVector; } - @Specialization(order = 300, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RDoubleVector update(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, Object[] positions, RAbstractDoubleVector vector) { return updateVector(frame, (RDoubleVector) castDouble(frame, value), vector, positions); } - @Specialization(order = 301, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RDoubleVector update(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, Object[] positions, RAbstractDoubleVector vector) { return updateVector(frame, value, vector, positions); } - @Specialization(order = 302, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RDoubleVector update(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, Object[] positions, RAbstractDoubleVector vector) { return updateVector(frame, (RDoubleVector) castDouble(frame, value), vector, positions); } - @Specialization(order = 320, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractDoubleVector updateSubset(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RAbstractDoubleVector vector) { return updateSingleDimVector(frame, (RDoubleVector) castDouble(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 321, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RAbstractDoubleVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 322, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractDoubleVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RAbstractDoubleVector vector) { return updateSingleDimVector(frame, (RDoubleVector) castDouble(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 323, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractDoubleVector update(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RAbstractDoubleVector vector) { return updateSingleDimVector(frame, (RDoubleVector) castDouble(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 324, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RDoubleVector updateTooManyValuesSubset(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, int position, RAbstractDoubleVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim((RDoubleVector) castDouble(frame, value), getResultVector(vector, position), position); } - @Specialization(order = 325, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RDoubleVector update(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, int position, RAbstractDoubleVector vector) { return updateSingleDim((RDoubleVector) castDouble(frame, value), getResultVector(vector, position), position); } - @Specialization(order = 330, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractDoubleVector updateSubset(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, RIntVector positions, RAbstractDoubleVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 331, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, RIntVector positions, RAbstractDoubleVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 332, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractDoubleVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, RIntVector positions, RAbstractDoubleVector vector) { return updateSingleDimVector(frame, (RDoubleVector) castDouble(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 333, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractDoubleVector update(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, RIntVector positions, RAbstractDoubleVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 334, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RDoubleVector updateTooManyValuesSubset(Object v, RAbstractDoubleVector value, int recLevel, int position, RAbstractDoubleVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim(value, getResultVector(vector, position), position); } - @Specialization(order = 335, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RDoubleVector update(Object v, RAbstractDoubleVector value, int recLevel, int position, RAbstractDoubleVector vector) { return updateSingleDim(value, getResultVector(vector, position), position); } - @Specialization(order = 340, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractDoubleVector updateSubset(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RAbstractDoubleVector vector) { return updateSingleDimVector(frame, (RDoubleVector) castDouble(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 341, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RAbstractDoubleVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 342, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractDoubleVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RAbstractDoubleVector vector) { return updateSingleDimVector(frame, (RDoubleVector) castDouble(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 343, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractDoubleVector update(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RAbstractDoubleVector vector) { return updateSingleDimVector(frame, (RDoubleVector) castDouble(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 344, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RDoubleVector updateTooManyValuesSubset(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, int position, RAbstractDoubleVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim((RDoubleVector) castDouble(frame, value), getResultVector(vector, position), position); } - @Specialization(order = 345, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RDoubleVector update(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, int position, RAbstractDoubleVector vector) { return updateSingleDim((RDoubleVector) castDouble(frame, value), getResultVector(vector, position), position); } @@ -1471,38 +1471,38 @@ public abstract class UpdateArrayHelperNode extends RNode { return resultVector; } - @Specialization(order = 402, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RLogicalVector update(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, Object[] positions, RLogicalVector vector) { return updateVector(frame, value, vector, positions); } - @Specialization(order = 440, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractLogicalVector updateSubset(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RLogicalVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 441, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RLogicalVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 442, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractLogicalVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RLogicalVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 443, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractLogicalVector update(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RLogicalVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 444, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RLogicalVector updateTooManyValuesSubset(Object v, RAbstractLogicalVector value, int recLevel, int position, RLogicalVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim(value, getResultVector(vector, position), position); } - @Specialization(order = 445, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RLogicalVector update(Object v, RAbstractLogicalVector value, int recLevel, int position, RLogicalVector vector) { return updateSingleDim(value, getResultVector(vector, position), position); } @@ -1582,74 +1582,74 @@ public abstract class UpdateArrayHelperNode extends RNode { return resultVector; } - @Specialization(order = 503, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RStringVector update(VirtualFrame frame, Object v, RAbstractStringVector value, int recLevel, Object[] positions, RStringVector vector) { return updateVector(frame, value, vector, positions); } - @Specialization(order = 507, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RStringVector update(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, Object[] positions, RStringVector vector) { return updateVector(frame, (RStringVector) castString(frame, value), vector, positions); } - @Specialization(order = 550, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractStringVector updateSubset(VirtualFrame frame, Object v, RAbstractStringVector value, int recLevel, RIntVector positions, RStringVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 551, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractStringVector value, int recLevel, RIntVector positions, RStringVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 552, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractStringVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractStringVector value, int recLevel, RIntVector positions, RStringVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 553, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractStringVector update(VirtualFrame frame, Object v, RAbstractStringVector value, int recLevel, RIntVector positions, RStringVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 554, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RStringVector updateTooManyValuesSubset(Object v, RAbstractStringVector value, int recLevel, int position, RStringVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim(value, getResultVector(vector, position), position); } - @Specialization(order = 555, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RStringVector update(Object v, RAbstractStringVector value, int recLevel, int position, RStringVector vector) { return updateSingleDim(value, getResultVector(vector, position), position); } - @Specialization(order = 590, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractStringVector updateSubset(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RIntVector positions, RStringVector vector) { return updateSingleDimVector(frame, (RStringVector) castString(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 591, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RIntVector positions, RStringVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 592, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractStringVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RIntVector positions, RStringVector vector) { return updateSingleDimVector(frame, (RStringVector) castString(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 593, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractStringVector update(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RIntVector positions, RStringVector vector) { return updateSingleDimVector(frame, (RStringVector) castString(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 594, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RStringVector updateTooManyValuesSubset(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RStringVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim((RStringVector) castString(frame, value), getResultVector(vector, position), position); } - @Specialization(order = 595, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RStringVector update(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, int position, RStringVector vector) { return updateSingleDim((RStringVector) castString(frame, value), getResultVector(vector, position), position); } @@ -1729,146 +1729,146 @@ public abstract class UpdateArrayHelperNode extends RNode { return resultVector; } - @Specialization(order = 600, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RComplexVector update(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, Object[] positions, RComplexVector vector) { return updateVector(frame, (RComplexVector) castComplex(frame, value), vector, positions); } - @Specialization(order = 601, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RComplexVector update(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, Object[] positions, RComplexVector vector) { return updateVector(frame, (RComplexVector) castComplex(frame, value), vector, positions); } - @Specialization(order = 602, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RComplexVector update(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, Object[] positions, RComplexVector vector) { return updateVector(frame, (RComplexVector) castComplex(frame, value), vector, positions); } - @Specialization(order = 603, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RComplexVector update(VirtualFrame frame, Object v, RAbstractComplexVector value, int recLevel, Object[] positions, RComplexVector vector) { return updateVector(frame, value, vector, positions); } - @Specialization(order = 620, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractComplexVector updateSubset(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateSingleDimVector(frame, (RComplexVector) castComplex(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 621, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 622, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractComplexVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateSingleDimVector(frame, (RComplexVector) castComplex(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 623, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractComplexVector update(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateSingleDimVector(frame, (RComplexVector) castComplex(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 624, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RComplexVector updateTooManyValuesSubset(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, int position, RComplexVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim(frame, (RComplexVector) castComplex(frame, value), getResultVector(vector, position), position); } - @Specialization(order = 625, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RComplexVector update(VirtualFrame frame, Object v, RAbstractIntVector value, int recLevel, int position, RComplexVector vector) { return updateSingleDim(frame, (RComplexVector) castComplex(frame, value), getResultVector(vector, position), position); } - @Specialization(order = 630, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractComplexVector updateSubset(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateSingleDimVector(frame, (RComplexVector) castComplex(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 631, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 632, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractComplexVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateSingleDimVector(frame, (RComplexVector) castComplex(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 633, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractComplexVector update(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateSingleDimVector(frame, (RComplexVector) castComplex(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 634, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RComplexVector updateTooManyValuesSubset(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, int position, RComplexVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim(frame, (RComplexVector) castComplex(frame, value), getResultVector(vector, position), position); } - @Specialization(order = 635, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RComplexVector update(VirtualFrame frame, Object v, RAbstractDoubleVector value, int recLevel, int position, RComplexVector vector) { return updateSingleDim(frame, (RComplexVector) castComplex(frame, value), getResultVector(vector, position), position); } - @Specialization(order = 640, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractComplexVector updateSubset(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateSingleDimVector(frame, (RComplexVector) castComplex(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 641, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 642, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractComplexVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateSingleDimVector(frame, (RComplexVector) castComplex(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 643, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractComplexVector update(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateSingleDimVector(frame, (RComplexVector) castComplex(frame, value), vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 644, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RComplexVector updateTooManyValuesSubset(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, int position, RComplexVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim(frame, (RComplexVector) castComplex(frame, value), getResultVector(vector, position), position); } - @Specialization(order = 645, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RComplexVector update(VirtualFrame frame, Object v, RAbstractLogicalVector value, int recLevel, int position, RComplexVector vector) { return updateSingleDim(frame, (RComplexVector) castComplex(frame, value), getResultVector(vector, position), position); } - @Specialization(order = 650, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractComplexVector updateSubset(VirtualFrame frame, Object v, RAbstractComplexVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 651, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractComplexVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 652, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractComplexVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractComplexVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 653, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractComplexVector update(VirtualFrame frame, Object v, RAbstractComplexVector value, int recLevel, RIntVector positions, RComplexVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 654, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RComplexVector updateTooManyValuesSubset(VirtualFrame frame, Object v, RAbstractComplexVector value, int recLevel, int position, RComplexVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim(frame, value, getResultVector(vector, position), position); } - @Specialization(order = 655, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RComplexVector update(VirtualFrame frame, Object v, RAbstractComplexVector value, int recLevel, int position, RComplexVector vector) { return updateSingleDim(frame, value, getResultVector(vector, position), position); } @@ -1946,43 +1946,43 @@ public abstract class UpdateArrayHelperNode extends RNode { return resultVector; } - @Specialization(order = 706, guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) + @Specialization(guards = {"multiDim", "!wrongDimensionsMatrix", "!wrongDimensions"}) RRawVector update(VirtualFrame frame, Object v, RAbstractRawVector value, int recLevel, Object[] positions, RRawVector vector) { return updateVector(frame, value, vector, positions); } - @Specialization(order = 780, guards = {"isSubset", "!posNames", "multiPos"}) + @Specialization(guards = {"isSubset", "!posNames", "multiPos"}) RAbstractRawVector updateSubset(VirtualFrame frame, Object v, RAbstractRawVector value, int recLevel, RIntVector positions, RRawVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 781, guards = {"isSubset", "!posNames", "onePosition"}) + @Specialization(guards = {"isSubset", "!posNames", "onePosition"}) Object updateSubsetOne(VirtualFrame frame, Object v, RAbstractRawVector value, int recLevel, RIntVector positions, RRawVector vector) { return updateRecursive(frame, v, value, vector, positions.getDataAt(0), recLevel); } - @Specialization(order = 782, guards = {"isSubset", "posNames"}) + @Specialization(guards = {"isSubset", "posNames"}) RAbstractRawVector updateSubsetNames(VirtualFrame frame, Object v, RAbstractRawVector value, int recLevel, RIntVector positions, RRawVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 783, guards = {"!isSubset", "posNames"}) + @Specialization(guards = {"!isSubset", "posNames"}) RAbstractRawVector update(VirtualFrame frame, Object v, RAbstractRawVector value, int recLevel, RIntVector positions, RRawVector vector) { return updateSingleDimVector(frame, value, vector.getLength(), getResultVector(vector, getHighestPos(positions)), positions); } - @Specialization(order = 784, guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"!isValueLengthOne", "isSubset", "!isPosNA", "!isPosZero"}) RRawVector updateTooManyValuesSubset(Object v, RAbstractRawVector value, int recLevel, int position, RRawVector vector) { RError.warning(RError.Message.NOT_MULTIPLE_REPLACEMENT); return updateSingleDim(value, getResultVector(vector, position), position); } - @Specialization(order = 785, guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) + @Specialization(guards = {"isValueLengthOne", "!isPosNA", "!isPosZero"}) RRawVector update(Object v, RAbstractRawVector value, int recLevel, int position, RRawVector vector) { return updateSingleDim(value, getResultVector(vector, position), position); } - @Specialization(order = 1000, guards = {"noPosition", "emptyValue"}) + @Specialization(guards = {"noPosition", "emptyValue"}) Object accessListEmptyPosEmptyValueList(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RList vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -1991,7 +1991,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1001, guards = {"noPosition", "emptyValue", "!isVectorList"}) + @Specialization(guards = {"noPosition", "emptyValue", "!isVectorList"}) Object accessListEmptyPosEmptyValue(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -2000,7 +2000,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1002, guards = {"noPosition", "valueLengthOne"}) + @Specialization(guards = {"noPosition", "valueLengthOne"}) Object accessListEmptyPosValueLengthOne(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -2009,7 +2009,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1003, guards = {"noPosition", "valueLongerThanOne"}) + @Specialization(guards = {"noPosition", "valueLongerThanOne"}) Object accessListEmptyPosValueLongerThanOne(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2018,7 +2018,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1004, guards = "noPosition") + @Specialization(guards = "noPosition") Object accessListEmptyPosValueNullList(VirtualFrame frame, Object v, RNull value, int recLevel, RList positions, RList vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -2027,7 +2027,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1005, guards = {"noPosition", "!isVectorList"}) + @Specialization(guards = {"noPosition", "!isVectorList"}) Object accessListEmptyPosValueNull(VirtualFrame frame, Object v, RNull value, int recLevel, RList positions, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2036,12 +2036,12 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1010, guards = {"onePosition", "emptyValue"}) + @Specialization(guards = {"onePosition", "emptyValue"}) Object accessListOnePosEmptyValueList(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); } - @Specialization(order = 1011, guards = {"onePosition", "emptyValue", "!isVectorList"}) + @Specialization(guards = {"onePosition", "emptyValue", "!isVectorList"}) Object accessListOnePosEmptyValue(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -2050,12 +2050,12 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1012, guards = {"onePosition", "valueLengthOne"}) + @Specialization(guards = {"onePosition", "valueLengthOne"}) Object accessListOnePosValueLengthOne(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); } - @Specialization(order = 1013, guards = {"onePosition", "valueLongerThanOne"}) + @Specialization(guards = {"onePosition", "valueLongerThanOne"}) Object accessListOnePosValueLongerThanTwo(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2064,12 +2064,12 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1014, guards = "onePosition") + @Specialization(guards = "onePosition") Object accessListOnePosValueNullList(VirtualFrame frame, Object v, RNull value, int recLevel, RList positions, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); } - @Specialization(order = 1015, guards = {"onePosition", "!isVectorList"}) + @Specialization(guards = {"onePosition", "!isVectorList"}) Object accessListOnePosValueNull(VirtualFrame frame, Object v, RNull value, int recLevel, RList positions, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2078,22 +2078,22 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1020, guards = "twoPositions") + @Specialization(guards = "twoPositions") Object accessListTwoPos(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); } - @Specialization(order = 1021, guards = "twoPositions") + @Specialization(guards = "twoPositions") Object accessListTwoPosValueNull(VirtualFrame frame, Object v, RNull value, int recLevel, RList positions, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); } - @Specialization(order = 1030, guards = {"moreThanTwoPos", "emptyValue"}) + @Specialization(guards = {"moreThanTwoPos", "emptyValue"}) Object accessListMultiPosEmptyValueList(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); } - @Specialization(order = 1031, guards = {"moreThanTwoPos", "emptyValue", "!isVectorList"}) + @Specialization(guards = {"moreThanTwoPos", "emptyValue", "!isVectorList"}) Object accessListMultiPosEmptyValue(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); @@ -2102,12 +2102,12 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1032, guards = {"moreThanTwoPos", "valueLengthOne"}) + @Specialization(guards = {"moreThanTwoPos", "valueLengthOne"}) Object accessListMultiPosValueLengthOneList(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); } - @Specialization(order = 1033, guards = {"moreThanTwoPos", "valueLengthOne", "!isVectorList"}) + @Specialization(guards = {"moreThanTwoPos", "valueLengthOne", "!isVectorList"}) Object accessListMultiPosValueLengthOne(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); @@ -2116,7 +2116,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1034, guards = {"moreThanTwoPos", "valueLongerThanOne"}) + @Specialization(guards = {"moreThanTwoPos", "valueLongerThanOne"}) Object accessListMultiPos(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RList positions, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); @@ -2125,12 +2125,12 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1035, guards = "moreThanTwoPos") + @Specialization(guards = "moreThanTwoPos") Object accessListMultiPosValueNullList(VirtualFrame frame, Object v, RNull value, int recLevel, RList positions, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); } - @Specialization(order = 1036, guards = {"moreThanTwoPos", "!isVectorList"}) + @Specialization(guards = {"moreThanTwoPos", "!isVectorList"}) Object accessListMultiPosValueNull(VirtualFrame frame, Object v, RNull value, int recLevel, RList positions, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); @@ -2139,7 +2139,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1100, guards = {"emptyValue", "!isVectorList"}) + @Specialization(guards = {"emptyValue", "!isVectorList"}) Object accessComplexEmptyValue(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RComplex position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -2148,7 +2148,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1101, guards = {"valueLongerThanOne", "!isVectorList"}) + @Specialization(guards = {"valueLongerThanOne", "!isVectorList"}) Object accessComplexValueLongerThanOne(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RComplex position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2157,17 +2157,17 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1102, guards = {"!valueLongerThanOne", "!emptyValue", "!isVectorList"}) + @Specialization(guards = {"!valueLongerThanOne", "!emptyValue", "!isVectorList"}) Object accessComplex(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RComplex position, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "complex"); } - @Specialization(order = 1103) + @Specialization Object accessComplexList(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RComplex position, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "complex"); } - @Specialization(order = 1104, guards = "!isVectorList") + @Specialization(guards = "!isVectorList") Object accessComplex(VirtualFrame frame, Object v, RNull value, int recLevel, RComplex position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2176,12 +2176,12 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1105) + @Specialization Object accessComplexList(VirtualFrame frame, Object v, RNull value, int recLevel, RComplex position, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "complex"); } - @Specialization(order = 1200, guards = {"emptyValue", "!isVectorList"}) + @Specialization(guards = {"emptyValue", "!isVectorList"}) Object accessRawEmptyValue(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RRaw position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -2190,7 +2190,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1201, guards = {"valueLongerThanOne", "!isVectorList"}) + @Specialization(guards = {"valueLongerThanOne", "!isVectorList"}) Object accessRawValueLongerThanOne(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RRaw position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2199,17 +2199,17 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1202, guards = {"!valueLongerThanOne", "!emptyValue", "!isVectorList"}) + @Specialization(guards = {"!valueLongerThanOne", "!emptyValue", "!isVectorList"}) Object accessRaw(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RRaw position, RAbstractVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "raw"); } - @Specialization(order = 1203) + @Specialization Object accessRawList(VirtualFrame frame, Object v, RAbstractVector value, int recLevel, RRaw position, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "raw"); } - @Specialization(order = 1204, guards = "!isVectorList") + @Specialization(guards = "!isVectorList") Object accessRaw(VirtualFrame frame, Object v, RNull value, int recLevel, RRaw position, RAbstractVector vector) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2218,7 +2218,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 1205) + @Specialization Object accessRawList(VirtualFrame frame, Object v, RNull value, int recLevel, RRaw position, RList vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "raw"); } @@ -2474,7 +2474,7 @@ public abstract class UpdateArrayHelperNode extends RNode { this.isSubset = other.isSubset; } - @Specialization(order = 1) + @Specialization RList setData(VirtualFrame frame, RAbstractVector value, RList vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { int[] srcDimensions = vector.getDimensions(); RIntVector p = (RIntVector) positions[currentDimLevel - 1]; @@ -2506,7 +2506,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return vector; } - @Specialization(order = 2) + @Specialization RIntVector setData(VirtualFrame frame, RAbstractIntVector value, RIntVector vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { int[] srcDimensions = vector.getDimensions(); @@ -2539,7 +2539,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return vector; } - @Specialization(order = 3) + @Specialization RDoubleVector setData(VirtualFrame frame, RAbstractDoubleVector value, RDoubleVector vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { int[] srcDimensions = vector.getDimensions(); @@ -2572,7 +2572,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return vector; } - @Specialization(order = 4) + @Specialization RLogicalVector setData(VirtualFrame frame, RAbstractLogicalVector value, RLogicalVector vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { int[] srcDimensions = vector.getDimensions(); @@ -2605,7 +2605,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return vector; } - @Specialization(order = 5) + @Specialization RStringVector setData(VirtualFrame frame, RAbstractStringVector value, RStringVector vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { int[] srcDimensions = vector.getDimensions(); @@ -2638,7 +2638,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return vector; } - @Specialization(order = 6) + @Specialization RComplexVector setData(VirtualFrame frame, RAbstractComplexVector value, RComplexVector vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { int[] srcDimensions = vector.getDimensions(); @@ -2671,7 +2671,7 @@ public abstract class UpdateArrayHelperNode extends RNode { return vector; } - @Specialization(order = 7) + @Specialization RRawVector setData(VirtualFrame frame, RAbstractRawVector value, RRawVector vector, Object[] positions, int currentDimLevel, int srcArrayBase, int dstArrayBase, int accSrcDimensions, int accDstDimensions) { int[] srcDimensions = vector.getDimensions(); @@ -2739,17 +2739,17 @@ public abstract class UpdateArrayHelperNode extends RNode { this.isSubset = other.isSubset; } - @Specialization(order = 1, guards = {"!singlePosNegative", "!multiPos"}) + @Specialization(guards = {"!singlePosNegative", "!multiPos"}) public RAbstractIntVector doIntVector(RNull vector, RNull value, RAbstractIntVector positions) { return positions; } - @Specialization(order = 2, guards = {"!isPosVectorInt", "!multiPos"}) + @Specialization(guards = {"!isPosVectorInt", "!multiPos"}) public RAbstractVector doIntVector(RNull vector, RNull value, RAbstractVector positions) { return positions; } - @Specialization(order = 3, guards = {"!singlePosNegative", "multiPos"}) + @Specialization(guards = {"!singlePosNegative", "multiPos"}) public RAbstractIntVector doIntVectorMultiPos(VirtualFrame frame, RNull vector, RNull value, RAbstractIntVector positions) { if (isSubset) { return positions; @@ -2758,7 +2758,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 4, guards = {"!isPosVectorInt", "multiPos"}) + @Specialization(guards = {"!isPosVectorInt", "multiPos"}) public RAbstractVector doIntVectorMultiPos(VirtualFrame frame, RNull vector, RNull value, RAbstractVector positions) { if (isSubset) { return positions; @@ -2767,17 +2767,17 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 5, guards = {"!emptyValue", "!singlePosNegative", "!multiPos"}) + @Specialization(guards = {"!emptyValue", "!singlePosNegative", "!multiPos"}) public RAbstractIntVector doIntVector(RNull vector, RAbstractVector value, RAbstractIntVector positions) { return positions; } - @Specialization(order = 6, guards = {"!emptyValue", "!isPosVectorInt", "!multiPos"}) + @Specialization(guards = {"!emptyValue", "!isPosVectorInt", "!multiPos"}) public RAbstractVector doIntVector(RNull vector, RAbstractVector value, RAbstractVector positions) { return positions; } - @Specialization(order = 7, guards = {"!emptyValue", "!singlePosNegative", "multiPos"}) + @Specialization(guards = {"!emptyValue", "!singlePosNegative", "multiPos"}) public RAbstractIntVector doIntVectorMultiPos(VirtualFrame frame, RNull vector, RAbstractVector value, RAbstractIntVector positions) { if (isSubset) { return positions; @@ -2786,7 +2786,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 8, guards = {"!emptyValue", "!isPosVectorInt", "multiPos"}) + @Specialization(guards = {"!emptyValue", "!isPosVectorInt", "multiPos"}) public RAbstractVector doIntVectorMultiPos(VirtualFrame frame, RNull vector, RAbstractVector value, RAbstractVector positions) { if (isSubset) { return positions; @@ -2795,12 +2795,12 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 9, guards = {"!emptyValue", "singlePosNegative"}) + @Specialization(guards = {"!emptyValue", "singlePosNegative"}) public RAbstractIntVector doIntVectorNegative(VirtualFrame frame, RNull vector, RAbstractVector value, RAbstractIntVector positions) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); } - @Specialization(order = 10, guards = "emptyValue") + @Specialization(guards = "emptyValue") public RAbstractVector doIntVectorEmptyValue(VirtualFrame frame, RNull vector, RAbstractVector value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -2809,7 +2809,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 20, guards = {"emptyValue", "!isVectorList"}) + @Specialization(guards = {"emptyValue", "!isVectorList"}) Object accessComplexEmptyValue(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RComplex position) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -2818,7 +2818,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 21, guards = {"valueLongerThanOne", "!isVectorList"}) + @Specialization(guards = {"valueLongerThanOne", "!isVectorList"}) Object accessComplexValueLongerThanOne(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RComplex position) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2827,22 +2827,22 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 22, guards = {"!valueLongerThanOne", "!emptyValue", "!isVectorList"}) + @Specialization(guards = {"!valueLongerThanOne", "!emptyValue", "!isVectorList"}) Object accessComplex(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RComplex position) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "complex"); } - @Specialization(order = 23) + @Specialization Object accessComplexList(VirtualFrame frame, RList vector, RAbstractVector value, RComplex position) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "complex"); } - @Specialization(order = 24) + @Specialization Object accessComplexList(VirtualFrame frame, RList vector, RNull value, RComplex position) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "complex"); } - @Specialization(order = 25, guards = "!isVectorList") + @Specialization(guards = "!isVectorList") Object accessComplex(VirtualFrame frame, RAbstractVector vector, RNull value, RComplex position) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2851,7 +2851,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 30, guards = {"emptyValue", "!isVectorList"}) + @Specialization(guards = {"emptyValue", "!isVectorList"}) Object accessRawEmptyValue(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RRaw position) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -2860,7 +2860,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 31, guards = {"valueLongerThanOne", "!isVectorList"}) + @Specialization(guards = {"valueLongerThanOne", "!isVectorList"}) Object accessRawValueLongerThanOne(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RRaw position) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2869,22 +2869,22 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 32, guards = {"!valueLongerThanOne", "!emptyValue", "!isVectorList"}) + @Specialization(guards = {"!valueLongerThanOne", "!emptyValue", "!isVectorList"}) Object accessRaw(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RRaw position) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "raw"); } - @Specialization(order = 33) + @Specialization Object accessRawList(VirtualFrame frame, RList vector, RAbstractVector value, RRaw position) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "raw"); } - @Specialization(order = 34) + @Specialization Object accessRawList(VirtualFrame frame, RList vector, RNull value, RRaw position) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "raw"); } - @Specialization(order = 35, guards = "!isVectorList") + @Specialization(guards = "!isVectorList") Object accessRaw(VirtualFrame frame, RAbstractVector vector, RNull value, RRaw position) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2893,7 +2893,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 100, guards = {"noPosition", "emptyValue"}) + @Specialization(guards = {"noPosition", "emptyValue"}) RAbstractVector accessListEmptyPosEmptyValueList(VirtualFrame frame, RList vector, RAbstractVector value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -2904,7 +2904,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 101, guards = {"noPosition", "emptyValue", "!isVectorList"}) + @Specialization(guards = {"noPosition", "emptyValue", "!isVectorList"}) RAbstractVector accessListEmptyPosEmptyValue(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -2915,7 +2915,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 102, guards = {"noPosition", "valueLengthOne"}) + @Specialization(guards = {"noPosition", "valueLengthOne"}) RAbstractVector accessListEmptyPosValueLengthOne(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -2926,7 +2926,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 103, guards = {"noPosition", "valueLongerThanOne"}) + @Specialization(guards = {"noPosition", "valueLongerThanOne"}) RAbstractVector accessListEmptyPosValueLongerThanOneList(VirtualFrame frame, RList vector, RAbstractVector value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -2937,7 +2937,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 104, guards = {"noPosition", "valueLongerThanOne", "!isVectorList"}) + @Specialization(guards = {"noPosition", "valueLongerThanOne", "!isVectorList"}) RAbstractVector accessListEmptyPosValueLongerThanOne(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2948,7 +2948,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 105, guards = "noPosition") + @Specialization(guards = "noPosition") RAbstractVector accessListEmptyPosEmptyValueList(VirtualFrame frame, RList vector, RNull value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -2959,7 +2959,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 106, guards = {"noPosition", "!isVectorList"}) + @Specialization(guards = {"noPosition", "!isVectorList"}) RAbstractVector accessListEmptyPosEmptyValue(VirtualFrame frame, RAbstractVector vector, RNull value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -2970,7 +2970,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 110, guards = {"onePosition", "emptyValue", "!isPosVectorInt"}) + @Specialization(guards = {"onePosition", "emptyValue", "!isPosVectorInt"}) RAbstractVector accessListOnePosEmptyValueList(VirtualFrame frame, RList vector, RAbstractVector value, RAbstractVector positions) { if (positions.getElementClass() == Object.class) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); @@ -2979,7 +2979,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 111, guards = {"onePosition", "emptyValue", "!firstPosZero"}) + @Specialization(guards = {"onePosition", "emptyValue", "!firstPosZero"}) RAbstractVector accessListOnePosEmptyValueList(VirtualFrame frame, RList vector, RAbstractVector value, RAbstractIntVector positions) { if (positions.getElementClass() == Object.class) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); @@ -2988,7 +2988,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 112, guards = {"onePosition", "emptyValue", "firstPosZero"}) + @Specialization(guards = {"onePosition", "emptyValue", "firstPosZero"}) RAbstractVector accessListOnePosZeroEmptyValueList(VirtualFrame frame, RList vector, RAbstractVector value, RAbstractIntVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -2997,7 +2997,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 113, guards = {"onePosition", "emptyValue", "!isVectorList", "!isPosVectorInt"}) + @Specialization(guards = {"onePosition", "emptyValue", "!isVectorList", "!isPosVectorInt"}) RAbstractVector accessListOnePosEmptyValue(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -3008,7 +3008,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 114, guards = {"onePosition", "emptyValue", "!isVectorList", "!firstPosZero"}) + @Specialization(guards = {"onePosition", "emptyValue", "!isVectorList", "!firstPosZero"}) RAbstractVector accessListOnePosEmptyValue(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractIntVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -3017,7 +3017,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 115, guards = {"onePosition", "emptyValue", "!isVectorList", "firstPosZero"}) + @Specialization(guards = {"onePosition", "emptyValue", "!isVectorList", "firstPosZero"}) RAbstractVector accessListOnePosZeroEmptyValue(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractIntVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -3026,7 +3026,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 116, guards = {"onePosition", "valueLengthOne", "!isPosVectorInt"}) + @Specialization(guards = {"onePosition", "valueLengthOne", "!isPosVectorInt"}) RAbstractVector accessListOnePosValueLengthOne(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractVector positions) { if (positions.getElementClass() == Object.class) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); @@ -3035,12 +3035,12 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 117, guards = {"onePosition", "valueLengthOne", "!firstPosZero"}) + @Specialization(guards = {"onePosition", "valueLengthOne", "!firstPosZero"}) RAbstractVector accessListOnePosValueLengthOne(RAbstractVector vector, RAbstractVector value, RAbstractIntVector positions) { return positions; } - @Specialization(order = 118, guards = {"onePosition", "valueLengthOne", "firstPosZero"}) + @Specialization(guards = {"onePosition", "valueLengthOne", "firstPosZero"}) RAbstractVector accessListOnePosZeroValueLengthOne(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractIntVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -3049,7 +3049,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 119, guards = {"onePosition", "valueLongerThanOne", "!isPosVectorInt"}) + @Specialization(guards = {"onePosition", "valueLongerThanOne", "!isPosVectorInt"}) RAbstractVector accessListOnePosValueLongerThanOneList(VirtualFrame frame, RList vector, RAbstractVector value, RAbstractVector positions) { if (positions.getElementClass() == Object.class) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); @@ -3058,7 +3058,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 120, guards = {"onePosition", "valueLongerThanOne", "!firstPosZero"}) + @Specialization(guards = {"onePosition", "valueLongerThanOne", "!firstPosZero"}) RAbstractVector accessListOnePosValueLongerThanOneList(VirtualFrame frame, RList vector, RAbstractVector value, RAbstractIntVector positions) { if (positions.getElementClass() == Object.class) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); @@ -3067,7 +3067,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 121, guards = {"onePosition", "valueLongerThanOne", "firstPosZero"}) + @Specialization(guards = {"onePosition", "valueLongerThanOne", "firstPosZero"}) RAbstractVector accessListOnePosZeroValueLongerThanOneList(VirtualFrame frame, RList vector, RAbstractVector value, RAbstractIntVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -3076,7 +3076,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 122, guards = {"onePosition", "valueLongerThanOne", "!isVectorList", "!isPosVectorInt"}) + @Specialization(guards = {"onePosition", "valueLongerThanOne", "!isVectorList", "!isPosVectorInt"}) RAbstractVector accessListOnePosValueLongerThanOne(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -3087,7 +3087,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 123, guards = {"onePosition", "valueLongerThanOne", "!isVectorList", "!firstPosZero"}) + @Specialization(guards = {"onePosition", "valueLongerThanOne", "!isVectorList", "!firstPosZero"}) RAbstractVector accessListOnePosValueLongerThanOne(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractIntVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -3096,7 +3096,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 124, guards = {"onePosition", "valueLongerThanOne", "!isVectorList", "firstPosZero"}) + @Specialization(guards = {"onePosition", "valueLongerThanOne", "!isVectorList", "firstPosZero"}) RAbstractVector accessListOnePosZeroValueLongerThanOne(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractIntVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -3105,7 +3105,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 125, guards = {"onePosition", "!isPosVectorInt"}) + @Specialization(guards = {"onePosition", "!isPosVectorInt"}) RAbstractVector accessListOnePosEmptyValueList(VirtualFrame frame, RList vector, RNull value, RAbstractVector positions) { if (positions.getElementClass() == Object.class) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); @@ -3114,7 +3114,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 126, guards = {"onePosition", "!firstPosZero"}) + @Specialization(guards = {"onePosition", "!firstPosZero"}) RAbstractVector accessListOnePosEmptyValueList(VirtualFrame frame, RList vector, RNull value, RAbstractIntVector positions) { if (positions.getElementClass() == Object.class) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_SUBSCRIPT_TYPE, "list"); @@ -3123,7 +3123,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 127, guards = {"onePosition", "firstPosZero"}) + @Specialization(guards = {"onePosition", "firstPosZero"}) RAbstractVector accessListOnePosZeroEmptyValueList(VirtualFrame frame, RList vector, RNull value, RAbstractIntVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_LESS_1); @@ -3132,7 +3132,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 128, guards = {"onePosition", "!isVectorList", "!isPosVectorInt"}) + @Specialization(guards = {"onePosition", "!isVectorList", "!isPosVectorInt"}) RAbstractVector accessListOnePosValueLongerThanOne(VirtualFrame frame, RAbstractVector vector, RNull value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -3143,7 +3143,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 129, guards = {"onePosition", "!isVectorList", "!firstPosZero"}) + @Specialization(guards = {"onePosition", "!isVectorList", "!firstPosZero"}) RAbstractVector accessListOnePosValueLongerThanOne(VirtualFrame frame, RAbstractVector vector, RNull value, RAbstractIntVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -3152,7 +3152,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 130, guards = {"onePosition", "!isVectorList", "firstPosZero"}) + @Specialization(guards = {"onePosition", "!isVectorList", "firstPosZero"}) RAbstractVector accessListOnePosZeroValueLongerThanOne(VirtualFrame frame, RAbstractVector vector, RNull value, RAbstractIntVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -3161,7 +3161,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 140, guards = "multiPos") + @Specialization(guards = "multiPos") RAbstractVector accessListTwoPosEmptyValueList(VirtualFrame frame, RList vector, RAbstractVector value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); @@ -3172,7 +3172,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 141, guards = {"multiPos", "emptyValue", "!isVectorList"}) + @Specialization(guards = {"multiPos", "emptyValue", "!isVectorList"}) RAbstractVector accessListTwoPosEmptyValue(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.REPLACEMENT_0); @@ -3183,7 +3183,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 142, guards = {"multiPos", "valueLengthOne", "!isVectorList"}) + @Specialization(guards = {"multiPos", "valueLengthOne", "!isVectorList"}) RAbstractVector accessListTwoPosValueLengthOne(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); @@ -3194,7 +3194,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 143, guards = {"multiPos", "valueLongerThanOne", "!isVectorList"}) + @Specialization(guards = {"multiPos", "valueLongerThanOne", "!isVectorList"}) RAbstractVector accessListTwoPosValueLongerThanOne(VirtualFrame frame, RAbstractVector vector, RAbstractVector value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -3205,7 +3205,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 144, guards = "multiPos") + @Specialization(guards = "multiPos") RAbstractVector accessListTwoPosEmptyValueList(VirtualFrame frame, RList vector, RNull value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SELECT_MORE_1); @@ -3216,7 +3216,7 @@ public abstract class UpdateArrayHelperNode extends RNode { } } - @Specialization(order = 145, guards = {"multiPos", "!isVectorList"}) + @Specialization(guards = {"multiPos", "!isVectorList"}) RAbstractVector accessListTwoPosValueLongerThanOne(VirtualFrame frame, RAbstractVector vector, RNull value, RAbstractVector positions) { if (!isSubset) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.MORE_SUPPLIED_REPLACE); @@ -3390,257 +3390,257 @@ public abstract class UpdateArrayHelperNode extends RNode { return castList.executeCast(frame, vector); } - @Specialization(order = 10) + @Specialization RFunction coerce(VirtualFrame frame, Object value, RFunction vector, Object operand) { return vector; } // int vector value - @Specialization(order = 100) + @Specialization RAbstractIntVector coerce(VirtualFrame frame, RAbstractIntVector value, RAbstractIntVector vector, Object operand) { return vector; } - @Specialization(order = 101) + @Specialization RAbstractDoubleVector coerce(VirtualFrame frame, RAbstractIntVector value, RAbstractDoubleVector vector, Object operand) { return vector; } - @Specialization(order = 102) + @Specialization RAbstractIntVector coerce(VirtualFrame frame, RAbstractIntVector value, RAbstractLogicalVector vector, Object operand) { return (RIntVector) castInteger(frame, vector); } - @Specialization(order = 103) + @Specialization RAbstractStringVector coerce(VirtualFrame frame, RAbstractIntVector value, RAbstractStringVector vector, Object operand) { return vector; } - @Specialization(order = 104) + @Specialization RAbstractComplexVector coerce(VirtualFrame frame, RAbstractIntVector value, RAbstractComplexVector vector, Object operand) { return vector; } - @Specialization(order = 105) + @Specialization RIntVector coerce(VirtualFrame frame, RAbstractIntVector value, RAbstractRawVector vector, Object operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBASSIGN_TYPE_FIX, "integer", "raw"); } - @Specialization(order = 107) + @Specialization RList coerce(VirtualFrame frame, RAbstractIntVector value, RList vector, Object operand) { return vector; } // double vector value - @Specialization(order = 200) + @Specialization RDoubleVector coerce(VirtualFrame frame, RAbstractDoubleVector value, RAbstractIntVector vector, Object operand) { return (RDoubleVector) castDouble(frame, vector); } - @Specialization(order = 201) + @Specialization RAbstractDoubleVector coerce(VirtualFrame frame, RAbstractDoubleVector value, RAbstractDoubleVector vector, Object operand) { return vector; } - @Specialization(order = 202) + @Specialization RDoubleVector coerce(VirtualFrame frame, RAbstractDoubleVector value, RAbstractLogicalVector vector, Object operand) { return (RDoubleVector) castDouble(frame, vector); } - @Specialization(order = 203) + @Specialization RAbstractStringVector coerce(VirtualFrame frame, RAbstractDoubleVector value, RAbstractStringVector vector, Object operand) { return vector; } - @Specialization(order = 204) + @Specialization RAbstractComplexVector coerce(VirtualFrame frame, RAbstractDoubleVector value, RAbstractComplexVector vector, Object operand) { return vector; } - @Specialization(order = 205) + @Specialization RDoubleVector coerce(VirtualFrame frame, RAbstractDoubleVector value, RAbstractRawVector vector, Object operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBASSIGN_TYPE_FIX, "double", "raw"); } - @Specialization(order = 207) + @Specialization RList coerce(VirtualFrame frame, RAbstractDoubleVector value, RList vector, Object operand) { return vector; } // logical vector value - @Specialization(order = 300) + @Specialization RAbstractIntVector coerce(VirtualFrame frame, RAbstractLogicalVector value, RAbstractIntVector vector, Object operand) { return vector; } - @Specialization(order = 301) + @Specialization RAbstractDoubleVector coerce(VirtualFrame frame, RAbstractLogicalVector value, RAbstractDoubleVector vector, Object operand) { return vector; } - @Specialization(order = 302) + @Specialization RAbstractLogicalVector coerce(VirtualFrame frame, RAbstractLogicalVector value, RAbstractLogicalVector vector, Object operand) { return vector; } - @Specialization(order = 303) + @Specialization RAbstractStringVector coerce(VirtualFrame frame, RAbstractLogicalVector value, RAbstractStringVector vector, Object operand) { return vector; } - @Specialization(order = 304) + @Specialization RAbstractComplexVector coerce(VirtualFrame frame, RAbstractLogicalVector value, RAbstractComplexVector vector, Object operand) { return vector; } - @Specialization(order = 305) + @Specialization RLogicalVector coerce(VirtualFrame frame, RAbstractLogicalVector value, RAbstractRawVector vector, Object operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBASSIGN_TYPE_FIX, "logical", "raw"); } - @Specialization(order = 307) + @Specialization RList coerce(VirtualFrame frame, RAbstractLogicalVector value, RList vector, Object operand) { return vector; } // string vector value - @Specialization(order = 400) + @Specialization RStringVector coerce(VirtualFrame frame, RAbstractStringVector value, RAbstractIntVector vector, Object operand) { return (RStringVector) castString(frame, vector); } - @Specialization(order = 401) + @Specialization RStringVector coerce(VirtualFrame frame, RAbstractStringVector value, RAbstractDoubleVector vector, Object operand) { return (RStringVector) castString(frame, vector); } - @Specialization(order = 402) + @Specialization RStringVector coerce(VirtualFrame frame, RAbstractStringVector value, RAbstractLogicalVector vector, Object operand) { return (RStringVector) castString(frame, vector); } - @Specialization(order = 403) + @Specialization RAbstractStringVector coerce(VirtualFrame frame, RAbstractStringVector value, RAbstractStringVector vector, Object operand) { return vector; } - @Specialization(order = 404) + @Specialization RStringVector coerce(VirtualFrame frame, RAbstractStringVector value, RAbstractComplexVector vector, Object operand) { return (RStringVector) castString(frame, vector); } - @Specialization(order = 405) + @Specialization RStringVector coerce(VirtualFrame frame, RAbstractStringVector value, RAbstractRawVector vector, Object operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBASSIGN_TYPE_FIX, "character", "raw"); } - @Specialization(order = 407) + @Specialization RList coerce(VirtualFrame frame, RAbstractStringVector value, RList vector, Object operand) { return vector; } // complex vector value - @Specialization(order = 500) + @Specialization RComplexVector coerce(VirtualFrame frame, RAbstractComplexVector value, RAbstractIntVector vector, Object operand) { return (RComplexVector) castComplex(frame, vector); } - @Specialization(order = 501) + @Specialization RComplexVector coerce(VirtualFrame frame, RAbstractComplexVector value, RAbstractDoubleVector vector, Object operand) { return (RComplexVector) castComplex(frame, vector); } - @Specialization(order = 502) + @Specialization RComplexVector coerce(VirtualFrame frame, RAbstractComplexVector value, RAbstractLogicalVector vector, Object operand) { return (RComplexVector) castComplex(frame, vector); } - @Specialization(order = 503) + @Specialization RAbstractStringVector coerce(VirtualFrame frame, RAbstractComplexVector value, RAbstractStringVector vector, Object operand) { return vector; } - @Specialization(order = 504) + @Specialization RAbstractComplexVector coerce(VirtualFrame frame, RAbstractComplexVector value, RAbstractComplexVector vector, Object operand) { return vector; } - @Specialization(order = 505) + @Specialization RComplexVector coerce(VirtualFrame frame, RAbstractComplexVector value, RAbstractRawVector vector, Object operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBASSIGN_TYPE_FIX, "complex", "raw"); } - @Specialization(order = 507) + @Specialization RList coerce(VirtualFrame frame, RAbstractComplexVector value, RList vector, Object operand) { return vector; } // raw vector value - @Specialization(order = 605) + @Specialization RAbstractRawVector coerce(VirtualFrame frame, RAbstractRawVector value, RAbstractRawVector vector, Object operand) { return vector; } - @Specialization(order = 606, guards = "!isVectorList") + @Specialization(guards = "!isVectorList") RRawVector coerce(VirtualFrame frame, RAbstractRawVector value, RAbstractVector vector, Object operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBASSIGN_TYPE_FIX, "raw", RRuntime.classToString(vector.getElementClass(), false)); } - @Specialization(order = 607) + @Specialization RList coerce(VirtualFrame frame, RAbstractRawVector value, RList vector, Object operand) { return vector; } // list vector value - @Specialization(order = 707) + @Specialization RList coerce(VirtualFrame frame, RList value, RList vector, Object operand) { return vector; } - @Specialization(order = 708, guards = "!isVectorList") + @Specialization(guards = "!isVectorList") RList coerce(VirtualFrame frame, RList value, RAbstractVector vector, Object operand) { return (RList) castList(frame, vector); } // data frame value - @Specialization(order = 809) + @Specialization RList coerce(VirtualFrame frame, RDataFrame value, RAbstractVector vector, Object operand) { return (RList) castList(frame, vector); } // function vector value - @Specialization(order = 906) + @Specialization RFunction coerce(VirtualFrame frame, RFunction value, RAbstractVector vector, Object operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.SUBASSIGN_TYPE_FIX, "closure", RRuntime.classToString(vector.getElementClass(), false)); } // in all other cases, simply return the vector (no coercion) - @Specialization(order = 1000) + @Specialization RNull coerce(RNull value, RNull vector, Object operand) { return vector; } - @Specialization(order = 1001) + @Specialization RNull coerce(RAbstractVector value, RNull vector, Object operand) { return vector; } - @Specialization(order = 1002) + @Specialization RAbstractVector coerce(RNull value, RAbstractVector vector, Object operand) { return vector; } - @Specialization(order = 1003) + @Specialization RAbstractVector coerce(RList value, RAbstractVector vector, Object operand) { return vector; } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/UpdateFieldNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/UpdateFieldNode.java index b1341bda12..8cb69e43d3 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/UpdateFieldNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/UpdateFieldNode.java @@ -45,7 +45,7 @@ public abstract class UpdateFieldNode extends RNode { @Child private CastListNode castList; - @Specialization(order = 1) + @Specialization public Object updateField(RList object, Object value) { int index = object.getElementIndexByName(getField()); if (index == -1) { @@ -81,7 +81,7 @@ public abstract class UpdateFieldNode extends RNode { return result; } - @Specialization(order = 2) + @Specialization public Object updateField(VirtualFrame frame, REnvironment env, Object value) { // reference semantics for environments try { @@ -92,7 +92,7 @@ public abstract class UpdateFieldNode extends RNode { return env; } - @Specialization(order = 1000) + @Specialization public Object updateField(VirtualFrame frame, RAbstractVector object, Object value) { if (castList == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/VectorPositionCast.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/VectorPositionCast.java index 17fa76e15d..f83bf9d618 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/VectorPositionCast.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/VectorPositionCast.java @@ -42,7 +42,7 @@ public abstract class VectorPositionCast extends RNode { private final NACheck positionNACheck; - @Specialization(order = 1) + @Specialization public int doDoublePosition(double operand) { positionNACheck.enable(operand); if (positionNACheck.check(operand)) { @@ -51,13 +51,13 @@ public abstract class VectorPositionCast extends RNode { return (int) operand; } - @Specialization(order = 3) + @Specialization public int doInt(int operand) { positionNACheck.enable(operand); return operand; } - @Specialization(order = 4) + @Specialization public byte doBoolean(byte operand) { positionNACheck.enable(operand); return operand; @@ -87,27 +87,27 @@ public abstract class VectorPositionCast extends RNode { return operand.getStart() == 0 && operand.getStride() > 0; } - @Specialization(order = 5, guards = "greaterEqualOneSequence") + @Specialization(guards = "greaterEqualOneSequence") public RIntSequence doIntVectorPositiveSequence(RIntSequence operand) { return operand; } - @Specialization(order = 6, guards = "startingZeroSequence") + @Specialization(guards = "startingZeroSequence") public RIntSequence doIntVectorPositiveIncludingZeroSequence(RIntSequence operand) { return operand.removeFirst(); } - @Specialization(order = 7, guards = {"!greaterEqualOneSequence", "!startingZeroSequence"}) + @Specialization(guards = {"!greaterEqualOneSequence", "!startingZeroSequence"}) public RIntVector doIntVector(RIntSequence operand) { return (RIntVector) operand.createVector(); } - @Specialization(order = 8, guards = "canConvertIntSequence") + @Specialization(guards = "canConvertIntSequence") public RIntSequence doDoubleSequenceToIntConverstion(RDoubleSequence operand) { return RDataFactory.createIntSequence((int) operand.getStart(), (int) operand.getStride(), operand.getLength()); } - @Specialization(order = 9, guards = "!canConvertIntSequence") + @Specialization(guards = "!canConvertIntSequence") public RIntVector doDoubleSequence(@SuppressWarnings("unused") RDoubleSequence operand) { throw Utils.nyi(); } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryArithmeticNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryArithmeticNode.java index e71e828377..94ee877645 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryArithmeticNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryArithmeticNode.java @@ -80,79 +80,79 @@ public abstract class BinaryArithmeticNode extends BinaryNode { return BinaryArithmeticNodeFactory.create(arithmetic, null, new RNode[2], null, null); } - @Specialization(order = 0) + @Specialization public Object doUnary(VirtualFrame frame, Object left, @SuppressWarnings("unused") RMissing right) { return doUnaryOp(frame, left); } - @Specialization(order = 1) + @Specialization public RDoubleVector doLeftNull(RNull left, RAbstractIntVector right) { return doRightNull(right, left); } - @Specialization(order = 2) + @Specialization public RDoubleVector doLeftNull(RNull left, RAbstractDoubleVector right) { return doRightNull(right, left); } - @Specialization(order = 3) + @Specialization public RDoubleVector doLeftNull(RNull left, RAbstractLogicalVector right) { return doRightNull(right, left); } - @Specialization(order = 4) + @Specialization public RComplexVector doLeftNull(RNull left, RAbstractComplexVector right) { return doRightNull(right, left); } @SuppressWarnings("unused") - @Specialization(order = 5) + @Specialization public RDoubleVector doRightNull(RAbstractIntVector left, RNull right) { return RDataFactory.createEmptyDoubleVector(); } @SuppressWarnings("unused") - @Specialization(order = 6) + @Specialization public RDoubleVector doRightNull(RAbstractDoubleVector left, RNull right) { return RDataFactory.createEmptyDoubleVector(); } @SuppressWarnings("unused") - @Specialization(order = 7) + @Specialization public RDoubleVector doRightNull(RAbstractLogicalVector left, RNull right) { return RDataFactory.createEmptyDoubleVector(); } @SuppressWarnings("unused") - @Specialization(order = 8) + @Specialization public RComplexVector doRightNull(RAbstractComplexVector left, RNull right) { return RDataFactory.createEmptyComplexVector(); } @SuppressWarnings("unused") - @Specialization(order = 9) + @Specialization public RDoubleVector doRightNull(RNull left, RNull right) { return RDataFactory.createEmptyDoubleVector(); } - @Specialization(order = 10) + @Specialization public Object doLeftString(VirtualFrame frame, RAbstractStringVector left, Object right) { return doRightString(frame, right, left); } @SuppressWarnings("unused") - @Specialization(order = 11) + @Specialization public Object doRightString(VirtualFrame frame, Object left, RAbstractStringVector right) { throw RError.error(frame, this.getSourceSection(), RError.Message.NON_NUMERIC_BINARY); } - @Specialization(order = 15) + @Specialization public Object doLeftRaw(VirtualFrame frame, RAbstractRawVector left, Object right) { return doRightRaw(frame, right, left); } @SuppressWarnings("unused") - @Specialization(order = 16) + @Specialization public Object doRightRaw(VirtualFrame frame, Object left, RAbstractRawVector right) { throw RError.error(frame, this.getSourceSection(), RError.Message.NON_NUMERIC_BINARY); } @@ -163,108 +163,108 @@ public abstract class BinaryArithmeticNode extends BinaryNode { // int - @Specialization(order = 20, guards = {"supportsIntResult"}) + @Specialization(guards = {"supportsIntResult"}) public int doInt(int left, int right) { return performArithmeticEnableNACheck(left, right); } - @Specialization(order = 21) + @Specialization public double doInt(int left, double right) { return performArithmeticDoubleEnableNACheck(RRuntime.int2double(left), right); } - @Specialization(order = 22) + @Specialization public double doInt(double left, int right) { return performArithmeticDoubleEnableNACheck(left, RRuntime.int2double(right)); } - @Specialization(order = 23, guards = {"supportsIntResult"}) + @Specialization(guards = {"supportsIntResult"}) public int doInt(int left, byte right) { return performArithmeticEnableNACheck(left, RRuntime.logical2int(right)); } - @Specialization(order = 24, guards = {"supportsIntResult"}) + @Specialization(guards = {"supportsIntResult"}) public int doInt(byte left, int right) { return performArithmeticEnableNACheck(RRuntime.logical2int(left), right); } - @Specialization(order = 27) + @Specialization public RComplex doInt(VirtualFrame frame, int left, RComplex right) { return performArithmeticComplexEnableNACheck(frame, RRuntime.int2complex(left), right); } - @Specialization(order = 28) + @Specialization public RComplex doInt(VirtualFrame frame, RComplex left, int right) { return performArithmeticComplexEnableNACheck(frame, left, RRuntime.int2complex(right)); } - @Specialization(order = 30, guards = {"!supportsIntResult"}) + @Specialization(guards = {"!supportsIntResult"}) public double doIntDouble(int left, int right) { return performArithmeticIntIntDoubleEnableNACheck(left, right); } - @Specialization(order = 33, guards = {"!supportsIntResult"}) + @Specialization(guards = {"!supportsIntResult"}) public double doIntDouble(int left, byte right) { return performArithmeticIntIntDoubleEnableNACheck(left, RRuntime.logical2int(right)); } - @Specialization(order = 34, guards = {"!supportsIntResult"}) + @Specialization(guards = {"!supportsIntResult"}) public double doIntDouble(byte left, int right) { return performArithmeticIntIntDoubleEnableNACheck(RRuntime.logical2int(left), right); } // double - @Specialization(order = 40) + @Specialization public double doDouble(double left, double right) { return performArithmeticDoubleEnableNACheck(left, right); } - @Specialization(order = 42) + @Specialization public double doDouble(double left, byte right) { return performArithmeticDoubleEnableNACheck(left, RRuntime.logical2double(right)); } - @Specialization(order = 44) + @Specialization public double doDouble(byte left, double right) { return performArithmeticDoubleEnableNACheck(RRuntime.logical2double(left), right); } - @Specialization(order = 50) + @Specialization public RComplex doDouble(VirtualFrame frame, double left, RComplex right) { return performArithmeticComplexEnableNACheck(frame, RRuntime.double2complex(left), right); } - @Specialization(order = 52) + @Specialization public RComplex doDouble(VirtualFrame frame, RComplex left, double right) { return performArithmeticComplexEnableNACheck(frame, left, RRuntime.double2complex(right)); } // logical - @Specialization(order = 60, guards = {"supportsIntResult"}) + @Specialization(guards = {"supportsIntResult"}) public int doLogical(byte left, byte right) { return performArithmeticEnableNACheck(RRuntime.logical2int(left), RRuntime.logical2int(right)); } - @Specialization(order = 66) + @Specialization public RComplex doLogical(VirtualFrame frame, byte left, RComplex right) { return performArithmeticComplexEnableNACheck(frame, RRuntime.logical2complex(left), right); } - @Specialization(order = 68) + @Specialization public RComplex doLogical(VirtualFrame frame, RComplex left, byte right) { return performArithmeticComplexEnableNACheck(frame, left, RRuntime.logical2complex(right)); } - @Specialization(order = 70, guards = {"!supportsIntResult"}) + @Specialization(guards = {"!supportsIntResult"}) public double doLogicalDouble(byte left, byte right) { return performArithmeticIntIntDoubleEnableNACheck(RRuntime.logical2int(left), RRuntime.logical2int(right)); } // complex - @Specialization(order = 150) + @Specialization public RComplex doComplex(VirtualFrame frame, RComplex left, RComplex right) { return performArithmeticComplexEnableNACheck(frame, left, right); } @@ -274,215 +274,215 @@ public abstract class BinaryArithmeticNode extends BinaryNode { } @SuppressWarnings("unused") - @Specialization(order = 1000, guards = "differentDimensions") + @Specialization(guards = "differentDimensions") public RLogicalVector doIntVectorDifferentLength(VirtualFrame frame, RAbstractVector left, RAbstractVector right) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.NON_CONFORMABLE_ARRAYS); } // int vector and vectors - @Specialization(order = 1001, guards = {"!areSameLength", "supportsIntResult"}) + @Specialization(guards = {"!areSameLength", "supportsIntResult"}) public RIntVector doIntVectorDifferentLength(RAbstractIntVector left, RAbstractIntVector right) { return performIntVectorOpDifferentLength(left, right); } - @Specialization(order = 1002, guards = {"areSameLength", "supportsIntResult"}) + @Specialization(guards = {"areSameLength", "supportsIntResult"}) public RIntVector doIntVectorSameLength(RAbstractIntVector left, RAbstractIntVector right) { return performIntVectorOpSameLength(left, right); } - @Specialization(order = 1003, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RDoubleVector doIntVectorDifferentLength(RAbstractIntVector left, RAbstractDoubleVector right) { return performDoubleVectorOpDifferentLength(RClosures.createIntToDoubleVector(left, leftNACheck), right); } - @Specialization(order = 1004, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RDoubleVector doIntVectorSameLength(RAbstractIntVector left, RAbstractDoubleVector right) { return performDoubleVectorOpSameLength(RClosures.createIntToDoubleVector(left, leftNACheck), right); } - @Specialization(order = 1005, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RDoubleVector doIntVectorDifferentLength(RAbstractDoubleVector left, RAbstractIntVector right) { return performDoubleVectorOpDifferentLength(left, RClosures.createIntToDoubleVector(right, rightNACheck)); } - @Specialization(order = 1006, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RDoubleVector doIntVectorIntVectorSameLength(RAbstractDoubleVector left, RAbstractIntVector right) { return performDoubleVectorOpSameLength(left, RClosures.createIntToDoubleVector(right, rightNACheck)); } - @Specialization(order = 1007, guards = {"!areSameLength", "supportsIntResult"}) + @Specialization(guards = {"!areSameLength", "supportsIntResult"}) public RIntVector doIntVectorDifferentLength(RAbstractIntVector left, RAbstractLogicalVector right) { return performIntVectorOpDifferentLength(left, RClosures.createLogicalToIntVector(right, rightNACheck)); } - @Specialization(order = 1008, guards = {"areSameLength", "supportsIntResult"}) + @Specialization(guards = {"areSameLength", "supportsIntResult"}) public RIntVector doIntVectorSameLength(RAbstractIntVector left, RAbstractLogicalVector right) { return performIntVectorOpSameLength(left, RClosures.createLogicalToIntVector(right, rightNACheck)); } - @Specialization(order = 1009, guards = {"!areSameLength", "supportsIntResult"}) + @Specialization(guards = {"!areSameLength", "supportsIntResult"}) public RIntVector doIntVectorDifferentLength(RAbstractLogicalVector left, RAbstractIntVector right) { return performIntVectorOpDifferentLength(RClosures.createLogicalToIntVector(left, leftNACheck), right); } - @Specialization(order = 1010, guards = {"areSameLength", "supportsIntResult"}) + @Specialization(guards = {"areSameLength", "supportsIntResult"}) public RIntVector doIntVectorSameLength(RAbstractLogicalVector left, RAbstractIntVector right) { return performIntVectorOpSameLength(RClosures.createLogicalToIntVector(left, leftNACheck), right); } - @Specialization(order = 1015, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RComplexVector doIntVectorDifferentLength(VirtualFrame frame, RAbstractIntVector left, RAbstractComplexVector right) { return performComplexVectorOpDifferentLength(frame, RClosures.createIntToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1016, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RComplexVector doIntVectorSameLength(VirtualFrame frame, RAbstractIntVector left, RAbstractComplexVector right) { return performComplexVectorOpSameLength(frame, RClosures.createIntToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1017, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RComplexVector doIntVectorDifferentLength(VirtualFrame frame, RAbstractComplexVector left, RAbstractIntVector right) { return performComplexVectorOpDifferentLength(frame, left, RClosures.createIntToComplexVector(right, rightNACheck)); } - @Specialization(order = 1018, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RComplexVector doIntVectorSameLength(VirtualFrame frame, RAbstractComplexVector left, RAbstractIntVector right) { return performComplexVectorOpSameLength(frame, left, RClosures.createIntToComplexVector(right, rightNACheck)); } - @Specialization(order = 1021, guards = {"!areSameLength", "!supportsIntResult"}) + @Specialization(guards = {"!areSameLength", "!supportsIntResult"}) public RDoubleVector doIntVectorDoubleDifferentLength(RAbstractIntVector left, RAbstractIntVector right) { return performIntVectorOpDoubleDifferentLength(left, right); } - @Specialization(order = 1022, guards = {"areSameLength", "!supportsIntResult"}) + @Specialization(guards = {"areSameLength", "!supportsIntResult"}) public RDoubleVector doIntVectorDoubleSameLength(RAbstractIntVector left, RAbstractIntVector right) { return performIntVectorOpDoubleSameLength(left, right); } - @Specialization(order = 1027, guards = {"!areSameLength", "!supportsIntResult"}) + @Specialization(guards = {"!areSameLength", "!supportsIntResult"}) public RDoubleVector doIntVectorDoubleDifferentLength(RAbstractIntVector left, RAbstractLogicalVector right) { return performIntVectorOpDoubleDifferentLength(left, RClosures.createLogicalToIntVector(right, rightNACheck)); } - @Specialization(order = 1028, guards = {"areSameLength", "!supportsIntResult"}) + @Specialization(guards = {"areSameLength", "!supportsIntResult"}) public RDoubleVector doIntVectorDoubleSameLength(RAbstractIntVector left, RAbstractLogicalVector right) { return performIntVectorOpDoubleSameLength(left, RClosures.createLogicalToIntVector(right, rightNACheck)); } - @Specialization(order = 1029, guards = {"!areSameLength", "!supportsIntResult"}) + @Specialization(guards = {"!areSameLength", "!supportsIntResult"}) public RDoubleVector doIntVectorDoubleDifferentLength(RAbstractLogicalVector left, RAbstractIntVector right) { return performIntVectorOpDoubleDifferentLength(RClosures.createLogicalToIntVector(left, leftNACheck), right); } - @Specialization(order = 1030, guards = {"areSameLength", "!supportsIntResult"}) + @Specialization(guards = {"areSameLength", "!supportsIntResult"}) public RDoubleVector doIntVectorDoubleSameLength(RAbstractLogicalVector left, RAbstractIntVector right) { return performIntVectorOpDoubleSameLength(RClosures.createLogicalToIntVector(left, leftNACheck), right); } // double vector and vectors - @Specialization(order = 1100, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RDoubleVector doDoubleVectorDifferentLength(RAbstractDoubleVector left, RAbstractDoubleVector right) { return performDoubleVectorOpDifferentLength(left, right); } - @Specialization(order = 1101, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RDoubleVector doDoubleVectorSameLength(RAbstractDoubleVector left, RAbstractDoubleVector right) { return performDoubleVectorOpSameLength(left, right); } - @Specialization(order = 1102, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RDoubleVector doDoubleVectorDifferentLength(RAbstractDoubleVector left, RAbstractLogicalVector right) { return performDoubleVectorOpDifferentLength(left, RClosures.createLogicalToDoubleVector(right, rightNACheck)); } - @Specialization(order = 1103, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RDoubleVector doDoubleVectorSameLength(RAbstractDoubleVector left, RAbstractLogicalVector right) { return performDoubleVectorOpSameLength(left, RClosures.createLogicalToDoubleVector(right, rightNACheck)); } - @Specialization(order = 1104, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RDoubleVector doDoubleVectorDifferentLength(RAbstractLogicalVector left, RAbstractDoubleVector right) { return performDoubleVectorOpDifferentLength(RClosures.createLogicalToDoubleVector(left, leftNACheck), right); } - @Specialization(order = 1105, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RDoubleVector doDoubleVectorSameLength(RAbstractLogicalVector left, RAbstractDoubleVector right) { return performDoubleVectorOpSameLength(RClosures.createLogicalToDoubleVector(left, leftNACheck), right); } - @Specialization(order = 1110, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RComplexVector doDoubleVectorDifferentLength(VirtualFrame frame, RAbstractDoubleVector left, RAbstractComplexVector right) { return performComplexVectorOpDifferentLength(frame, RClosures.createDoubleToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1111, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RComplexVector doDoubleVectorSameLength(VirtualFrame frame, RAbstractDoubleVector left, RAbstractComplexVector right) { return performComplexVectorOpSameLength(frame, RClosures.createDoubleToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1112, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RComplexVector doDoubleVectorDifferentLength(VirtualFrame frame, RAbstractComplexVector left, RAbstractDoubleVector right) { return performComplexVectorOpDifferentLength(frame, left, RClosures.createDoubleToComplexVector(right, rightNACheck)); } - @Specialization(order = 1113, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RComplexVector doDoubleVectorSameLength(VirtualFrame frame, RAbstractComplexVector left, RAbstractDoubleVector right) { return performComplexVectorOpSameLength(frame, left, RClosures.createDoubleToComplexVector(right, rightNACheck)); } // logical vector and vectors - @Specialization(order = 1200, guards = {"!areSameLength", "supportsIntResult"}) + @Specialization(guards = {"!areSameLength", "supportsIntResult"}) public RIntVector doLogicalVectorDifferentLength(RAbstractLogicalVector left, RAbstractLogicalVector right) { return performIntVectorOpDifferentLength(RClosures.createLogicalToIntVector(left, leftNACheck), RClosures.createLogicalToIntVector(right, rightNACheck)); } - @Specialization(order = 1201, guards = {"areSameLength", "supportsIntResult"}) + @Specialization(guards = {"areSameLength", "supportsIntResult"}) public RIntVector doLogicalVectorSameLength(RAbstractLogicalVector left, RAbstractLogicalVector right) { return performIntVectorOpSameLength(RClosures.createLogicalToIntVector(left, leftNACheck), RClosures.createLogicalToIntVector(right, rightNACheck)); } - @Specialization(order = 1206, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RComplexVector doLogicalVectorDifferentLength(VirtualFrame frame, RAbstractLogicalVector left, RAbstractComplexVector right) { return performComplexVectorOpDifferentLength(frame, RClosures.createLogicalToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1207, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RComplexVector doLogicalVectorSameLength(VirtualFrame frame, RAbstractLogicalVector left, RAbstractComplexVector right) { return performComplexVectorOpSameLength(frame, RClosures.createLogicalToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1208, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RComplexVector doLogicalVectorDifferentLength(VirtualFrame frame, RAbstractComplexVector left, RAbstractLogicalVector right) { return performComplexVectorOpDifferentLength(frame, left, RClosures.createLogicalToComplexVector(right, rightNACheck)); } - @Specialization(order = 1209, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RComplexVector doLogicalVectorSameLength(VirtualFrame frame, RAbstractComplexVector left, RAbstractLogicalVector right) { return performComplexVectorOpSameLength(frame, left, RClosures.createLogicalToComplexVector(right, rightNACheck)); } - @Specialization(order = 1210, guards = {"!areSameLength", "!supportsIntResult"}) + @Specialization(guards = {"!areSameLength", "!supportsIntResult"}) public RDoubleVector doLogicalVectorDoubleDifferentLength(RAbstractLogicalVector left, RAbstractLogicalVector right) { return performIntVectorOpDoubleDifferentLength(RClosures.createLogicalToIntVector(left, leftNACheck), RClosures.createLogicalToIntVector(right, rightNACheck)); } - @Specialization(order = 1211, guards = {"areSameLength", "!supportsIntResult"}) + @Specialization(guards = {"areSameLength", "!supportsIntResult"}) public RDoubleVector doLogicalVectorDoubleSameLength(RAbstractLogicalVector left, RAbstractLogicalVector right) { return performIntVectorOpDoubleSameLength(RClosures.createLogicalToIntVector(left, leftNACheck), RClosures.createLogicalToIntVector(right, rightNACheck)); } // complex vector and vectors - @Specialization(order = 1400, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RComplexVector doComplexVectorDifferentLength(VirtualFrame frame, RAbstractComplexVector left, RAbstractComplexVector right) { return performComplexVectorOpDifferentLength(frame, left, right); } - @Specialization(order = 1401, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RComplexVector doComplexVectorSameLength(VirtualFrame frame, RAbstractComplexVector left, RAbstractComplexVector right) { return performComplexVectorOpSameLength(frame, left, right); } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanNode.java index 7f1d53f671..ec8dcb36f6 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanNode.java @@ -60,630 +60,630 @@ public abstract class BinaryBooleanNode extends BinaryNode { // empty raw vectors - @Specialization(order = 1, guards = {"isEmpty", "expectLogical"}) + @Specialization(guards = {"isEmpty", "expectLogical"}) public RLogicalVector doEmptyLogical(RRawVector left, RRaw right) { return RDataFactory.createLogicalVector(0); } - @Specialization(order = 2, guards = {"isEmpty", "expectLogical"}) + @Specialization(guards = {"isEmpty", "expectLogical"}) public RLogicalVector doEmptyLogical(RRaw left, RRawVector right) { return RDataFactory.createLogicalVector(0); } - @Specialization(order = 3, guards = {"isEmpty", "!expectLogical"}) + @Specialization(guards = {"isEmpty", "!expectLogical"}) public RRawVector doEmptyRaw(RRawVector left, RRaw right) { return RDataFactory.createRawVector(0); } - @Specialization(order = 4, guards = {"isEmpty", "!expectLogical"}) + @Specialization(guards = {"isEmpty", "!expectLogical"}) public RRawVector doEmptyRaw(RRaw left, RRawVector right) { return RDataFactory.createRawVector(0); } - @Specialization(order = 5, guards = {"isEmpty", "expectLogical"}) + @Specialization(guards = {"isEmpty", "expectLogical"}) public RLogicalVector doEmptyLogical(RRawVector left, RRawVector right) { return RDataFactory.createLogicalVector(0); } - @Specialization(order = 6, guards = {"isEmpty", "!expectLogical"}) + @Specialization(guards = {"isEmpty", "!expectLogical"}) public RRawVector doEmptyRaw(RRawVector left, RRawVector right) { return RDataFactory.createRawVector(0); } // int - @Specialization(order = 20) + @Specialization public byte doInt(int left, int right) { return logic.op(left, right); } - @Specialization(order = 21) + @Specialization public byte doInt(int left, double right) { return logic.op(RRuntime.int2double(left), right); } - @Specialization(order = 22) + @Specialization public byte doInt(double left, int right) { return logic.op(left, RRuntime.int2double(right)); } - @Specialization(order = 23) + @Specialization public byte doInt(int left, byte right) { return logic.op(left, RRuntime.logical2int(right)); } - @Specialization(order = 24) + @Specialization public byte doInt(byte left, int right) { return logic.op(RRuntime.logical2int(left), right); } - @Specialization(order = 25) + @Specialization public byte doInt(int left, String right) { return logic.op(RRuntime.intToString(left, false), right); } - @Specialization(order = 26) + @Specialization public byte doInt(String left, int right) { return logic.op(left, RRuntime.intToString(right, false)); } - @Specialization(order = 27) + @Specialization public byte doInt(int left, RComplex right) { return logic.op(RRuntime.int2complex(left), right); } - @Specialization(order = 28) + @Specialization public byte doInt(RComplex left, int right) { return logic.op(left, RRuntime.int2complex(right)); } // double - @Specialization(order = 30) + @Specialization public byte doDouble(double left, double right) { return logic.op(left, right); } - @Specialization(order = 32) + @Specialization public byte doDouble(double left, byte right) { return logic.op(left, RRuntime.logical2double(right)); } - @Specialization(order = 34) + @Specialization public byte doDouble(byte left, double right) { return logic.op(RRuntime.logical2double(left), right); } - @Specialization(order = 36) + @Specialization public byte doDouble(double left, String right) { return logic.op(RRuntime.doubleToString(left), right); } - @Specialization(order = 38) + @Specialization public byte doDouble(String left, double right) { return logic.op(left, RRuntime.doubleToString(right)); } - @Specialization(order = 40) + @Specialization public byte doDouble(double left, RComplex right) { return logic.op(RRuntime.double2complex(left), right); } - @Specialization(order = 42) + @Specialization public byte doDouble(RComplex left, double right) { return logic.op(left, RRuntime.double2complex(right)); } - @Specialization(order = 44, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public byte doDouble(double left, RRaw right) { return logic.op(left, RRuntime.raw2double(right)); } - @Specialization(order = 46, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public byte doDouble(RRaw left, double right) { return logic.op(RRuntime.raw2double(left), right); } // logical - @Specialization(order = 50) + @Specialization public byte doLogical(byte left, byte right) { return logic.op(RRuntime.logical2int(left), RRuntime.logical2int(right)); } - @Specialization(order = 52) + @Specialization public byte doBoolean(byte left, String right) { return logic.op(RRuntime.logicalToString(left), right); } - @Specialization(order = 54) + @Specialization public byte doBoolean(String left, byte right) { return logic.op(left, RRuntime.logicalToString(right)); } - @Specialization(order = 56) + @Specialization public byte doLogical(byte left, RComplex right) { return logic.op(RRuntime.logical2complex(left), right); } - @Specialization(order = 58) + @Specialization public byte doLogical(RComplex left, byte right) { return logic.op(left, RRuntime.logical2complex(right)); } - @Specialization(order = 60, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public byte doLogical(byte left, RRaw right) { return logic.op(left, RRuntime.raw2int(right)); } - @Specialization(order = 62, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public byte doLogical(RRaw left, byte right) { return logic.op(RRuntime.raw2int(left), right); } // string - @Specialization(order = 100) + @Specialization public byte doString(String left, String right) { return logic.op(left, right); } - @Specialization(order = 102) + @Specialization public byte doString(String left, RComplex right) { return logic.op(left, RRuntime.complexToString(right)); } - @Specialization(order = 104) + @Specialization public byte doString(RComplex left, String right) { return logic.op(RRuntime.complexToString(left), right); } - @Specialization(order = 106, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public byte doString(String left, RRaw right) { return logic.op(left, RRuntime.rawToString(right)); } - @Specialization(order = 108, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public byte doString(RRaw left, String right) { return logic.op(RRuntime.rawToString(left), right); } // complex - @Specialization(order = 150) + @Specialization public byte doComplex(RComplex left, RComplex right) { return logic.op(left, right); } - @Specialization(order = 152, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public byte doComplex(RComplex left, RRaw right) { return logic.op(left, RRuntime.raw2complex(right)); } - @Specialization(order = 154, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public byte doComplex(RRaw left, RComplex right) { return logic.op(RRuntime.raw2complex(left), right); } // raw - @Specialization(order = 200, guards = "!convertRawToNumeric") + @Specialization(guards = "!convertRawToNumeric") public RRaw doRawRaw(RRaw left, RRaw right) { return logic.op(left, right); } - @Specialization(order = 201, guards = "convertRawToNumeric") + @Specialization(guards = "convertRawToNumeric") public byte doRawLogical(RRaw left, RRaw right) { return logic.op(RRuntime.raw2int(left), RRuntime.raw2int(right)); } // null - @Specialization(order = 250) + @Specialization public RLogicalVector doNull(RNull left, Object right) { return RDataFactory.createLogicalVector(0); } - @Specialization(order = 251) + @Specialization public RLogicalVector doNull(Object left, RNull right) { return RDataFactory.createLogicalVector(0); } // empty vectors - @Specialization(order = 280, guards = "isEmpty") + @Specialization(guards = "isEmpty") public RLogicalVector doEmpty(RAbstractVector left, Object right) { return RDataFactory.createLogicalVector(0); } - @Specialization(order = 281, guards = "isEmpty") + @Specialization(guards = "isEmpty") public RLogicalVector doEmpty(Object left, RAbstractVector right) { return RDataFactory.createLogicalVector(0); } // int vector and scalar - @Specialization(order = 300) + @Specialization public RLogicalVector doIntVectorOp(RAbstractIntVector left, int right) { return performIntVectorOp(left, RRuntime.int2double(right), false); } - @Specialization(order = 301) + @Specialization public RLogicalVector doIntVectorOp(int left, RAbstractIntVector right) { return performIntVectorOp(right, RRuntime.int2double(left), true); } - @Specialization(order = 302) + @Specialization public RLogicalVector doIntVectorOp(RAbstractIntVector left, double right) { return performIntVectorOp(left, right, false); } - @Specialization(order = 303) + @Specialization public RLogicalVector doIntVectorOp(double left, RAbstractIntVector right) { return performIntVectorOp(right, left, true); } - @Specialization(order = 304) + @Specialization public RLogicalVector doIntVectorOp(RAbstractIntVector left, byte right) { return performIntVectorOp(left, RRuntime.logical2double(right), false); } - @Specialization(order = 305) + @Specialization public RLogicalVector doIntVectorOp(byte left, RAbstractIntVector right) { return performIntVectorOp(right, RRuntime.logical2double(left), true); } - @Specialization(order = 306) + @Specialization public RLogicalVector doIntVectorOp(RAbstractIntVector left, String right) { return performIntVectorOp(left, right, false); } - @Specialization(order = 307) + @Specialization public RLogicalVector doIntVectorOp(String left, RAbstractIntVector right) { return performIntVectorOp(right, left, true); } - @Specialization(order = 308) + @Specialization public RLogicalVector doIntVectorOp(RAbstractIntVector left, RComplex right) { return performIntVectorOp(left, right, false); } - @Specialization(order = 309) + @Specialization public RLogicalVector doIntVectorOp(RComplex left, RAbstractIntVector right) { return performIntVectorOp(right, left, true); } - @Specialization(order = 310, guards = "convertRawToNumericVector") + @Specialization(guards = "convertRawToNumericVector") public RLogicalVector doIntVectorOp(RAbstractIntVector left, RRaw right) { return performIntVectorOp(left, RRuntime.raw2double(right), false); } - @Specialization(order = 311, guards = "convertRawToNumericVector") + @Specialization(guards = "convertRawToNumericVector") public RLogicalVector doIntVectorOp(RRaw left, RAbstractIntVector right) { return performIntVectorOp(right, RRuntime.raw2double(left), true); } // double vector and scalar - @Specialization(order = 400) + @Specialization public RLogicalVector doDoubleVectorOp(RAbstractDoubleVector left, int right) { return performDoubleVectorOp(left, RRuntime.int2double(right), false); } - @Specialization(order = 401) + @Specialization public RLogicalVector doDoubleVectorOp(int left, RAbstractDoubleVector right) { return performDoubleVectorOp(right, RRuntime.int2double(left), true); } - @Specialization(order = 402) + @Specialization public RLogicalVector doDoubleVectorOp(RAbstractDoubleVector left, double right) { return performDoubleVectorOp(left, right, false); } - @Specialization(order = 403) + @Specialization public RLogicalVector doDoubleVectorOp(double left, RAbstractDoubleVector right) { return performDoubleVectorOp(right, left, true); } - @Specialization(order = 404) + @Specialization public RLogicalVector doDoubleVectorOp(RAbstractDoubleVector left, byte right) { return performDoubleVectorOp(left, RRuntime.logical2double(right), false); } - @Specialization(order = 405) + @Specialization public RLogicalVector doDoubleVectorOp(byte left, RAbstractDoubleVector right) { return performDoubleVectorOp(right, RRuntime.logical2double(left), true); } - @Specialization(order = 406) + @Specialization public RLogicalVector doDoubleVectorOp(RAbstractDoubleVector left, String right) { return performDoubleVectorOp(left, right, false); } - @Specialization(order = 407) + @Specialization public RLogicalVector doDoubleVectorOp(String left, RAbstractDoubleVector right) { return performDoubleVectorOp(right, left, true); } - @Specialization(order = 408) + @Specialization public RLogicalVector doDoubleVectorOp(RAbstractDoubleVector left, RComplex right) { return performDoubleVectorOp(left, right, false); } - @Specialization(order = 409) + @Specialization public RLogicalVector doDoubleVectorOp(RComplex left, RAbstractDoubleVector right) { return performDoubleVectorOp(right, left, true); } - @Specialization(order = 410, guards = "convertRawToNumericVector") + @Specialization(guards = "convertRawToNumericVector") public RLogicalVector doDoubleVectorOp(RAbstractDoubleVector left, RRaw right) { return performDoubleVectorOp(left, RRuntime.raw2double(right), false); } - @Specialization(order = 411, guards = "convertRawToNumericVector") + @Specialization(guards = "convertRawToNumericVector") public RLogicalVector doDoubleVectorOp(RRaw left, RAbstractDoubleVector right) { return performDoubleVectorOp(right, RRuntime.raw2double(left), true); } // logical vector and scalar - @Specialization(order = 500) + @Specialization public RLogicalVector doLogicalVectorOp(RLogicalVector left, int right) { return performLogicalVectorOp(left, RRuntime.int2double(right), false); } - @Specialization(order = 501) + @Specialization public RLogicalVector doLogicalVectorOp(int left, RLogicalVector right) { return performLogicalVectorOp(right, RRuntime.int2double(left), true); } - @Specialization(order = 502) + @Specialization public RLogicalVector doLogicalVectorOp(RLogicalVector left, double right) { return performLogicalVectorOp(left, right, false); } - @Specialization(order = 503) + @Specialization public RLogicalVector doLogicalVectorOp(double left, RLogicalVector right) { return performLogicalVectorOp(right, left, true); } - @Specialization(order = 504) + @Specialization public RLogicalVector doLogicalVectorOp(RLogicalVector left, byte right) { return performLogicalVectorOp(left, RRuntime.logical2int(right), false); } - @Specialization(order = 505) + @Specialization public RLogicalVector doLogicalVectorOp(byte left, RLogicalVector right) { return performLogicalVectorOp(right, RRuntime.logical2double(left), true); } - @Specialization(order = 506) + @Specialization public RLogicalVector doLogicalVectorOp(RLogicalVector left, String right) { return performLogicalVectorOp(left, right, false); } - @Specialization(order = 507) + @Specialization public RLogicalVector doLogicalVectorOp(String left, RLogicalVector right) { return performLogicalVectorOp(right, left, true); } - @Specialization(order = 508) + @Specialization public RLogicalVector doLogicalVectorOp(RLogicalVector left, RComplex right) { return performLogicalVectorOp(left, right, false); } - @Specialization(order = 509) + @Specialization public RLogicalVector doLogicalVectorOp(RComplex left, RLogicalVector right) { return performLogicalVectorOp(right, left, true); } - @Specialization(order = 510, guards = "convertRawToNumericVector") + @Specialization(guards = "convertRawToNumericVector") public RLogicalVector doLogicalVectorOp(RLogicalVector left, RRaw right) { return performLogicalVectorOp(left, RRuntime.raw2double(right), false); } - @Specialization(order = 511, guards = "convertRawToNumericVector") + @Specialization(guards = "convertRawToNumericVector") public RLogicalVector doLogicalVectorOp(RRaw left, RLogicalVector right) { return performLogicalVectorOp(right, RRuntime.raw2double(left), true); } // string vector and scalar - @Specialization(order = 600) + @Specialization public RLogicalVector doStringVectorOp(RStringVector left, int right) { return performStringVectorOp(left, RRuntime.intToString(right, false), false); } - @Specialization(order = 601) + @Specialization public RLogicalVector doStringVectorOp(int left, RStringVector right) { return performStringVectorOp(right, RRuntime.intToString(left, false), true); } - @Specialization(order = 602) + @Specialization public RLogicalVector doStringVectorOp(RStringVector left, double right) { return performStringVectorOp(left, RRuntime.doubleToString(right), false); } - @Specialization(order = 603) + @Specialization public RLogicalVector doStringVectorOp(double left, RStringVector right) { return performStringVectorOp(right, RRuntime.doubleToString(left), true); } - @Specialization(order = 604) + @Specialization public RLogicalVector doStringVectorOp(RStringVector left, byte right) { return performStringVectorOp(left, RRuntime.logicalToString(right), false); } - @Specialization(order = 605) + @Specialization public RLogicalVector doStringVectorOp(byte left, RStringVector right) { return performStringVectorOp(right, RRuntime.logicalToString(left), false); } - @Specialization(order = 606) + @Specialization public RLogicalVector doStringVectorOp(RStringVector left, String right) { return performStringVectorOp(left, right, false); } - @Specialization(order = 607) + @Specialization public RLogicalVector doStringVectorOp(String left, RStringVector right) { return performStringVectorOp(right, left, true); } - @Specialization(order = 608) + @Specialization public RLogicalVector doStringVectorOp(RStringVector left, RComplex right) { return performStringVectorOp(left, RRuntime.complexToString(right), false); } - @Specialization(order = 609) + @Specialization public RLogicalVector doStringVectorOp(RComplex left, RStringVector right) { return performStringVectorOp(right, RRuntime.complexToString(left), true); } - @Specialization(order = 610, guards = "convertRawToNumericVector") + @Specialization(guards = "convertRawToNumericVector") public RLogicalVector doStringVectorOp(RStringVector left, RRaw right) { return performStringVectorOp(left, RRuntime.rawToString(right), false); } - @Specialization(order = 611, guards = "convertRawToNumericVector") + @Specialization(guards = "convertRawToNumericVector") public RLogicalVector doStringVectorOp(RRaw left, RStringVector right) { return performStringVectorOp(right, RRuntime.rawToString(left), true); } // complex vector and scalar - @Specialization(order = 700) + @Specialization public RLogicalVector doComplexVectorOp(RComplexVector left, int right) { return performComplexVectorOp(left, RRuntime.int2complex(right), false); } - @Specialization(order = 701) + @Specialization public RLogicalVector doComplexVectorOp(int left, RComplexVector right) { return performComplexVectorOp(right, RRuntime.int2complex(left), true); } - @Specialization(order = 702) + @Specialization public RLogicalVector doComplexVectorOp(RComplexVector left, double right) { return performComplexVectorOp(left, RRuntime.double2complex(right), false); } - @Specialization(order = 703) + @Specialization public RLogicalVector doComplexVectorOp(double left, RComplexVector right) { return performComplexVectorOp(right, RRuntime.double2complex(left), true); } - @Specialization(order = 704) + @Specialization public RLogicalVector doComplexVectorOp(RComplexVector left, byte right) { return performComplexVectorOp(left, RRuntime.logical2complex(right), false); } - @Specialization(order = 705) + @Specialization public RLogicalVector doComplexVectorOp(byte left, RComplexVector right) { return performComplexVectorOp(right, RRuntime.logical2complex(left), true); } - @Specialization(order = 706) + @Specialization public RLogicalVector doComplexVectorOp(RComplexVector left, String right) { return performComplexVectorOp(left, right, false); } - @Specialization(order = 707) + @Specialization public RLogicalVector doComplexVectorOp(String left, RComplexVector right) { return performComplexVectorOp(right, left, true); } - @Specialization(order = 708) + @Specialization public RLogicalVector doComplexVectorOp(RComplexVector left, RComplex right) { return performComplexVectorOp(left, right, false); } - @Specialization(order = 709) + @Specialization public RLogicalVector doComplexVectorOp(RComplex left, RComplexVector right) { return performComplexVectorOp(right, left, true); } - @Specialization(order = 710, guards = "convertRawToNumericVector") + @Specialization(guards = "convertRawToNumericVector") public RLogicalVector doComplexVectorOp(RComplexVector left, RRaw right) { return performComplexVectorOp(left, RRuntime.raw2complex(right), false); } - @Specialization(order = 711, guards = "convertRawToNumericVector") + @Specialization(guards = "convertRawToNumericVector") public RLogicalVector doComplexVectorOp(RRaw left, RComplexVector right) { return performComplexVectorOp(right, RRuntime.raw2complex(left), true); } // raw vector and scalar - @Specialization(order = 800, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public RLogicalVector doRawVectorOp(RRawVector left, int right) { return performRawVectorOp(left, RRuntime.int2double(right), false); } - @Specialization(order = 801, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public RLogicalVector doRawVectorOp(int left, RRawVector right) { return performRawVectorOp(right, RRuntime.int2double(left), true); } - @Specialization(order = 802, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public RLogicalVector doRawVectorOp(RRawVector left, double right) { return performRawVectorOp(left, right, false); } - @Specialization(order = 803, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public RLogicalVector doRawVectorOp(double left, RRawVector right) { return performRawVectorOp(right, left, true); } - @Specialization(order = 804, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public RLogicalVector doRawVectorOp(RRawVector left, byte right) { return performRawVectorOp(left, RRuntime.logical2int(right), false); } - @Specialization(order = 805, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public RLogicalVector doRawVectorOp(byte left, RRawVector right) { return performRawVectorOp(right, RRuntime.logical2int(left), true); } - @Specialization(order = 806, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public RLogicalVector doRawVectorOp(RRawVector left, String right) { return performRawVectorOp(left, right, false); } - @Specialization(order = 807, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public RLogicalVector doRawVectorOp(String left, RRawVector right) { return performRawVectorOp(right, left, true); } - @Specialization(order = 808, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public RLogicalVector doRawVectorOp(RRawVector left, RComplex right) { return performRawVectorOp(left, right, false); } - @Specialization(order = 809, guards = "convertRawToNumericObject") + @Specialization(guards = "convertRawToNumericObject") public RLogicalVector doRawVectorOp(RComplex left, RRawVector right) { return performRawVectorOp(right, left, true); } - @Specialization(order = 810, guards = "convertRawToNumeric") + @Specialization(guards = "convertRawToNumeric") public RLogicalVector doRawVectorOpLogical(RRawVector left, RRaw right) { return performRawVectorOp(left, RRuntime.raw2int(right), false); } - @Specialization(order = 811, guards = "convertRawToNumeric") + @Specialization(guards = "convertRawToNumeric") public RLogicalVector doRawVectorOpLogical(RRaw left, RRawVector right) { return performRawVectorOp(right, RRuntime.raw2int(left), true); } - @Specialization(order = 812, guards = "!convertRawToNumeric") + @Specialization(guards = "!convertRawToNumeric") public RRawVector doRawVectorOpRaw(RRawVector left, RRaw right) { return performRawVectorOp(left, right, false); } - @Specialization(order = 813, guards = "!convertRawToNumeric") + @Specialization(guards = "!convertRawToNumeric") public RRawVector doRawVectorOpRaw(RRaw left, RRawVector right) { return performRawVectorOp(right, left, true); } - @Specialization(order = 1000, guards = "differentDimensions") + @Specialization(guards = "differentDimensions") public RLogicalVector doIntVectorDifferentLength(VirtualFrame frame, RAbstractVector left, RAbstractVector right) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.NON_CONFORMABLE_ARRAYS); } @@ -708,382 +708,382 @@ public abstract class BinaryBooleanNode extends BinaryNode { // int vector and vectors - @Specialization(order = 1001, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doIntVectorDifferentLength(RAbstractIntVector left, RAbstractIntVector right) { return performIntVectorOpDifferentLength(left, right); } - @Specialization(order = 1002, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doIntVectorSameLength(RAbstractIntVector left, RAbstractIntVector right) { return performIntVectorOpSameLength(left, right); } - @Specialization(order = 1003, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doIntVectorDifferentLength(RAbstractIntVector left, RAbstractDoubleVector right) { return performDoubleVectorOpDifferentLength(RClosures.createIntToDoubleVector(left, leftNACheck), right); } - @Specialization(order = 1004, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doIntVectorSameLength(RAbstractIntVector left, RAbstractDoubleVector right) { return performDoubleVectorOpSameLength(RClosures.createIntToDoubleVector(left, leftNACheck), right); } - @Specialization(order = 1005, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doIntVectorDifferentLength(RAbstractDoubleVector left, RAbstractIntVector right) { return performDoubleVectorOpDifferentLength(left, RClosures.createIntToDoubleVector(right, rightNACheck)); } - @Specialization(order = 1006, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doIntVectorIntVectorSameLength(RAbstractDoubleVector left, RAbstractIntVector right) { return performDoubleVectorOpSameLength(left, RClosures.createIntToDoubleVector(right, rightNACheck)); } - @Specialization(order = 1007, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doIntVectorDifferentLength(RAbstractIntVector left, RAbstractLogicalVector right) { return performIntVectorOpDifferentLength(left, RClosures.createLogicalToIntVector(right, rightNACheck)); } - @Specialization(order = 1008, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doIntVectorSameLength(RAbstractIntVector left, RAbstractLogicalVector right) { return performIntVectorOpSameLength(left, RClosures.createLogicalToIntVector(right, rightNACheck)); } - @Specialization(order = 1009, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doIntVectorDifferentLength(RAbstractLogicalVector left, RAbstractIntVector right) { return performIntVectorOpDifferentLength(RClosures.createLogicalToIntVector(left, leftNACheck), right); } - @Specialization(order = 1010, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doIntVectorSameLength(RAbstractLogicalVector left, RAbstractIntVector right) { return performIntVectorOpSameLength(RClosures.createLogicalToIntVector(left, leftNACheck), right); } - @Specialization(order = 1011, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doIntVectorDifferentLength(RAbstractIntVector left, RStringVector right) { return performStringVectorOpDifferentLength(RClosures.createIntToStringVector(left, leftNACheck), right); } - @Specialization(order = 1012, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doIntVectorSameLength(RAbstractIntVector left, RStringVector right) { return performStringVectorOpSameLength(RClosures.createIntToStringVector(left, leftNACheck), right); } - @Specialization(order = 1013, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doIntVectorDifferentLength(RStringVector left, RAbstractIntVector right) { return performStringVectorOpDifferentLength(left, RClosures.createIntToStringVector(right, rightNACheck)); } - @Specialization(order = 1014, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doIntVectorSameLength(RStringVector left, RAbstractIntVector right) { return performStringVectorOpSameLength(left, RClosures.createIntToStringVector(right, rightNACheck)); } - @Specialization(order = 1015, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doIntVectorDifferentLength(RAbstractIntVector left, RComplexVector right) { return performComplexVectorOpDifferentLength(RClosures.createIntToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1016, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doIntVectorSameLength(RAbstractIntVector left, RComplexVector right) { return performComplexVectorOpSameLength(RClosures.createIntToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1017, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doIntVectorDifferentLength(RComplexVector left, RAbstractIntVector right) { return performComplexVectorOpDifferentLength(left, RClosures.createIntToComplexVector(right, rightNACheck)); } - @Specialization(order = 1018, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doIntVectorSameLength(RComplexVector left, RAbstractIntVector right) { return performComplexVectorOpSameLength(left, RClosures.createIntToComplexVector(right, rightNACheck)); } - @Specialization(order = 1019, guards = {"!areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"!areSameLength", "convertRawToNumericVector"}) public RLogicalVector doIntVectorDifferentLength(RAbstractIntVector left, RRawVector right) { return performIntVectorOpDifferentLength(left, RClosures.createRawToIntVector(right, rightNACheck)); } - @Specialization(order = 1020, guards = {"areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"areSameLength", "convertRawToNumericVector"}) public RLogicalVector doIntVectorSameLength(RAbstractIntVector left, RRawVector right) { return performIntVectorOpSameLength(left, RClosures.createRawToIntVector(right, rightNACheck)); } - @Specialization(order = 1021, guards = {"!areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"!areSameLength", "convertRawToNumericVector"}) public RLogicalVector doIntVectorDifferentLength(RRawVector left, RAbstractIntVector right) { return performIntVectorOpDifferentLength(RClosures.createRawToIntVector(left, leftNACheck), right); } - @Specialization(order = 1023, guards = {"areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"areSameLength", "convertRawToNumericVector"}) public RLogicalVector doIntVectorSameLength(RRawVector left, RAbstractIntVector right) { return performIntVectorOpSameLength(RClosures.createRawToIntVector(left, leftNACheck), right); } // double vector and vectors - @Specialization(order = 1100, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doDoubleVectorDifferentLength(RAbstractDoubleVector left, RAbstractDoubleVector right) { return performDoubleVectorOpDifferentLength(left, right); } - @Specialization(order = 1101, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doDoubleVectorSameLength(RAbstractDoubleVector left, RAbstractDoubleVector right) { return performDoubleVectorOpSameLength(left, right); } - @Specialization(order = 1102, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doDoubleVectorDifferentLength(RAbstractDoubleVector left, RAbstractLogicalVector right) { return performDoubleVectorOpDifferentLength(left, RClosures.createLogicalToDoubleVector(right, rightNACheck)); } - @Specialization(order = 1103, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doDoubleVectorSameLength(RAbstractDoubleVector left, RAbstractLogicalVector right) { return performDoubleVectorOpSameLength(left, RClosures.createLogicalToDoubleVector(right, rightNACheck)); } - @Specialization(order = 1104, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doDoubleVectorDifferentLength(RAbstractLogicalVector left, RAbstractDoubleVector right) { return performDoubleVectorOpDifferentLength(RClosures.createLogicalToDoubleVector(left, leftNACheck), right); } - @Specialization(order = 1105, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doDoubleVectorSameLength(RAbstractLogicalVector left, RAbstractDoubleVector right) { return performDoubleVectorOpSameLength(RClosures.createLogicalToDoubleVector(left, leftNACheck), right); } - @Specialization(order = 1106, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doDoubleVectorDifferentLength(RAbstractDoubleVector left, RStringVector right) { return performStringVectorOpDifferentLength(RClosures.createDoubleToStringVector(left, leftNACheck), right); } - @Specialization(order = 1107, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doDoubleVectorSameLength(RAbstractDoubleVector left, RStringVector right) { return performStringVectorOpSameLength(RClosures.createDoubleToStringVector(left, leftNACheck), right); } - @Specialization(order = 1108, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doDoubleVectorDifferentLength(RStringVector left, RAbstractDoubleVector right) { return performStringVectorOpDifferentLength(left, RClosures.createDoubleToStringVector(right, rightNACheck)); } - @Specialization(order = 1109, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doDoubleVectorSameLength(RStringVector left, RAbstractDoubleVector right) { return performStringVectorOpSameLength(left, RClosures.createDoubleToStringVector(right, rightNACheck)); } - @Specialization(order = 1110, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doDoubleVectorDifferentLength(RAbstractDoubleVector left, RComplexVector right) { return performComplexVectorOpDifferentLength(RClosures.createDoubleToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1111, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doDoubleVectorSameLength(RAbstractDoubleVector left, RComplexVector right) { return performComplexVectorOpSameLength(RClosures.createDoubleToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1112, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doDoubleVectorDifferentLength(RComplexVector left, RAbstractDoubleVector right) { return performComplexVectorOpDifferentLength(left, RClosures.createDoubleToComplexVector(right, rightNACheck)); } - @Specialization(order = 1113, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doDoubleVectorSameLength(RComplexVector left, RAbstractDoubleVector right) { return performComplexVectorOpSameLength(left, RClosures.createDoubleToComplexVector(right, rightNACheck)); } - @Specialization(order = 1114, guards = {"!areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"!areSameLength", "convertRawToNumericVector"}) public RLogicalVector doDoubleVectorDifferentLength(RAbstractDoubleVector left, RRawVector right) { return performDoubleVectorOpDifferentLength(left, RClosures.createRawToDoubleVector(right, rightNACheck)); } - @Specialization(order = 1115, guards = {"areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"areSameLength", "convertRawToNumericVector"}) public RLogicalVector doDoubleVectorSameLength(RAbstractDoubleVector left, RRawVector right) { return performDoubleVectorOpSameLength(left, RClosures.createRawToDoubleVector(right, rightNACheck)); } - @Specialization(order = 1116, guards = {"!areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"!areSameLength", "convertRawToNumericVector"}) public RLogicalVector doDoubleVectorDifferentLength(RRawVector left, RAbstractDoubleVector right) { return performDoubleVectorOpDifferentLength(RClosures.createRawToDoubleVector(left, leftNACheck), right); } - @Specialization(order = 1117, guards = {"areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"areSameLength", "convertRawToNumericVector"}) public RLogicalVector doDoubleVectorSameLength(RRawVector left, RAbstractDoubleVector right) { return performDoubleVectorOpSameLength(RClosures.createRawToDoubleVector(left, leftNACheck), right); } // logical vector and vectors - @Specialization(order = 1200, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doLogicalVectorDifferentLength(RLogicalVector left, RLogicalVector right) { return performIntVectorOpDifferentLength(RClosures.createLogicalToIntVector(left, leftNACheck), RClosures.createLogicalToIntVector(right, rightNACheck)); } - @Specialization(order = 1201, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doLogicalVectorSameLength(RLogicalVector left, RLogicalVector right) { return performIntVectorOpSameLength(RClosures.createLogicalToIntVector(left, leftNACheck), RClosures.createLogicalToIntVector(right, rightNACheck)); } - @Specialization(order = 1202, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doLogicalVectorDifferentLength(RAbstractLogicalVector left, RStringVector right) { return performStringVectorOpDifferentLength(RClosures.createLogicalToStringVector(left, leftNACheck), right); } - @Specialization(order = 1203, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doLogicalVectorSameLength(RAbstractLogicalVector left, RStringVector right) { return performStringVectorOpSameLength(RClosures.createLogicalToStringVector(left, leftNACheck), right); } - @Specialization(order = 1204, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doLogicalVectorDifferentLength(RStringVector left, RAbstractLogicalVector right) { return performStringVectorOpDifferentLength(left, RClosures.createLogicalToStringVector(right, rightNACheck)); } - @Specialization(order = 1205, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doLogicalVectorSameLength(RStringVector left, RAbstractLogicalVector right) { return performStringVectorOpSameLength(left, RClosures.createLogicalToStringVector(right, rightNACheck)); } - @Specialization(order = 1206, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doLogicalVectorDifferentLength(RAbstractLogicalVector left, RComplexVector right) { return performComplexVectorOpDifferentLength(RClosures.createLogicalToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1207, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doLogicalVectorSameLength(RAbstractLogicalVector left, RComplexVector right) { return performComplexVectorOpSameLength(RClosures.createLogicalToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1208, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doLogicalVectorDifferentLength(RComplexVector left, RAbstractLogicalVector right) { return performComplexVectorOpDifferentLength(left, RClosures.createLogicalToComplexVector(right, rightNACheck)); } - @Specialization(order = 1209, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doLogicalVectorSameLength(RComplexVector left, RAbstractLogicalVector right) { return performComplexVectorOpSameLength(left, RClosures.createLogicalToComplexVector(right, rightNACheck)); } - @Specialization(order = 1210, guards = {"!areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"!areSameLength", "convertRawToNumericVector"}) public RLogicalVector doLogicalVectorDifferentLength(RAbstractLogicalVector left, RRawVector right) { return performIntVectorOpDifferentLength(RClosures.createLogicalToIntVector(left, leftNACheck), RClosures.createRawToIntVector(right, rightNACheck)); } - @Specialization(order = 1211, guards = {"areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"areSameLength", "convertRawToNumericVector"}) public RLogicalVector doLogicalVectorSameLength(RAbstractLogicalVector left, RRawVector right) { return performIntVectorOpSameLength(RClosures.createLogicalToIntVector(left, leftNACheck), RClosures.createRawToIntVector(right, rightNACheck)); } - @Specialization(order = 1212, guards = {"!areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"!areSameLength", "convertRawToNumericVector"}) public RLogicalVector doLogicalVectorDifferentLength(RRawVector left, RAbstractLogicalVector right) { return performIntVectorOpDifferentLength(RClosures.createRawToIntVector(left, leftNACheck), RClosures.createLogicalToIntVector(right, rightNACheck)); } - @Specialization(order = 1213, guards = {"areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"areSameLength", "convertRawToNumericVector"}) public RLogicalVector doLogicalVectorSameLength(RRawVector left, RAbstractLogicalVector right) { return performIntVectorOpSameLength(RClosures.createRawToIntVector(left, leftNACheck), RClosures.createLogicalToIntVector(right, rightNACheck)); } // string vector and vectors - @Specialization(order = 1300, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doStringVectorDifferentLength(RStringVector left, RStringVector right) { return performStringVectorOpDifferentLength(left, right); } - @Specialization(order = 1301, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doStringVectorSameLength(RStringVector left, RStringVector right) { return performStringVectorOpSameLength(left, right); } - @Specialization(order = 1302, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doStringVectorDifferentLength(RStringVector left, RAbstractComplexVector right) { return performStringVectorOpDifferentLength(left, RClosures.createComplexToStringVector(right, rightNACheck)); } - @Specialization(order = 1303, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doStringVectorSameLength(RStringVector left, RAbstractComplexVector right) { return performStringVectorOpSameLength(left, RClosures.createComplexToStringVector(right, rightNACheck)); } - @Specialization(order = 1304, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doStringVectorDifferentLength(RAbstractComplexVector left, RStringVector right) { return performStringVectorOpDifferentLength(RClosures.createComplexToStringVector(left, leftNACheck), right); } - @Specialization(order = 1305, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doStringVectorSameLength(RAbstractComplexVector left, RStringVector right) { return performStringVectorOpSameLength(RClosures.createComplexToStringVector(left, leftNACheck), right); } - @Specialization(order = 1306, guards = {"!areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"!areSameLength", "convertRawToNumericVector"}) public RLogicalVector doStringVectorDifferentLength(RStringVector left, RRawVector right) { return performStringVectorOpDifferentLength(left, RClosures.createRawToStringVector(right, rightNACheck)); } - @Specialization(order = 1307, guards = {"areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"areSameLength", "convertRawToNumericVector"}) public RLogicalVector doStringVectorSameLength(RStringVector left, RRawVector right) { return performStringVectorOpSameLength(left, RClosures.createRawToStringVector(right, rightNACheck)); } - @Specialization(order = 1308, guards = {"!areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"!areSameLength", "convertRawToNumericVector"}) public RLogicalVector doStringVectorDifferentLengthRRawVector(RRawVector left, RStringVector right) { return performStringVectorOpDifferentLength(RClosures.createRawToStringVector(left, leftNACheck), right); } - @Specialization(order = 1309, guards = {"areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"areSameLength", "convertRawToNumericVector"}) public RLogicalVector doStringVectorSameLengthRRawVector(RRawVector left, RStringVector right) { return performStringVectorOpSameLength(RClosures.createRawToStringVector(left, leftNACheck), right); } // complex vector and vectors - @Specialization(order = 1400, guards = "!areSameLength") + @Specialization(guards = "!areSameLength") public RLogicalVector doComplexVectorDifferentLength(RComplexVector left, RComplexVector right) { return performComplexVectorOpDifferentLength(left, right); } - @Specialization(order = 1401, guards = "areSameLength") + @Specialization(guards = "areSameLength") public RLogicalVector doComplexVectorSameLength(RComplexVector left, RComplexVector right) { return performComplexVectorOpSameLength(left, right); } - @Specialization(order = 1402, guards = {"!areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"!areSameLength", "convertRawToNumericVector"}) public RLogicalVector doComplexVectorDifferentLength(RComplexVector left, RRawVector right) { return performComplexVectorOpDifferentLength(left, RClosures.createRawToComplexVector(right, rightNACheck)); } - @Specialization(order = 1403, guards = {"areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"areSameLength", "convertRawToNumericVector"}) public RLogicalVector doComplexVectorSameLength(RComplexVector left, RRawVector right) { return performComplexVectorOpSameLength(left, RClosures.createRawToComplexVector(right, rightNACheck)); } - @Specialization(order = 1404, guards = {"!areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"!areSameLength", "convertRawToNumericVector"}) public RLogicalVector doComplexVectorDifferentLength(RRawVector left, RComplexVector right) { return performComplexVectorOpDifferentLength(RClosures.createRawToComplexVector(left, leftNACheck), right); } - @Specialization(order = 1405, guards = {"areSameLength", "convertRawToNumericVector"}) + @Specialization(guards = {"areSameLength", "convertRawToNumericVector"}) public RLogicalVector doComplexVectorSameLength(RRawVector left, RComplexVector right) { return performComplexVectorOpSameLength(RClosures.createRawToComplexVector(left, leftNACheck), right); } // raw vector and vectors - @Specialization(order = 1500, guards = {"!areSameLength", "convertRawToNumeric"}) + @Specialization(guards = {"!areSameLength", "convertRawToNumeric"}) public RLogicalVector doRawVectorDifferentLengthLogical(RRawVector left, RRawVector right) { return performIntVectorOpDifferentLength(RClosures.createRawToIntVector(left, leftNACheck), RClosures.createRawToIntVector(right, rightNACheck)); } - @Specialization(order = 1501, guards = {"areSameLength", "convertRawToNumeric"}) + @Specialization(guards = {"areSameLength", "convertRawToNumeric"}) public RLogicalVector doRawVectorSameLengthLogical(RRawVector left, RRawVector right) { return performIntVectorOpSameLength(RClosures.createRawToIntVector(left, leftNACheck), RClosures.createRawToIntVector(right, rightNACheck)); } - @Specialization(order = 1502, guards = {"!areSameLength", "!convertRawToNumeric"}) + @Specialization(guards = {"!areSameLength", "!convertRawToNumeric"}) public RRawVector doRawVectorDifferentLengthRaw(RRawVector left, RRawVector right) { return performRawVectorOpDifferentLength(left, right); } - @Specialization(order = 1503, guards = {"areSameLength", "!convertRawToNumeric"}) + @Specialization(guards = {"areSameLength", "!convertRawToNumeric"}) public RRawVector doRawVectorSameLengthRaw(RRawVector left, RRawVector right) { return performRawVectorOpSameLength(left, right); } @@ -1091,17 +1091,17 @@ public abstract class BinaryBooleanNode extends BinaryNode { // non-convertible raw - other cases are guarded with convertRawToNumeric and // convertRawToNumericVector - @Specialization(order = 1600) + @Specialization public byte doRaw(RRaw left, Object right) { return logic.op(left, right); } - @Specialization(order = 1601) + @Specialization public byte doRaw(Object left, RRaw right) { return logic.op(left, right); } - @Specialization(order = 1602) + @Specialization public byte doRaw(RRawVector left, Object right) { // perhaps not the cleanest solution but others would be (unnecessarily) more verbose (e.g. // introduce another abstract method to BooleanOperation just to signal an error in one @@ -1110,7 +1110,7 @@ public abstract class BinaryBooleanNode extends BinaryNode { return logic.op(left.getDataAt(0), right); } - @Specialization(order = 1603) + @Specialization public byte doRaw(Object left, RRawVector right) { // perhaps not the cleanest solution but others would be (unnecessarily) more verbose (e.g. // introduce another abstract method to BooleanOperation just to signal an error in one diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanNonVectorizedNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanNonVectorizedNode.java index 5564927978..43df8604f8 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanNonVectorizedNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanNonVectorizedNode.java @@ -70,162 +70,162 @@ public abstract class BinaryBooleanNonVectorizedNode extends BinaryNode { return logic.requiresRightOperand(RTypesGen.RTYPES.asByte(leftValue)); } - @Specialization(order = 1, guards = "needsRightOperand") + @Specialization(guards = "needsRightOperand") public byte doLogical(byte left, boolean needsRightOperand, int right) { return logic.op(RRuntime.logical2int(left), right); } - @Specialization(order = 2, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, int right) { return left; } - @Specialization(order = 3, guards = "needsRightOperand") + @Specialization(guards = "needsRightOperand") public byte doLogical(byte left, boolean needsRightOperand, double right) { return logic.op(RRuntime.logical2double(left), right); } - @Specialization(order = 4, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, double right) { return left; } - @Specialization(order = 5, guards = "needsRightOperand") + @Specialization(guards = "needsRightOperand") public byte doLogical(byte left, boolean needsRightOperand, byte right) { return logic.op(RRuntime.logical2int(left), RRuntime.logical2int(right)); } - @Specialization(order = 6, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, byte right) { return left; } - @Specialization(order = 7, guards = "needsRightOperand") + @Specialization(guards = "needsRightOperand") public byte doLogical(byte left, boolean needsRightOperand, String right) { return logic.op(RRuntime.logical2int(left), right); } - @Specialization(order = 8, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, String right) { return left; } - @Specialization(order = 9, guards = "needsRightOperand") + @Specialization(guards = "needsRightOperand") public byte doLogical(byte left, boolean needsRightOperand, RComplex right) { return logic.op(RRuntime.logical2complex(left), right); } - @Specialization(order = 10, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, RComplex right) { return left; } - @Specialization(order = 11, guards = "needsRightOperand") + @Specialization(guards = "needsRightOperand") public byte doLogical(Object left, boolean needsRightOperand, RRaw right) { return logic.op(left, right); } - @Specialization(order = 12, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, RRaw right) { return left; } - @Specialization(order = 13, guards = "needsRightOperand") + @Specialization(guards = "needsRightOperand") public byte doLogical(Object left, boolean needsRightOperand, RNull right) { return logic.op(left, right); } - @Specialization(order = 14, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, RNull right) { return left; } - @Specialization(order = 15, guards = {"needsRightOperand", "!isZeroLength"}) + @Specialization(guards = {"needsRightOperand", "!isZeroLength"}) public byte doLogical(byte left, boolean needsRightOperand, RAbstractIntVector right) { return logic.op(RRuntime.logical2int(left), right.getDataAt(0)); } - @Specialization(order = 16, guards = {"needsRightOperand", "isZeroLength"}) + @Specialization(guards = {"needsRightOperand", "isZeroLength"}) public byte doLogicalEmpty(byte left, boolean needsRightOperand, RAbstractIntVector right) { return logic.op(RRuntime.logical2int(left), RRuntime.INT_NA); } - @Specialization(order = 17, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, RAbstractIntVector right) { return left; } - @Specialization(order = 18, guards = {"needsRightOperand", "!isZeroLength"}) + @Specialization(guards = {"needsRightOperand", "!isZeroLength"}) public byte doLogical(byte left, boolean needsRightOperand, RAbstractDoubleVector right) { return logic.op(RRuntime.logical2double(left), right.getDataAt(0)); } - @Specialization(order = 19, guards = {"needsRightOperand", "isZeroLength"}) + @Specialization(guards = {"needsRightOperand", "isZeroLength"}) public byte doLogicalEmpty(byte left, boolean needsRightOperand, RAbstractDoubleVector right) { return logic.op(RRuntime.logical2double(left), RRuntime.DOUBLE_NA); } - @Specialization(order = 20, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, RAbstractDoubleVector right) { return left; } - @Specialization(order = 21, guards = {"needsRightOperand", "!isZeroLength"}) + @Specialization(guards = {"needsRightOperand", "!isZeroLength"}) public byte doLogical(byte left, boolean needsRightOperand, RAbstractLogicalVector right) { return logic.op(RRuntime.logical2int(left), RRuntime.logical2int(right.getDataAt(0))); } - @Specialization(order = 22, guards = {"needsRightOperand", "isZeroLength"}) + @Specialization(guards = {"needsRightOperand", "isZeroLength"}) public byte doLogicalEmpty(byte left, boolean needsRightOperand, RAbstractLogicalVector right) { return logic.op(RRuntime.logical2int(left), RRuntime.INT_NA); } - @Specialization(order = 23, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, RAbstractLogicalVector right) { return left; } - @Specialization(order = 24, guards = {"needsRightOperand", "!isZeroLength"}) + @Specialization(guards = {"needsRightOperand", "!isZeroLength"}) public byte doLogical(byte left, boolean needsRightOperand, RAbstractStringVector right) { return logic.op(RRuntime.logical2int(left), right.getDataAt(0)); } - @Specialization(order = 25, guards = {"needsRightOperand", "isZeroLength"}) + @Specialization(guards = {"needsRightOperand", "isZeroLength"}) public byte doLogicalEmpty(byte left, boolean needsRightOperand, RAbstractStringVector right) { return logic.op(RRuntime.logical2int(left), RRuntime.STRING_NA); } - @Specialization(order = 26, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, RAbstractStringVector right) { return left; } - @Specialization(order = 27, guards = {"needsRightOperand", "!isZeroLength"}) + @Specialization(guards = {"needsRightOperand", "!isZeroLength"}) public byte doLogical(byte left, boolean needsRightOperand, RAbstractComplexVector right) { return logic.op(RRuntime.logical2complex(left), right.getDataAt(0)); } - @Specialization(order = 28, guards = {"needsRightOperand", "isZeroLength"}) + @Specialization(guards = {"needsRightOperand", "isZeroLength"}) public byte doLogicalEmpty(byte left, boolean needsRightOperand, RAbstractComplexVector right) { return logic.op(RRuntime.logical2complex(left), RRuntime.createComplexNA()); } - @Specialization(order = 29, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, RAbstractComplexVector right) { return left; } - @Specialization(order = 30, guards = {"needsRightOperand", "!isZeroLength"}) + @Specialization(guards = {"needsRightOperand", "!isZeroLength"}) public byte doLogical(Object left, boolean needsRightOperand, RAbstractRawVector right) { return logic.op(left, right.getDataAt(0)); } - @Specialization(order = 31, guards = {"needsRightOperand", "isZeroLength"}) + @Specialization(guards = {"needsRightOperand", "isZeroLength"}) public byte doLogicalEmpty(VirtualFrame frame, Object left, boolean needsRightOperand, RAbstractRawVector right) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_TYPE_IN, "y", logic.opName()); } - @Specialization(order = 32, guards = "!needsRightOperand") + @Specialization(guards = "!needsRightOperand") public byte doLogicalOnlyLeft(byte left, boolean needsRightOperand, RAbstractRawVector right) { return left; } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CastTypeNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CastTypeNode.java index 9d6f9a1f11..44deb7ee8c 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CastTypeNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CastTypeNode.java @@ -34,62 +34,62 @@ public abstract class CastTypeNode extends RInvisibleBuiltinNode { public abstract Object execute(VirtualFrame frame, final Object value, final String type); @SuppressWarnings("unused") - @Specialization(order = 0, guards = "isSameType") + @Specialization(guards = "isSameType") public RAbstractVector doCast(VirtualFrame frame, final RAbstractVector value, final String type) { return value; } @SuppressWarnings("unused") - @Specialization(order = 1, guards = {"!isSameType", "isString"}) + @Specialization(guards = {"!isSameType", "isString"}) public Object doCastString(VirtualFrame frame, final RAbstractVector value, final String type) { initCastString(); return castStringNode.executeString(frame, value); } @SuppressWarnings("unused") - @Specialization(order = 2, guards = {"!isSameType", "isComplex"}) + @Specialization(guards = {"!isSameType", "isComplex"}) public Object doCastComplex(VirtualFrame frame, final RAbstractVector value, final String type) { initCastComplex(); return castComplexNode.executeComplex(frame, value); } @SuppressWarnings("unused") - @Specialization(order = 4, guards = {"!isSameType", "isDouble"}) + @Specialization(guards = {"!isSameType", "isDouble"}) public Object doCastDouble(VirtualFrame frame, final RAbstractVector value, final String type) { initCastDouble(); return castDoubleNode.executeDouble(frame, value); } @SuppressWarnings("unused") - @Specialization(order = 6, guards = {"!isSameType", "isInteger"}) + @Specialization(guards = {"!isSameType", "isInteger"}) public Object doCastInteger(VirtualFrame frame, final RAbstractVector value, final String type) { initCastInteger(); return castIntegerNode.executeInt(frame, value); } @SuppressWarnings("unused") - @Specialization(order = 8, guards = {"!isSameType", "isLogical"}) + @Specialization(guards = {"!isSameType", "isLogical"}) public Object doCastLogical(VirtualFrame frame, final RAbstractVector value, final String type) { initCastLogical(); return castLogicalNode.executeLogical(frame, value); } @SuppressWarnings("unused") - @Specialization(order = 10, guards = {"!isSameType", "isRaw"}) + @Specialization(guards = {"!isSameType", "isRaw"}) public Object doCastRaw(VirtualFrame frame, final RAbstractVector value, final String type) { initCastRaw(); return castRawNode.executeRaw(frame, value); } @SuppressWarnings("unused") - @Specialization(order = 12, guards = {"!isSameType", "isList"}) + @Specialization(guards = {"!isSameType", "isList"}) public RList doCastList(VirtualFrame frame, final RAbstractVector value, final String type) { initCastList(); return castListNode.executeList(frame, value); } @SuppressWarnings("unused") - @Specialization(order = 14) + @Specialization public Object doCastUnknown(VirtualFrame frame, final RAbstractVector value, final String type) { return null; } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CbindBinaryNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CbindBinaryNode.java index 444737a0f4..24eee9e0ca 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CbindBinaryNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CbindBinaryNode.java @@ -39,18 +39,18 @@ public abstract class CbindBinaryNode extends CombineBinaryNode { } @SuppressWarnings("unused") - @Specialization(order = 3) + @Specialization public RAbstractVector cbind(RAbstractVector left, RNull right) { return left.copyWithNewDimensions(getDimensions(left)); } @SuppressWarnings("unused") - @Specialization(order = 4) + @Specialization public RAbstractVector cbind(RNull left, RAbstractVector right) { return right.copyWithNewDimensions(getDimensions(right)); } - @Specialization(order = 100) + @Specialization public RAbstractVector cbind(RAbstractVector left, RAbstractVector right) { return genericCbind(left.materialize(), right.materialize()); } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/ColonNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/ColonNode.java index cbb6304aa9..4a6ba722bc 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/ColonNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/ColonNode.java @@ -37,49 +37,49 @@ public abstract class ColonNode extends RNode implements VisibilityController { return ColonCastNodeFactory.create(child); } - @Specialization(order = 1, guards = "isSmaller") + @Specialization(guards = "isSmaller") public RIntSequence colonAscending(int left, int right) { controlVisibility(); return RDataFactory.createAscendingRange(left, right); } - @Specialization(order = 2, guards = "!isSmaller") + @Specialization(guards = "!isSmaller") public RIntSequence colonDescending(int left, int right) { controlVisibility(); return RDataFactory.createDescendingRange(left, right); } - @Specialization(order = 3, guards = "isSmaller") + @Specialization(guards = "isSmaller") public RIntSequence colonAscending(int left, double right) { controlVisibility(); return RDataFactory.createAscendingRange(left, (int) right); } - @Specialization(order = 4, guards = "!isSmaller") + @Specialization(guards = "!isSmaller") public RIntSequence colonDescending(int left, double right) { controlVisibility(); return RDataFactory.createDescendingRange(left, (int) right); } - @Specialization(order = 5, guards = "isSmaller") + @Specialization(guards = "isSmaller") public RDoubleSequence colonAscending(double left, int right) { controlVisibility(); return RDataFactory.createAscendingRange(left, right); } - @Specialization(order = 6, guards = "!isSmaller") + @Specialization(guards = "!isSmaller") public RDoubleSequence colonDescending(double left, int right) { controlVisibility(); return RDataFactory.createDescendingRange(left, right); } - @Specialization(order = 7, guards = "isSmaller") + @Specialization(guards = "isSmaller") public RDoubleSequence colonAscending(double left, double right) { controlVisibility(); return RDataFactory.createAscendingRange(left, right); } - @Specialization(order = 8, guards = "!isSmaller") + @Specialization(guards = "!isSmaller") public RDoubleSequence colonDescending(double left, double right) { controlVisibility(); return RDataFactory.createDescendingRange(left, right); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryComplexNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryComplexNode.java index e8aa4167f9..728a327203 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryComplexNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryComplexNode.java @@ -38,32 +38,32 @@ public abstract class CombineBinaryComplexNode extends CombineBinaryNode { return RNull.instance; } - @Specialization(order = 1) + @Specialization public RComplex combine(RNull left, RComplex right) { return right; } - @Specialization(order = 2) + @Specialization public RComplex combine(RComplex left, RNull right) { return left; } - @Specialization(order = 3) + @Specialization public RComplexVector combine(RComplexVector left, RNull right) { return left; } - @Specialization(order = 4) + @Specialization public RComplexVector combine(RNull left, RComplexVector right) { return right; } - @Specialization(order = 5) + @Specialization public RComplexVector combine(RComplex left, RComplex right) { return RDataFactory.createComplexVector(new double[]{left.getRealPart(), left.getImaginaryPart(), right.getRealPart(), right.getImaginaryPart()}, !left.isNA() && !right.isNA()); } - @Specialization(order = 6) + @Specialization public RComplexVector combine(RComplexVector left, RComplex right) { int dataLength = left.getLength(); double[] result = new double[(dataLength + 1) << 1]; @@ -78,7 +78,7 @@ public abstract class CombineBinaryComplexNode extends CombineBinaryNode { return RDataFactory.createComplexVector(result, left.isComplete() && !right.isNA(), combineNames(left, false)); } - @Specialization(order = 7) + @Specialization public RComplexVector combine(RComplex left, RComplexVector right) { int dataLength = right.getLength(); double[] result = new double[(1 + dataLength) << 1]; @@ -93,7 +93,7 @@ public abstract class CombineBinaryComplexNode extends CombineBinaryNode { return RDataFactory.createComplexVector(result, (!left.isNA()) && right.isComplete(), combineNames(right, true)); } - @Specialization(order = 8) + @Specialization public RComplexVector combine(RComplexVector left, RComplexVector right) { return (RComplexVector) genericCombine(left, right); } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryDoubleNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryDoubleNode.java index 36717200b5..67c903f348 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryDoubleNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryDoubleNode.java @@ -34,27 +34,27 @@ import com.oracle.truffle.r.runtime.data.model.*; /** Takes only RNull, double or RDoubleVector as arguments. Use CastDoubleNode to cast the operands. */ public abstract class CombineBinaryDoubleNode extends CombineBinaryNode { - @Specialization(order = 0) + @Specialization public RNull combine(RNull left, RNull right) { return RNull.instance; } - @Specialization(order = 1) + @Specialization public RAbstractDoubleVector combine(RNull left, RAbstractDoubleVector right) { return right; } - @Specialization(order = 2) + @Specialization public RAbstractDoubleVector combine(RAbstractDoubleVector left, RNull right) { return left; } - @Specialization(order = 3) + @Specialization public RDoubleVector combine(double left, double right) { return RDataFactory.createDoubleVector(new double[]{left, right}, RRuntime.isComplete(left) && RRuntime.isComplete(right)); } - @Specialization(order = 4) + @Specialization public RDoubleVector combine(RAbstractDoubleVector left, double right) { int dataLength = left.getLength(); double[] result = new double[dataLength + 1]; @@ -65,7 +65,7 @@ public abstract class CombineBinaryDoubleNode extends CombineBinaryNode { return RDataFactory.createDoubleVector(result, left.isComplete() && RRuntime.isComplete(right), combineNames(left, false)); } - @Specialization(order = 5) + @Specialization public RDoubleVector combine(double left, RAbstractDoubleVector right) { int dataLength = right.getLength(); double[] result = new double[dataLength + 1]; @@ -76,7 +76,7 @@ public abstract class CombineBinaryDoubleNode extends CombineBinaryNode { return RDataFactory.createDoubleVector(result, RRuntime.isComplete(left) && right.isComplete(), combineNames(right, true)); } - @Specialization(order = 6) + @Specialization public RDoubleVector combine(RAbstractDoubleVector left, RAbstractDoubleVector right) { int leftLength = left.getLength(); int rightLength = right.getLength(); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryIntegerNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryIntegerNode.java index 7998e31b5b..6270c5bd80 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryIntegerNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryIntegerNode.java @@ -31,27 +31,27 @@ import com.oracle.truffle.r.runtime.data.model.*; /** Takes only RNull, int or RIntVector as arguments. Use CastIntegerNode to cast the operands. */ public abstract class CombineBinaryIntegerNode extends CombineBinaryNode { - @Specialization(order = 0) + @Specialization public RNull combine(RNull left, RNull right) { return RNull.instance; } - @Specialization(order = 3) + @Specialization public RAbstractIntVector combine(RNull left, RAbstractIntVector right) { return right; } - @Specialization(order = 4) + @Specialization public RAbstractIntVector combine(RAbstractIntVector left, RNull right) { return left; } - @Specialization(order = 5) + @Specialization public RIntVector combine(int left, int right) { return RDataFactory.createIntVector(new int[]{left, right}, RRuntime.isComplete(left) && RRuntime.isComplete(right)); } - @Specialization(order = 9) + @Specialization public RIntVector combine(RAbstractIntVector left, RAbstractIntVector right) { int leftLength = left.getLength(); int rightLength = right.getLength(); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryListNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryListNode.java index 075077fdc6..34ec91aa4f 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryListNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryListNode.java @@ -28,12 +28,12 @@ import com.oracle.truffle.r.runtime.data.model.*; public abstract class CombineBinaryListNode extends CombineBinaryNode { - @Specialization(order = 1) + @Specialization public RList combine(RList left, double right) { return extend(left, right); } - @Specialization(order = 100) + @Specialization public RList combine(RList left, RAbstractVector right) { Object[] data = left.getDataWithoutCopying(); Object[] result = new Object[data.length + right.getLength()]; diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryLogicalNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryLogicalNode.java index 5a25322af7..d92f9ead16 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryLogicalNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryLogicalNode.java @@ -36,27 +36,27 @@ public abstract class CombineBinaryLogicalNode extends CombineBinaryNode { return RNull.instance; } - @Specialization(order = 1) + @Specialization public byte combine(RNull left, byte right) { return right; } - @Specialization(order = 2) + @Specialization public byte combine(byte left, RNull right) { return left; } - @Specialization(order = 3) + @Specialization public RLogicalVector combine(RLogicalVector left, RNull right) { return left; } - @Specialization(order = 4) + @Specialization public RLogicalVector combine(RNull left, RLogicalVector right) { return right; } - @Specialization(order = 5) + @Specialization public RLogicalVector combine(byte left, byte right) { check.enable(true); check.check(left); @@ -64,7 +64,7 @@ public abstract class CombineBinaryLogicalNode extends CombineBinaryNode { return RDataFactory.createLogicalVector(new byte[]{left, right}, check.neverSeenNA()); } - @Specialization(order = 6) + @Specialization public RLogicalVector combine(RLogicalVector left, byte right) { check.enable(left); check.enable(right); @@ -80,7 +80,7 @@ public abstract class CombineBinaryLogicalNode extends CombineBinaryNode { return RDataFactory.createLogicalVector(result, check.neverSeenNA(), combineNames(left, false)); } - @Specialization(order = 7) + @Specialization public RLogicalVector combine(byte left, RLogicalVector right) { check.enable(right); check.enable(left); @@ -96,7 +96,7 @@ public abstract class CombineBinaryLogicalNode extends CombineBinaryNode { return RDataFactory.createLogicalVector(result, check.neverSeenNA(), combineNames(right, true)); } - @Specialization(order = 8) + @Specialization public RLogicalVector combine(RLogicalVector left, RLogicalVector right) { return (RLogicalVector) genericCombine(left, right); } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryRawNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryRawNode.java index 02495279bc..0ae9eb1681 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryRawNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryRawNode.java @@ -37,32 +37,32 @@ public abstract class CombineBinaryRawNode extends CombineBinaryNode { return RNull.instance; } - @Specialization(order = 1) + @Specialization public RRaw combine(RNull left, RRaw right) { return right; } - @Specialization(order = 2) + @Specialization public RRaw combine(RRaw left, RNull right) { return left; } - @Specialization(order = 3) + @Specialization public RRawVector combine(RRawVector left, RNull right) { return left; } - @Specialization(order = 4) + @Specialization public RRawVector combine(RNull left, RRawVector right) { return right; } - @Specialization(order = 5) + @Specialization public RRawVector combine(RRaw left, RRaw right) { return RDataFactory.createRawVector(new byte[]{left.getValue(), right.getValue()}); } - @Specialization(order = 6) + @Specialization public RRawVector combine(RRawVector left, RRaw right) { int dataLength = left.getLength(); byte[] result = new byte[dataLength + 1]; @@ -73,7 +73,7 @@ public abstract class CombineBinaryRawNode extends CombineBinaryNode { return RDataFactory.createRawVector(result, combineNames(left, false)); } - @Specialization(order = 7) + @Specialization public RRawVector combine(RRaw left, RRawVector right) { int dataLength = right.getLength(); byte[] result = new byte[dataLength + 1]; @@ -84,7 +84,7 @@ public abstract class CombineBinaryRawNode extends CombineBinaryNode { return RDataFactory.createRawVector(result, combineNames(right, true)); } - @Specialization(order = 8) + @Specialization public RRawVector combine(RRawVector left, RRawVector right) { return (RRawVector) genericCombine(left, right); } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryStringNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryStringNode.java index d83b8c9298..12743d0ba3 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryStringNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/CombineBinaryStringNode.java @@ -35,32 +35,32 @@ public abstract class CombineBinaryStringNode extends CombineBinaryNode { return RNull.instance; } - @Specialization(order = 1) + @Specialization public String combine(RNull left, String right) { return right; } - @Specialization(order = 2) + @Specialization public String combine(String left, RNull right) { return left; } - @Specialization(order = 3) + @Specialization public RStringVector combine(RStringVector left, RNull right) { return left; } - @Specialization(order = 4) + @Specialization public RStringVector combine(RNull left, RStringVector right) { return right; } - @Specialization(order = 5) + @Specialization public RStringVector combine(String left, String right) { return RDataFactory.createStringVector(new String[]{left, right}, RDataFactory.INCOMPLETE_VECTOR); } - @Specialization(order = 6) + @Specialization public RStringVector combine(RStringVector left, String right) { int dataLength = left.getLength(); String[] result = new String[dataLength + 1]; @@ -71,7 +71,7 @@ public abstract class CombineBinaryStringNode extends CombineBinaryNode { return RDataFactory.createStringVector(result, RDataFactory.INCOMPLETE_VECTOR, combineNames(left, false)); } - @Specialization(order = 7) + @Specialization public RStringVector combine(String left, RStringVector right) { int dataLength = right.getLength(); String[] result = new String[dataLength + 1]; @@ -82,7 +82,7 @@ public abstract class CombineBinaryStringNode extends CombineBinaryNode { return RDataFactory.createStringVector(result, RDataFactory.INCOMPLETE_VECTOR, combineNames(right, true)); } - @Specialization(order = 8) + @Specialization public RStringVector combine(RStringVector left, RStringVector right) { return (RStringVector) genericCombine(left, right); } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/RbindBinaryNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/RbindBinaryNode.java index 040bb877f1..80d411dbe3 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/RbindBinaryNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/RbindBinaryNode.java @@ -39,18 +39,18 @@ public abstract class RbindBinaryNode extends CombineBinaryNode { } @SuppressWarnings("unused") - @Specialization(order = 3) + @Specialization public RAbstractVector rbind(RAbstractVector left, RNull right) { return left.copyWithNewDimensions(getDimensions(left)); } @SuppressWarnings("unused") - @Specialization(order = 4) + @Specialization public RAbstractVector rbind(RNull left, RAbstractVector right) { return right.copyWithNewDimensions(getDimensions(right)); } - @Specialization(order = 100) + @Specialization public RAbstractVector rbind(RAbstractVector left, RAbstractVector right) { return genericRbind(left.materialize(), right.materialize()); } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/UseMethodDispatchNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/UseMethodDispatchNode.java index c09473df1f..41310f03a7 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/UseMethodDispatchNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/UseMethodDispatchNode.java @@ -148,4 +148,4 @@ public class UseMethodDispatchNode extends S3DispatchNode { } findFunction(this.genericName, RRuntime.DEFAULT, callerFrame); } -} \ No newline at end of file +} diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastComplexNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastComplexNode.java index 86d0172935..c38dc59cb3 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastComplexNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastComplexNode.java @@ -48,35 +48,35 @@ public abstract class CastComplexNode extends CastNode { return RNull.instance; } - @Specialization(order = 1) + @Specialization public RComplex doInt(int operand) { naCheck.enable(operand); return naCheck.convertIntToComplex(operand); } - @Specialization(order = 2) + @Specialization public RComplex doDouble(double operand) { naCheck.enable(operand); return naCheck.convertDoubleToComplex(operand); } - @Specialization(order = 3) + @Specialization public RComplex doLogical(byte operand) { naCheck.enable(operand); return naCheck.convertLogicalToComplex(operand); } - @Specialization(order = 4) + @Specialization public RComplex doComplex(RComplex operand) { return operand; } - @Specialization(order = 5) + @Specialization public RComplex doRaw(RRaw operand) { return RDataFactory.createComplex(operand.getValue(), 0); } - @Specialization(order = 6) + @Specialization public RComplex doCharacter(String operand) { naCheck.enable(operand); RComplex result = naCheck.convertStringToComplex(operand); @@ -136,7 +136,7 @@ public abstract class CastComplexNode extends CastNode { return performAbstractIntVector(operand); } - @Specialization(order = 101, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RComplexVector doLogicalVectorDims(RLogicalVector operand) { double[] ddata = dataFromLogical(operand); RComplexVector ret = RDataFactory.createComplexVector(ddata, naCheck.neverSeenNA(), operand.getDimensions()); @@ -146,7 +146,7 @@ public abstract class CastComplexNode extends CastNode { return ret; } - @Specialization(order = 102, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RComplexVector doLogicalVectorNames(RLogicalVector operand) { double[] ddata = dataFromLogical(operand); RComplexVector ret = RDataFactory.createComplexVector(ddata, naCheck.neverSeenNA(), operand.getNames()); @@ -156,7 +156,7 @@ public abstract class CastComplexNode extends CastNode { return ret; } - @Specialization(order = 103, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RComplexVector doLogicalVectorDimsNames(RLogicalVector operand) { double[] ddata = dataFromLogical(operand); RComplexVector ret = RDataFactory.createComplexVector(ddata, naCheck.neverSeenNA(), operand.getDimensions(), operand.getNames()); @@ -166,7 +166,7 @@ public abstract class CastComplexNode extends CastNode { return ret; } - @Specialization(order = 104, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RComplexVector doLogicalVector(RLogicalVector operand) { double[] ddata = dataFromLogical(operand); RComplexVector ret = RDataFactory.createComplexVector(ddata, naCheck.neverSeenNA()); @@ -176,7 +176,7 @@ public abstract class CastComplexNode extends CastNode { return ret; } - @Specialization(order = 105, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RComplexVector doStringVectorDims(RStringVector operand) { double[] ddata = dataFromString(operand); RComplexVector ret = RDataFactory.createComplexVector(ddata, naCheck.neverSeenNA(), operand.getDimensions()); @@ -186,7 +186,7 @@ public abstract class CastComplexNode extends CastNode { return ret; } - @Specialization(order = 106, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RComplexVector doStringVectorNames(RStringVector operand) { double[] ddata = dataFromString(operand); RComplexVector ret = RDataFactory.createComplexVector(ddata, naCheck.neverSeenNA(), operand.getNames()); @@ -196,7 +196,7 @@ public abstract class CastComplexNode extends CastNode { return ret; } - @Specialization(order = 107, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RComplexVector doStringVectorDimsNames(RStringVector operand) { double[] ddata = dataFromString(operand); RComplexVector ret = RDataFactory.createComplexVector(ddata, naCheck.neverSeenNA(), operand.getDimensions(), operand.getNames()); @@ -206,7 +206,7 @@ public abstract class CastComplexNode extends CastNode { return ret; } - @Specialization(order = 108, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RComplexVector doStringVector(RStringVector operand) { double[] ddata = dataFromString(operand); RComplexVector ret = RDataFactory.createComplexVector(ddata, naCheck.neverSeenNA()); @@ -231,7 +231,7 @@ public abstract class CastComplexNode extends CastNode { return vector; } - @Specialization(order = 109, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RComplexVector doRawVectorDims(RRawVector operand) { double[] ddata = dataFromRaw(operand); RComplexVector ret = RDataFactory.createComplexVector(ddata, RDataFactory.COMPLETE_VECTOR, operand.getDimensions()); @@ -241,7 +241,7 @@ public abstract class CastComplexNode extends CastNode { return ret; } - @Specialization(order = 110, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RComplexVector doRawVectorNames(RRawVector operand) { double[] ddata = dataFromRaw(operand); RComplexVector ret = RDataFactory.createComplexVector(ddata, RDataFactory.COMPLETE_VECTOR, operand.getNames()); @@ -251,7 +251,7 @@ public abstract class CastComplexNode extends CastNode { return ret; } - @Specialization(order = 111, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RComplexVector doRawVectorDimsNames(RRawVector operand) { double[] ddata = dataFromRaw(operand); RComplexVector ret = RDataFactory.createComplexVector(ddata, RDataFactory.COMPLETE_VECTOR, operand.getDimensions(), operand.getNames()); @@ -261,7 +261,7 @@ public abstract class CastComplexNode extends CastNode { return ret; } - @Specialization(order = 112, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RComplexVector doRawVector(RRawVector operand) { double[] ddata = dataFromRaw(operand); RComplexVector ret = RDataFactory.createComplexVector(ddata, RDataFactory.COMPLETE_VECTOR); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastDoubleNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastDoubleNode.java index 770c776260..f44fadc292 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastDoubleNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastDoubleNode.java @@ -58,18 +58,18 @@ public abstract class CastDoubleNode extends CastNode { return RNull.instance; } - @Specialization(order = 1) + @Specialization public double doInt(int operand) { naCheck.enable(operand); return naCheck.convertIntToDouble(operand); } - @Specialization(order = 10) + @Specialization public double doDouble(double operand) { return operand; } - @Specialization(order = 20) + @Specialization public double doDouble(RComplex operand) { naCheck.enable(operand); double result = naCheck.convertComplexToDouble(operand); @@ -79,13 +79,13 @@ public abstract class CastDoubleNode extends CastNode { return result; } - @Specialization(order = 30) + @Specialization public double doLogical(byte operand) { naCheck.enable(operand); return naCheck.convertLogicalToDouble(operand); } - @Specialization(order = 40) + @Specialization public double doString(String operand) { naCheck.enable(operand); double result = naCheck.convertStringToDouble(operand); @@ -163,7 +163,7 @@ public abstract class CastDoubleNode extends CastNode { return performAbstractIntVector(operand); } - @Specialization(order = 101, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RDoubleVector doLogicalVectorDims(RLogicalVector operand) { double[] ddata = dataFromLogical(operand); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA(), operand.getDimensions()); @@ -173,7 +173,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 102, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RDoubleVector doLogicalVectorNames(RLogicalVector operand) { double[] ddata = dataFromLogical(operand); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA(), operand.getNames()); @@ -183,7 +183,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 103, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RDoubleVector doLogicalVectorDimsNames(RLogicalVector operand) { double[] ddata = dataFromLogical(operand); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA(), operand.getDimensions(), operand.getNames()); @@ -193,7 +193,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 104, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RDoubleVector doLogicalVector(RLogicalVector operand) { double[] ddata = dataFromLogical(operand); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA()); @@ -203,7 +203,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 105, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RDoubleVector doStringVectorDims(RStringVector operand) { double[] ddata = dataFromString(operand); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA(), operand.getDimensions()); @@ -213,7 +213,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 106, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RDoubleVector doStringVectorNames(RStringVector operand) { double[] ddata = dataFromString(operand); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA(), operand.getNames()); @@ -223,7 +223,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 107, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RDoubleVector doStringVectorDimsNames(RStringVector operand) { double[] ddata = dataFromString(operand); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA(), operand.getDimensions(), operand.getNames()); @@ -233,7 +233,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 108, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RDoubleVector doStringVector(RStringVector operand) { double[] ddata = dataFromString(operand); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA()); @@ -243,7 +243,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 109, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RDoubleVector doComplexVectorDims(RComplexVector operand) { double[] ddata = dataFromComplex(operand); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA(), operand.getDimensions()); @@ -253,7 +253,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 110, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RDoubleVector doComplexVectorNames(RComplexVector operand) { double[] ddata = dataFromComplex(operand); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA(), operand.getNames()); @@ -263,7 +263,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 111, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RDoubleVector doComplexVectorDimsNames(RComplexVector operand) { double[] ddata = dataFromComplex(operand); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA(), operand.getDimensions(), operand.getNames()); @@ -273,7 +273,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 112, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RDoubleVector doComplexVector(RComplexVector operand) { double[] ddata = dataFromComplex(operand); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA()); @@ -283,7 +283,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 113, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RDoubleVector doRawVectorDims(RRawVector vector) { double[] ddata = dataFromRaw(vector); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA(), vector.getDimensions()); @@ -293,7 +293,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 114, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RDoubleVector doRawVectorNames(RRawVector vector) { double[] ddata = dataFromRaw(vector); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA(), vector.getNames()); @@ -303,7 +303,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 115, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RDoubleVector doRawVectorDimsNames(RRawVector vector) { double[] ddata = dataFromRaw(vector); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA(), vector.getDimensions(), vector.getNames()); @@ -313,7 +313,7 @@ public abstract class CastDoubleNode extends CastNode { return ret; } - @Specialization(order = 116, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RDoubleVector doRawVector(RRawVector vector) { double[] ddata = dataFromRaw(vector); RDoubleVector ret = RDataFactory.createDoubleVector(ddata, naCheck.neverSeenNA()); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerNode.java index 1f3b633ff0..cd9ebd1d59 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerNode.java @@ -174,7 +174,7 @@ public abstract class CastIntegerNode extends CastNode { return idata; } - @Specialization(order = 101, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RIntVector doComplexVectorDims(RComplexVector vector) { int[] result = dataFromComplex(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA(), vector.getDimensions()); @@ -184,7 +184,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 102, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RIntVector doComplexVectorNames(RComplexVector vector) { int[] result = dataFromComplex(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA(), vector.getNames()); @@ -194,7 +194,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 103, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RIntVector doComplexVectorDimsNames(RComplexVector vector) { int[] result = dataFromComplex(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA(), vector.getDimensions(), vector.getNames()); @@ -204,7 +204,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 104, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RIntVector doComplexVector(RComplexVector vector) { int[] result = dataFromComplex(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA()); @@ -214,7 +214,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 105, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RIntVector doStringVectorDims(RStringVector vector) { int[] result = dataFromString(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA(), vector.getDimensions()); @@ -224,7 +224,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 106, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RIntVector doStringVectorNames(RStringVector vector) { int[] result = dataFromString(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA(), vector.getNames()); @@ -234,7 +234,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 107, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RIntVector doStringVectorDimsNames(RStringVector vector) { int[] result = dataFromString(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA(), vector.getDimensions(), vector.getNames()); @@ -244,7 +244,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 108, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RIntVector doStringVector(RStringVector vector) { int[] result = dataFromString(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA()); @@ -254,7 +254,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 109, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RIntVector doLogicalVectorDims(RLogicalVector vector) { int[] result = dataFromLogical(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA(), vector.getDimensions()); @@ -264,7 +264,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 110, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RIntVector doLogicalVectorNames(RLogicalVector vector) { int[] result = dataFromLogical(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA(), vector.getNames()); @@ -274,7 +274,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 111, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RIntVector doLogicalVectorDimsNames(RLogicalVector vector) { int[] result = dataFromLogical(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA(), vector.getDimensions(), vector.getNames()); @@ -284,7 +284,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 112, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RIntVector doLogicalVector(RLogicalVector vector) { int[] result = dataFromLogical(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA()); @@ -294,7 +294,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 113, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RIntVector doDoubleVectorDims(RDoubleVector vector) { check.enable(vector); int[] result = check.convertDoubleVectorToIntData(vector); @@ -305,7 +305,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 114, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RIntVector doDoubleVectorNames(RDoubleVector vector) { check.enable(vector); int[] result = check.convertDoubleVectorToIntData(vector); @@ -316,7 +316,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 115, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RIntVector doDoubleVectorDimsNames(RDoubleVector vector) { check.enable(vector); int[] result = check.convertDoubleVectorToIntData(vector); @@ -327,7 +327,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 116, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RIntVector doDoubleVector(RDoubleVector vector) { check.enable(vector); int[] result = check.convertDoubleVectorToIntData(vector); @@ -338,7 +338,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 117, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RIntVector doRawVectorDims(RRawVector vector) { int[] result = dataFromRaw(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA(), vector.getDimensions()); @@ -348,7 +348,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 118, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RIntVector doRawVectorNames(RRawVector vector) { int[] result = dataFromRaw(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA(), vector.getNames()); @@ -358,7 +358,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 119, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RIntVector doRawVectorDimsNames(RRawVector vector) { int[] result = dataFromRaw(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA(), vector.getDimensions(), vector.getNames()); @@ -368,7 +368,7 @@ public abstract class CastIntegerNode extends CastNode { return ret; } - @Specialization(order = 120, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RIntVector doRawVector(RRawVector vector) { int[] result = dataFromRaw(vector); RIntVector ret = RDataFactory.createIntVector(result, check.neverSeenNA()); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastListNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastListNode.java index d6fb332eb4..5337a17776 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastListNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastListNode.java @@ -31,23 +31,23 @@ public abstract class CastListNode extends CastNode { public abstract RList executeList(VirtualFrame frame, Object o); - @Specialization(order = 0) + @Specialization @SuppressWarnings("unused") public RList doNull(RNull operand) { return RDataFactory.createList(); } - @Specialization(order = 1) + @Specialization public RList doDouble(double operand) { return RDataFactory.createList(new Object[]{operand}); } - @Specialization(order = 2) + @Specialization public RList doInt(int operand) { return RDataFactory.createList(new Object[]{operand}); } - @Specialization(order = 101) + @Specialization public RList doAbstractVector(RAbstractVector operand) { Object[] data = new Object[operand.getLength()]; for (int i = 0; i < data.length; ++i) { diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalNode.java index 8e3a4218b6..a0fa8c3af8 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastLogicalNode.java @@ -142,7 +142,7 @@ public abstract class CastLogicalNode extends CastNode { return performAbstractDoubleVector(operand); } - @Specialization(order = 101, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RLogicalVector doStringVectorDims(RStringVector operand) { byte[] ldata = dataFromString(operand); RLogicalVector ret = RDataFactory.createLogicalVector(ldata, naCheck.neverSeenNA(), operand.getDimensions()); @@ -152,7 +152,7 @@ public abstract class CastLogicalNode extends CastNode { return ret; } - @Specialization(order = 102, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RLogicalVector doStringVectorNames(RStringVector operand) { byte[] ldata = dataFromString(operand); RLogicalVector ret = RDataFactory.createLogicalVector(ldata, naCheck.neverSeenNA(), operand.getNames()); @@ -162,7 +162,7 @@ public abstract class CastLogicalNode extends CastNode { return ret; } - @Specialization(order = 103, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RLogicalVector doStringVectorDimsNames(RStringVector operand) { byte[] ldata = dataFromString(operand); RLogicalVector ret = RDataFactory.createLogicalVector(ldata, naCheck.neverSeenNA(), operand.getDimensions(), operand.getNames()); @@ -172,7 +172,7 @@ public abstract class CastLogicalNode extends CastNode { return ret; } - @Specialization(order = 104, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RLogicalVector doStringVector(RStringVector operand) { byte[] ldata = dataFromString(operand); RLogicalVector ret = RDataFactory.createLogicalVector(ldata, naCheck.neverSeenNA()); @@ -182,7 +182,7 @@ public abstract class CastLogicalNode extends CastNode { return ret; } - @Specialization(order = 105, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RLogicalVector doComplexVectorDims(RComplexVector operand) { byte[] ldata = dataFromComplex(operand); RLogicalVector ret = RDataFactory.createLogicalVector(ldata, naCheck.neverSeenNA(), operand.getDimensions()); @@ -192,7 +192,7 @@ public abstract class CastLogicalNode extends CastNode { return ret; } - @Specialization(order = 106, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RLogicalVector doComplexVectorNames(RComplexVector operand) { byte[] ldata = dataFromComplex(operand); RLogicalVector ret = RDataFactory.createLogicalVector(ldata, naCheck.neverSeenNA(), operand.getNames()); @@ -202,7 +202,7 @@ public abstract class CastLogicalNode extends CastNode { return ret; } - @Specialization(order = 107, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RLogicalVector doComplexVectorDimsNames(RComplexVector operand) { byte[] ldata = dataFromComplex(operand); RLogicalVector ret = RDataFactory.createLogicalVector(ldata, naCheck.neverSeenNA(), operand.getDimensions(), operand.getNames()); @@ -212,7 +212,7 @@ public abstract class CastLogicalNode extends CastNode { return ret; } - @Specialization(order = 108, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RLogicalVector doComplexVector(RComplexVector operand) { byte[] ldata = dataFromComplex(operand); RLogicalVector ret = RDataFactory.createLogicalVector(ldata, naCheck.neverSeenNA()); @@ -222,7 +222,7 @@ public abstract class CastLogicalNode extends CastNode { return ret; } - @Specialization(order = 109, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RLogicalVector doRawVectorDims(RRawVector operand) { byte[] ldata = dataFromRaw(operand); RLogicalVector ret = RDataFactory.createLogicalVector(ldata, RDataFactory.COMPLETE_VECTOR, operand.getDimensions()); @@ -232,7 +232,7 @@ public abstract class CastLogicalNode extends CastNode { return ret; } - @Specialization(order = 110, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RLogicalVector doRawVectorNames(RRawVector operand) { byte[] ldata = dataFromRaw(operand); RLogicalVector ret = RDataFactory.createLogicalVector(ldata, RDataFactory.COMPLETE_VECTOR, operand.getNames()); @@ -242,7 +242,7 @@ public abstract class CastLogicalNode extends CastNode { return ret; } - @Specialization(order = 111, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RLogicalVector doRawVectorDimsNames(RRawVector operand) { byte[] ldata = dataFromRaw(operand); RLogicalVector ret = RDataFactory.createLogicalVector(ldata, RDataFactory.COMPLETE_VECTOR, operand.getDimensions(), operand.getNames()); @@ -252,7 +252,7 @@ public abstract class CastLogicalNode extends CastNode { return ret; } - @Specialization(order = 112, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RLogicalVector doRawVector(RRawVector operand) { byte[] ldata = dataFromRaw(operand); RLogicalVector ret = RDataFactory.createLogicalVector(ldata, RDataFactory.COMPLETE_VECTOR); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastRawNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastRawNode.java index a981d48da7..7b6cb32830 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastRawNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastRawNode.java @@ -172,7 +172,7 @@ public abstract class CastRawNode extends CastNode { return performAbstractIntVector(value); } - @Specialization(order = 101, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RRawVector doLogicalVectorDims(RLogicalVector operand) { byte[] bdata = dataFromLogical(operand); RRawVector ret = RDataFactory.createRawVector(bdata, operand.getDimensions()); @@ -182,7 +182,7 @@ public abstract class CastRawNode extends CastNode { return ret; } - @Specialization(order = 102, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RRawVector doLogicalVectorNames(RLogicalVector operand) { byte[] bdata = dataFromLogical(operand); RRawVector ret = RDataFactory.createRawVector(bdata, operand.getNames()); @@ -192,7 +192,7 @@ public abstract class CastRawNode extends CastNode { return ret; } - @Specialization(order = 103, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RRawVector doLogicalVectorDimsNames(RLogicalVector operand) { byte[] bdata = dataFromLogical(operand); RRawVector ret = RDataFactory.createRawVector(bdata, operand.getDimensions(), operand.getNames()); @@ -202,7 +202,7 @@ public abstract class CastRawNode extends CastNode { return ret; } - @Specialization(order = 104, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RRawVector doLogicalVector(RLogicalVector operand) { byte[] bdata = dataFromLogical(operand); RRawVector ret = RDataFactory.createRawVector(bdata); @@ -212,7 +212,7 @@ public abstract class CastRawNode extends CastNode { return ret; } - @Specialization(order = 105, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RRawVector doStringVectorDims(RStringVector operand) { byte[] bdata = dataFromString(operand); RRawVector ret = RDataFactory.createRawVector(bdata, operand.getDimensions()); @@ -222,7 +222,7 @@ public abstract class CastRawNode extends CastNode { return ret; } - @Specialization(order = 106, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RRawVector doStringVectorNames(RStringVector operand) { byte[] bdata = dataFromString(operand); RRawVector ret = RDataFactory.createRawVector(bdata, operand.getNames()); @@ -232,7 +232,7 @@ public abstract class CastRawNode extends CastNode { return ret; } - @Specialization(order = 107, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RRawVector doStringVectorDimsNames(RStringVector operand) { byte[] bdata = dataFromString(operand); RRawVector ret = RDataFactory.createRawVector(bdata, operand.getDimensions(), operand.getNames()); @@ -242,7 +242,7 @@ public abstract class CastRawNode extends CastNode { return ret; } - @Specialization(order = 108, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RRawVector doStringVector(RStringVector operand) { byte[] bdata = dataFromString(operand); RRawVector ret = RDataFactory.createRawVector(bdata); @@ -252,7 +252,7 @@ public abstract class CastRawNode extends CastNode { return ret; } - @Specialization(order = 109, guards = {"!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "preserveDimensions"}) public RRawVector doRawVectorDims(RComplexVector operand) { byte[] bdata = dataFromComplex(operand); RRawVector ret = RDataFactory.createRawVector(bdata, operand.getDimensions()); @@ -262,7 +262,7 @@ public abstract class CastRawNode extends CastNode { return ret; } - @Specialization(order = 110, guards = {"preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"preserveNames", "!preserveDimensions"}) public RRawVector doComplexVectorNames(RComplexVector operand) { byte[] bdata = dataFromComplex(operand); RRawVector ret = RDataFactory.createRawVector(bdata, operand.getNames()); @@ -272,7 +272,7 @@ public abstract class CastRawNode extends CastNode { return ret; } - @Specialization(order = 111, guards = {"preserveNames", "preserveDimensions"}) + @Specialization(guards = {"preserveNames", "preserveDimensions"}) public RRawVector doComplexVectorDimsNames(RComplexVector operand) { byte[] bdata = dataFromComplex(operand); RRawVector ret = RDataFactory.createRawVector(bdata, operand.getDimensions(), operand.getNames()); @@ -282,7 +282,7 @@ public abstract class CastRawNode extends CastNode { return ret; } - @Specialization(order = 112, guards = {"!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!preserveNames", "!preserveDimensions"}) public RRawVector doComplexVector(RComplexVector operand) { byte[] bdata = dataFromComplex(operand); RRawVector ret = RDataFactory.createRawVector(bdata); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastStringNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastStringNode.java index 72ce6ec77e..1291001b22 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastStringNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastStringNode.java @@ -112,37 +112,37 @@ public abstract class CastStringNode extends CastNode { return sdata; } - @Specialization(order = 100, guards = "isZeroLength") + @Specialization(guards = "isZeroLength") public Object doEmptyVector(@SuppressWarnings("unused") RAbstractVector vector) { return isEmptyVectorConvertedToNull() ? RNull.instance : RDataFactory.createStringVector(0); } - @Specialization(order = 102, guards = "!isZeroLength") + @Specialization(guards = "!isZeroLength") public RStringVector doStringVector(RStringVector vector) { return vector; } - @Specialization(order = 103, guards = "!isZeroLength") + @Specialization(guards = "!isZeroLength") public RStringVector doIntVector(VirtualFrame frame, RIntVector vector) { return performAbstractIntVector(frame, vector); } - @Specialization(order = 104, guards = "!isZeroLength") + @Specialization(guards = "!isZeroLength") public RStringVector doDoubleVector(VirtualFrame frame, RDoubleVector vector) { return performAbstractDoubleVector(frame, vector); } - @Specialization(order = 105, guards = "!isZeroLength") + @Specialization(guards = "!isZeroLength") public RStringVector doIntSequence(VirtualFrame frame, RIntSequence vector) { return performAbstractIntVector(frame, vector); } - @Specialization(order = 106, guards = "!isZeroLength") + @Specialization(guards = "!isZeroLength") public RStringVector doDoubleSequence(VirtualFrame frame, RDoubleSequence vector) { return performAbstractDoubleVector(frame, vector); } - @Specialization(order = 107, guards = {"!isZeroLength", "!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "!preserveNames", "preserveDimensions"}) public RStringVector doLogicalVectorDims(VirtualFrame frame, RLogicalVector vector) { String[] result = dataFromLogical(frame, vector); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR, vector.getDimensions()); @@ -152,7 +152,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 108, guards = {"!isZeroLength", "preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "preserveNames", "!preserveDimensions"}) public RStringVector doLogicalVectorNames(VirtualFrame frame, RLogicalVector vector) { String[] result = dataFromLogical(frame, vector); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR, vector.getNames()); @@ -162,7 +162,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 109, guards = {"!isZeroLength", "preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "preserveNames", "preserveDimensions"}) public RStringVector doLogicalVectorDimsNames(VirtualFrame frame, RLogicalVector vector) { String[] result = dataFromLogical(frame, vector); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR, vector.getDimensions(), vector.getNames()); @@ -172,7 +172,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 110, guards = {"!isZeroLength", "!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "!preserveNames", "!preserveDimensions"}) public RStringVector doLogicalVector(VirtualFrame frame, RLogicalVector vector) { String[] result = dataFromLogical(frame, vector); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR); @@ -182,7 +182,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 111, guards = {"!isZeroLength", "!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "!preserveNames", "preserveDimensions"}) public RStringVector doComplexVectorDims(VirtualFrame frame, RComplexVector vector) { String[] result = dataFromComplex(frame, vector); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR, vector.getDimensions()); @@ -192,7 +192,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 112, guards = {"!isZeroLength", "preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "preserveNames", "!preserveDimensions"}) public RStringVector doComplexVectorNames(VirtualFrame frame, RComplexVector vector) { String[] result = dataFromComplex(frame, vector); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR, vector.getNames()); @@ -202,7 +202,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 113, guards = {"!isZeroLength", "preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "preserveNames", "preserveDimensions"}) public RStringVector doComplexVectorDimsNames(VirtualFrame frame, RComplexVector vector) { String[] result = dataFromComplex(frame, vector); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR, vector.getDimensions(), vector.getNames()); @@ -212,7 +212,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 114, guards = {"!isZeroLength", "!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "!preserveNames", "!preserveDimensions"}) public RStringVector doComplexVector(VirtualFrame frame, RComplexVector vector) { String[] result = dataFromComplex(frame, vector); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR); @@ -222,7 +222,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 115, guards = {"!isZeroLength", "!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "!preserveNames", "preserveDimensions"}) public RStringVector doRawVectorDims(VirtualFrame frame, RRawVector vector) { String[] result = dataFromRaw(frame, vector); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR, vector.getDimensions()); @@ -232,7 +232,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 116, guards = {"!isZeroLength", "preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "preserveNames", "!preserveDimensions"}) public RStringVector doRawVectorNames(VirtualFrame frame, RRawVector vector) { String[] result = dataFromRaw(frame, vector); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR, vector.getNames()); @@ -242,7 +242,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 117, guards = {"!isZeroLength", "preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "preserveNames", "preserveDimensions"}) public RStringVector doRawVectorDimsNames(VirtualFrame frame, RRawVector vector) { String[] result = dataFromRaw(frame, vector); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR, vector.getDimensions(), vector.getNames()); @@ -252,7 +252,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 118, guards = {"!isZeroLength", "!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "!preserveNames", "!preserveDimensions"}) public RStringVector doRawVector(VirtualFrame frame, RRawVector vector) { String[] result = dataFromRaw(frame, vector); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR); @@ -262,7 +262,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 119, guards = {"!isZeroLength", "!preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "!preserveNames", "preserveDimensions"}) public RStringVector doListDims(VirtualFrame frame, RList list) { String[] result = dataFromList(frame, list); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR, list.getDimensions()); @@ -272,7 +272,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 120, guards = {"!isZeroLength", "preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "preserveNames", "!preserveDimensions"}) public RStringVector doListNames(VirtualFrame frame, RList list) { String[] result = dataFromList(frame, list); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR, list.getNames()); @@ -282,7 +282,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 121, guards = {"!isZeroLength", "preserveNames", "preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "preserveNames", "preserveDimensions"}) public RStringVector doListDimsNames(VirtualFrame frame, RList list) { String[] result = dataFromList(frame, list); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR, list.getDimensions(), list.getNames()); @@ -292,7 +292,7 @@ public abstract class CastStringNode extends CastNode { return ret; } - @Specialization(order = 122, guards = {"!isZeroLength", "!preserveNames", "!preserveDimensions"}) + @Specialization(guards = {"!isZeroLength", "!preserveNames", "!preserveDimensions"}) public RStringVector doList(VirtualFrame frame, RList list) { String[] result = dataFromList(frame, list); RStringVector ret = RDataFactory.createStringVector(result, RDataFactory.COMPLETE_VECTOR); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastToContainerNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastToContainerNode.java index cc282ed94d..a77dfb46c7 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastToContainerNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastToContainerNode.java @@ -40,24 +40,24 @@ public abstract class CastToContainerNode extends CastNode { return isNonContainerPreserved(); } - @Specialization(order = 1, guards = "preserveNonContainer") + @Specialization(guards = "preserveNonContainer") @SuppressWarnings("unused") public RNull castNull(RNull rnull) { return RNull.instance; } - @Specialization(order = 2, guards = "!preserveNonContainer") + @Specialization(guards = "!preserveNonContainer") @SuppressWarnings("unused") public RAbstractVector cast(RNull rnull) { return RDataFactory.createList(); } - @Specialization(order = 3, guards = "preserveNonContainer") + @Specialization(guards = "preserveNonContainer") public RFunction castFunction(RFunction f) { return f; } - @Specialization(order = 4, guards = "!preserveNonContainer") + @Specialization(guards = "!preserveNonContainer") @SuppressWarnings("unused") public RAbstractVector cast(RFunction f) { return RDataFactory.createList(); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastToVectorNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastToVectorNode.java index 6c1db9910a..2ab4db4da8 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastToVectorNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastToVectorNode.java @@ -38,24 +38,24 @@ public abstract class CastToVectorNode extends CastNode { return isNonVectorPreserved(); } - @Specialization(order = 1, guards = "preserveNonVector") + @Specialization(guards = "preserveNonVector") @SuppressWarnings("unused") public RNull castNull(RNull rnull) { return RNull.instance; } - @Specialization(order = 2, guards = "!preserveNonVector") + @Specialization(guards = "!preserveNonVector") @SuppressWarnings("unused") public RAbstractVector cast(RNull rnull) { return RDataFactory.createList(); } - @Specialization(order = 3, guards = "preserveNonVector") + @Specialization(guards = "preserveNonVector") public RFunction castFunction(RFunction f) { return f; } - @Specialization(order = 4, guards = "!preserveNonVector") + @Specialization(guards = "!preserveNonVector") @SuppressWarnings("unused") public RAbstractVector cast(RFunction f) { return RDataFactory.createList(); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/InheritsNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/InheritsNode.java index 4475c803d3..e1a0c9bfe8 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/InheritsNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/InheritsNode.java @@ -28,19 +28,19 @@ public abstract class InheritsNode extends RBuiltinNode { public abstract byte execute(VirtualFrame frame, Object x, Object what); @SuppressWarnings("unused") - @Specialization(order = 1) + @Specialization public Object doesInherit(RNull x, RAbstractStringVector what) { return RRuntime.LOGICAL_FALSE; } @SuppressWarnings("unused") - @Specialization(order = 2) + @Specialization public Object doesInherit(REnvironment x, RAbstractStringVector what) { return RRuntime.LOGICAL_FALSE; } // map operations lead to recursion resulting in compilation failure - @Specialization(order = 0) + @Specialization public Object doesInherit(RAbstractVector x, RAbstractStringVector what) { Map<String, Integer> classToPos = initClassToPos(x); for (int i = 0; i < what.getLength(); ++i) { diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/PrecedenceNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/PrecedenceNode.java index 823e47edc7..bf68965d8b 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/PrecedenceNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/PrecedenceNode.java @@ -135,7 +135,7 @@ public abstract class PrecedenceNode extends UnaryNode { return STRING_PRECEDENCE; } - @Specialization(order = 100, guards = "isRecursive") + @Specialization(guards = "isRecursive") public int doListRecursive(VirtualFrame frame, RList val, byte recursive) { int precedence = -1; for (int i = 0; i < val.getLength(); ++i) { @@ -145,7 +145,7 @@ public abstract class PrecedenceNode extends UnaryNode { return precedence; } - @Specialization(order = 110, guards = "!isRecursive") + @Specialization(guards = "!isRecursive") public int doList(RList val, byte recursive) { return LIST_PRECEDENCE; } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/ToStringNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/ToStringNode.java index 19128d729f..958c3861af 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/ToStringNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/ToStringNode.java @@ -129,7 +129,7 @@ public abstract class ToStringNode extends UnaryNode { } @SlowPath - @Specialization(order = 100) + @Specialization public String toString(RIntVector vector) { int length = vector.getLength(); if (length == 0) { @@ -146,7 +146,7 @@ public abstract class ToStringNode extends UnaryNode { } @SlowPath - @Specialization(order = 200) + @Specialization public String toString(RDoubleVector vector) { int length = vector.getLength(); if (length == 0) { @@ -180,7 +180,7 @@ public abstract class ToStringNode extends UnaryNode { } @SlowPath - @Specialization(order = 300) + @Specialization public String toString(RLogicalVector vector) { int length = vector.getLength(); if (length == 0) { @@ -214,7 +214,7 @@ public abstract class ToStringNode extends UnaryNode { } @SlowPath - @Specialization(order = 500) + @Specialization public String toString(RComplexVector vector) { int length = vector.getLength(); if (length == 0) { @@ -231,7 +231,7 @@ public abstract class ToStringNode extends UnaryNode { } @SlowPath - @Specialization(order = 600) + @Specialization public String toString(VirtualFrame frame, RList vector) { int length = vector.getLength(); if (length == 0) { diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/TypeofNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/TypeofNode.java index 7a29f44ac3..293e55d6d0 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/TypeofNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/TypeofNode.java @@ -136,12 +136,12 @@ public abstract class TypeofNode extends UnaryNode { return RRuntime.TYPE_PAIR_LIST; } - @Specialization(order = 100, guards = "isFunctionBuiltin") + @Specialization(guards = "isFunctionBuiltin") public String typeofBuiltin(RFunction obj) { return "builtin"; } - @Specialization(order = 101, guards = "!isFunctionBuiltin") + @Specialization(guards = "!isFunctionBuiltin") public String typeofClosure(RFunction obj) { return "closure"; } @@ -154,4 +154,4 @@ public abstract class TypeofNode extends UnaryNode { public static boolean isFunctionBuiltin(RFunction fun) { return fun.isBuiltin(); } -} \ No newline at end of file +} diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticNode.java index 4bd7660fa9..3bd6487574 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticNode.java @@ -47,42 +47,42 @@ public abstract class UnaryArithmeticNode extends UnaryNode { public abstract Object execute(VirtualFrame frame, Object operand); - @Specialization(order = 0, guards = "!isNA") + @Specialization(guards = "!isNA") public int doInt(int operand) { return arithmetic.op(operand); } - @Specialization(order = 1, guards = "isNA") + @Specialization(guards = "isNA") public int doIntNA(@SuppressWarnings("unused") int operand) { return RRuntime.INT_NA; } - @Specialization(order = 2, guards = "!isNA") + @Specialization(guards = "!isNA") public double doDouble(double operand) { return arithmetic.op(operand); } - @Specialization(order = 3, guards = "isNA") + @Specialization(guards = "isNA") public double doDoubleNA(@SuppressWarnings("unused") double operand) { return RRuntime.DOUBLE_NA; } - @Specialization(order = 5, guards = "!isComplexNA") + @Specialization(guards = "!isComplexNA") public RComplex doComplex(RComplex operand) { return arithmetic.op(operand.getRealPart(), operand.getImaginaryPart()); } - @Specialization(order = 6, guards = "isComplexNA") + @Specialization(guards = "isComplexNA") public RComplex doComplexNA(@SuppressWarnings("unused") RComplex operand) { return RRuntime.createComplexNA(); } - @Specialization(order = 7, guards = "!isNA") + @Specialization(guards = "!isNA") public int doLogical(byte operand) { return arithmetic.op(operand); } - @Specialization(order = 8, guards = "isNA") + @Specialization(guards = "isNA") public int doLogicalNA(@SuppressWarnings("unused") byte operand) { return RRuntime.INT_NA; } @@ -93,7 +93,7 @@ public abstract class UnaryArithmeticNode extends UnaryNode { ret.copyNamesFrom(v); } - @Specialization(order = 10, guards = "isComplete") + @Specialization(guards = "isComplete") public RDoubleVector doDoubleVector(RAbstractDoubleVector operands) { double[] res = new double[operands.getLength()]; for (int i = 0; i < operands.getLength(); ++i) { @@ -104,7 +104,7 @@ public abstract class UnaryArithmeticNode extends UnaryNode { return ret; } - @Specialization(order = 11, guards = "!isComplete") + @Specialization(guards = "!isComplete") public RDoubleVector doDoubleVectorNA(RAbstractDoubleVector operands) { double[] res = new double[operands.getLength()]; na.enable(operands); @@ -120,7 +120,7 @@ public abstract class UnaryArithmeticNode extends UnaryNode { return ret; } - @Specialization(order = 20, guards = "isComplete") + @Specialization(guards = "isComplete") public RComplexVector doComplexVector(RAbstractComplexVector operands) { double[] res = new double[operands.getLength() * 2]; for (int i = 0; i < operands.getLength(); ++i) { @@ -133,7 +133,7 @@ public abstract class UnaryArithmeticNode extends UnaryNode { return ret; } - @Specialization(order = 21, guards = "!isComplete") + @Specialization(guards = "!isComplete") public RComplexVector doComplexVectorNA(RAbstractComplexVector operands) { double[] res = new double[operands.getLength() * 2]; na.enable(operands); @@ -152,7 +152,7 @@ public abstract class UnaryArithmeticNode extends UnaryNode { return ret; } - @Specialization(order = 30, guards = "isComplete") + @Specialization(guards = "isComplete") public RIntVector doIntVector(RAbstractIntVector operands) { int[] res = new int[operands.getLength()]; for (int i = 0; i < operands.getLength(); ++i) { @@ -163,7 +163,7 @@ public abstract class UnaryArithmeticNode extends UnaryNode { return ret; } - @Specialization(order = 31, guards = "!isComplete") + @Specialization(guards = "!isComplete") public RIntVector doIntVectorNA(RAbstractIntVector operands) { int[] res = new int[operands.getLength()]; na.enable(operands); @@ -179,22 +179,22 @@ public abstract class UnaryArithmeticNode extends UnaryNode { return ret; } - @Specialization(order = 40, guards = "isComplete") + @Specialization(guards = "isComplete") public RIntVector doLogicalVector(RAbstractLogicalVector operands) { return doIntVector(RClosures.createLogicalToIntVector(operands, na)); } - @Specialization(order = 41, guards = "!isComplete") + @Specialization(guards = "!isComplete") public RIntVector doLogicalVectorNA(RAbstractLogicalVector operands) { return doIntVectorNA(RClosures.createLogicalToIntVector(operands, na)); } - @Specialization(order = 50) + @Specialization public Object doStringVector(VirtualFrame frame, @SuppressWarnings("unused") RAbstractStringVector operands) { throw RError.error(frame, this.getEncapsulatingSourceSection(), RError.Message.INVALID_ARG_TYPE_UNARY); } - @Specialization(order = 51) + @Specialization public Object doRawVector(VirtualFrame frame, @SuppressWarnings("unused") RAbstractRawVector operands) { throw RError.error(frame, this.getEncapsulatingSourceSection(), RError.Message.INVALID_ARG_TYPE_UNARY); } diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticReduceNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticReduceNode.java index 76219b637d..00d4e44465 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticReduceNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticReduceNode.java @@ -54,7 +54,7 @@ public abstract class UnaryArithmeticReduceNode extends UnaryNode { return semantics.isNullInt(); } - @Specialization(order = 1, guards = "isNullInt") + @Specialization(guards = "isNullInt") public int doInt(@SuppressWarnings("unused") RNull operand) { if (semantics.getEmptyWarning() != null) { RError.warning(semantics.emptyWarning); @@ -62,7 +62,7 @@ public abstract class UnaryArithmeticReduceNode extends UnaryNode { return semantics.getIntStart(); } - @Specialization(order = 2, guards = "!isNullInt") + @Specialization(guards = "!isNullInt") public double doDouble(@SuppressWarnings("unused") RNull operand) { if (semantics.getEmptyWarning() != null) { RError.warning(semantics.emptyWarning); @@ -70,19 +70,19 @@ public abstract class UnaryArithmeticReduceNode extends UnaryNode { return semantics.getDoubleStart(); } - @Specialization(order = 3) + @Specialization public int doInt(int operand) { na.enable(operand); return na.check(operand) ? RRuntime.INT_NA : arithmetic.op(semantics.getIntStart(), operand); } - @Specialization(order = 4) + @Specialization public double doDouble(double operand) { na.enable(operand); return na.check(operand) ? RRuntime.DOUBLE_NA : arithmetic.op(semantics.getDoubleStart(), operand); } - @Specialization(order = 5) + @Specialization public int doIntVector(RIntVector operand) { int result = semantics.getIntStart(); na.enable(operand); @@ -102,7 +102,7 @@ public abstract class UnaryArithmeticReduceNode extends UnaryNode { return result; } - @Specialization(order = 6) + @Specialization public double doDoubleVector(RDoubleVector operand) { double result = semantics.getDoubleStart(); na.enable(operand); @@ -122,7 +122,7 @@ public abstract class UnaryArithmeticReduceNode extends UnaryNode { return result; } - @Specialization(order = 7) + @Specialization public int doLogicalVector(RLogicalVector operand) { int result = semantics.getIntStart(); na.enable(operand); @@ -142,7 +142,7 @@ public abstract class UnaryArithmeticReduceNode extends UnaryNode { return result; } - @Specialization(order = 10) + @Specialization public int doIntSequence(RIntSequence operand) { int result = semantics.getIntStart(); int current = operand.getStart(); @@ -161,7 +161,7 @@ public abstract class UnaryArithmeticReduceNode extends UnaryNode { return result; } - @Specialization(order = 11) + @Specialization public double doDoubleSequence(RDoubleSequence operand) { double result = semantics.getDoubleStart(); double current = operand.getStart(); @@ -180,7 +180,7 @@ public abstract class UnaryArithmeticReduceNode extends UnaryNode { return result; } - @Specialization(order = 12) + @Specialization public RComplex doComplexVector(RComplexVector operand) { RComplex result = RRuntime.double2complex(semantics.getDoubleStart()); int i = 0; @@ -203,7 +203,7 @@ public abstract class UnaryArithmeticReduceNode extends UnaryNode { // does not work for String-s as, in particular, we cannot supply the (lexicographically) // "largest" String for the implementation of max function - @Specialization(order = 15, guards = "empty") + @Specialization(guards = "empty") public String doStringVectorEmpty(@SuppressWarnings("unused") RStringVector operand) { if (semantics.getEmptyWarning() != null) { RError.warning(semantics.emptyWarning); @@ -211,12 +211,12 @@ public abstract class UnaryArithmeticReduceNode extends UnaryNode { return semantics.getStringStart(); } - @Specialization(order = 16, guards = "lengthOne") + @Specialization(guards = "lengthOne") public String doStringVectorOneElem(RStringVector operand) { return operand.getDataAt(0); } - @Specialization(order = 17, guards = "longerThanOne") + @Specialization(guards = "longerThanOne") public String doStringVector(RStringVector operand) { String result = operand.getDataAt(0); na.enable(result); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryNotNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryNotNode.java index 4fcc2ee679..7831794dec 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryNotNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryNotNode.java @@ -35,7 +35,7 @@ public abstract class UnaryNotNode extends RBuiltinNode { private final NACheck na = NACheck.create(); - @Specialization(order = 0) + @Specialization public byte doLogical(byte operand) { na.enable(operand); if (na.check(operand)) { @@ -44,7 +44,7 @@ public abstract class UnaryNotNode extends RBuiltinNode { return not(operand); } - @Specialization(order = 1) + @Specialization public byte doInt(int operand) { na.enable(operand); if (na.check(operand)) { @@ -53,7 +53,7 @@ public abstract class UnaryNotNode extends RBuiltinNode { return RRuntime.asLogical(operand == 0); } - @Specialization(order = 2) + @Specialization public byte doDouble(double operand) { na.enable(operand); if (na.check(operand)) { @@ -62,13 +62,13 @@ public abstract class UnaryNotNode extends RBuiltinNode { return RRuntime.asLogical(operand == 0); } - @Specialization(order = 3) + @Specialization public RRaw doRaw(RRaw operand) { return RDataFactory.createRaw(performRaw(operand)); } @SuppressWarnings("unused") - @Specialization(order = 10) + @Specialization public Object doNull(VirtualFrame frame, RNull operand) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARG_TYPE); } @@ -82,47 +82,47 @@ public abstract class UnaryNotNode extends RBuiltinNode { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARG_TYPE); } - @Specialization(order = 20, guards = "isZeroLength") + @Specialization(guards = "isZeroLength") public RLogicalVector performLogicalVectorNot(@SuppressWarnings("unused") RAbstractVector vector) { return RDataFactory.createEmptyLogicalVector(); } - @Specialization(order = 30) + @Specialization public RLogicalVector performLogicalVectorNot(VirtualFrame frame, @SuppressWarnings("unused") RAbstractStringVector vector) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARG_TYPE); } - @Specialization(order = 40) + @Specialization public RLogicalVector performLogicalVectorNot(VirtualFrame frame, @SuppressWarnings("unused") RList list) { throw RError.error(frame, getEncapsulatingSourceSection(), RError.Message.INVALID_ARG_TYPE); } - @Specialization(order = 50, guards = "!isZeroLength") + @Specialization(guards = "!isZeroLength") public RLogicalVector doLogicalVector(RLogicalVector vector) { return performLogicalVectorNot(vector); } - @Specialization(order = 51, guards = "!isZeroLength") + @Specialization(guards = "!isZeroLength") public RLogicalVector doIntVector(RIntVector vector) { return performAbstractIntVectorNot(vector); } - @Specialization(order = 52, guards = "!isZeroLength") + @Specialization(guards = "!isZeroLength") public RLogicalVector doDoubleVector(RDoubleVector vector) { return performAbstractDoubleVectorNot(vector); } - @Specialization(order = 53, guards = "!isZeroLength") + @Specialization(guards = "!isZeroLength") public RLogicalVector doIntSequence(RIntSequence vector) { return performAbstractIntVectorNot(vector); } - @Specialization(order = 54, guards = "!isZeroLength") + @Specialization(guards = "!isZeroLength") public RLogicalVector doDoubleSequence(RDoubleSequence vector) { return performAbstractDoubleVectorNot(vector); } - @Specialization(order = 55, guards = "!isZeroLength") + @Specialization(guards = "!isZeroLength") public RRawVector doRawVector(RRawVector vector) { return performRawVectorNot(vector); } -- GitLab