Skip to content

Commit bedf21c

Browse files
ExprReversedList Fix (#8171)
* Initial Commit * Update 8170-reversed-single.sk
1 parent 5005b15 commit bedf21c

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

src/main/java/ch/njol/skript/expressions/ExprReversedList.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
import ch.njol.skript.lang.ExpressionType;
1010
import ch.njol.skript.lang.Literal;
1111
import ch.njol.skript.lang.SkriptParser.ParseResult;
12+
import ch.njol.skript.lang.simplification.SimplifiedLiteral;
1213
import ch.njol.skript.lang.util.SimpleExpression;
1314
import ch.njol.skript.util.LiteralUtils;
1415
import ch.njol.util.Kleenean;
1516
import ch.njol.util.coll.CollectionUtils;
1617
import org.bukkit.event.Event;
1718
import org.jetbrains.annotations.Nullable;
18-
import ch.njol.skript.lang.simplification.SimplifiedLiteral;
1919

2020
import java.lang.reflect.Array;
2121

@@ -43,6 +43,10 @@ public ExprReversedList(Expression<?> list) {
4343
@Override
4444
public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) {
4545
list = LiteralUtils.defendExpression(exprs[0]);
46+
if (list.isSingle()) {
47+
Skript.error("A single object cannot be reversed.");
48+
return false;
49+
}
4650
return LiteralUtils.canInitSafely(list);
4751
}
4852

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
test "reversed single":
2+
parse:
3+
loop reversed 5:
4+
broadcast "filler"
5+
assert last parse logs contains "A single object cannot be reversed." with "Parse error was not thrown"
6+
7+
set {_num} to 5
8+
parse:
9+
loop reversed {_num}:
10+
broadcast "filler"
11+
assert last parse logs contains "A single object cannot be reversed." with "Parse error was not thrown"
12+
13+
test "reversed literal times":
14+
loop reversed 5 times:
15+
add loop-value to {_reversed::*}
16+
assert {_reversed::*} is (5, 4, 3, 2, and 1) with "reversed literal times did not parse correctly"

0 commit comments

Comments
 (0)