Skip to content

Commit dbd1950

Browse files
committed
Migrate ExprRawExpression to using infoBuilder
1 parent 583f282 commit dbd1950

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

src/main/java/org/skriptlang/reflect/syntax/custom/shared/elements/expressions/ExprRawExpression.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,38 @@
11
package org.skriptlang.reflect.syntax.custom.shared.elements.expressions;
22

33
import ch.njol.skript.classes.Changer.ChangeMode;
4+
import ch.njol.skript.expressions.base.PropertyExpression;
45
import ch.njol.skript.lang.Expression;
56
import ch.njol.skript.lang.SkriptParser.ParseResult;
67
import ch.njol.skript.lang.util.SimpleExpression;
8+
import ch.njol.skript.util.LiteralUtils;
79
import ch.njol.util.Kleenean;
810
import com.btk5h.skriptmirror.skript.reflect.ExprJavaCall;
911
import org.bukkit.event.Event;
1012
import org.jetbrains.annotations.Nullable;
1113
import org.skriptlang.reflect.syntax.custom.shared.CustomSyntaxEvent;
12-
import org.skriptlang.skript.registration.SyntaxInfo;
1314
import org.skriptlang.skript.registration.SyntaxRegistry;
1415

1516
public class ExprRawExpression extends SimpleExpression<Expression> {
1617

1718
public static void register(SyntaxRegistry registry) {
18-
registry.register(SyntaxRegistry.EXPRESSION, SyntaxInfo.Expression.builder(ExprRawExpression.class, Expression.class)
19+
registry.register(SyntaxRegistry.EXPRESSION, PropertyExpression.infoBuilder(
20+
ExprRawExpression.class,
21+
Expression.class,
22+
"(raw|underlying) expression[s]",
23+
"objects",
24+
false
25+
)
1926
.supplier(ExprRawExpression::new)
20-
.addPattern("[the] (raw|underlying) expression[s] of %objects%")
21-
.addPattern("%objects%'[s] (raw|underlying) expression[s]")
22-
.priority(SyntaxInfo.PATTERN_MATCHES_EVERYTHING)
2327
.build());
2428
}
2529

2630
private Expression<?> expr;
2731

2832
@Override
2933
public boolean init(Expression<?>[] expressions, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) {
30-
expr = expressions[0];
31-
return true;
34+
expr = LiteralUtils.defendExpression(expressions[0]);
35+
return LiteralUtils.canInitSafely(expressions);
3236
}
3337

3438
@Override

0 commit comments

Comments
 (0)