11package ch .njol .skript .lang ;
22
3- import ch .njol .skript .lang .util .SimpleLiteral ;
43import ch .njol .skript .registrations .Classes ;
54import org .jetbrains .annotations .Nullable ;
65
7- import java .lang .reflect .Array ;
8-
96/**
107 * A list of literals. Can contain {@link UnparsedLiteral}s.
118 *
@@ -21,11 +18,11 @@ public LiteralList(Literal<? extends T>[] literals, Class<T> returnType, Class<?
2118 super (literals , returnType , possibleReturnTypes , and );
2219 }
2320
24- public LiteralList (Literal <? extends T >[] literals , Class <T > returnType , boolean and , ExpressionList <?> source ) {
21+ public LiteralList (Literal <? extends T >[] literals , Class <T > returnType , boolean and , LiteralList <?> source ) {
2522 super (literals , returnType , and , source );
2623 }
2724
28- public LiteralList (Literal <? extends T >[] literals , Class <T > returnType , Class <?>[] possibleReturnTypes , boolean and , ExpressionList <?> source ) {
25+ public LiteralList (Literal <? extends T >[] literals , Class <T > returnType , Class <?>[] possibleReturnTypes , boolean and , LiteralList <?> source ) {
2926 super (literals , returnType , possibleReturnTypes , and , source );
3027 }
3128
@@ -63,17 +60,7 @@ public Literal<? extends T>[] getExpressions() {
6360 }
6461
6562 @ Override
66- @ SuppressWarnings ("unchecked" )
6763 public Expression <T > simplify () {
68- boolean isSimpleList = true ;
69- for (Expression <? extends T > expression : expressions )
70- isSimpleList &= expression .isSingle ();
71- if (isSimpleList ) {
72- T [] values = (T []) Array .newInstance (getReturnType (), expressions .length );
73- for (int i = 0 ; i < values .length ; i ++)
74- values [i ] = ((Literal <? extends T >) expressions [i ]).getSingle ();
75- return new SimpleLiteral <>(values , getReturnType (), and , this );
76- }
7764 return this ;
7865 }
7966
0 commit comments