6161import com .oracle .truffle .js .builtins .ArrayPrototypeBuiltins .CreateArrayIteratorNode ;
6262import com .oracle .truffle .js .builtins .ArrayPrototypeBuiltins .JSArrayOperation ;
6363import com .oracle .truffle .js .builtins .ArrayPrototypeBuiltins .JSArrayOperationWithToInt ;
64+ import com .oracle .truffle .js .builtins .ArrayPrototypeBuiltinsFactory .JSArrayAtNodeGen ;
6465import com .oracle .truffle .js .builtins .ArrayPrototypeBuiltinsFactory .JSArrayCopyWithinNodeGen ;
6566import com .oracle .truffle .js .builtins .ArrayPrototypeBuiltinsFactory .JSArrayEveryNodeGen ;
6667import com .oracle .truffle .js .builtins .ArrayPrototypeBuiltinsFactory .JSArrayFillNodeGen ;
9596import com .oracle .truffle .js .runtime .BigInt ;
9697import com .oracle .truffle .js .runtime .Boundaries ;
9798import com .oracle .truffle .js .runtime .Errors ;
99+ import com .oracle .truffle .js .runtime .JSConfig ;
98100import com .oracle .truffle .js .runtime .JSContext ;
99101import com .oracle .truffle .js .runtime .JSRuntime ;
100102import com .oracle .truffle .js .runtime .array .ScriptArray ;
@@ -145,8 +147,11 @@ public enum TypedArrayPrototype implements BuiltinEnum<TypedArrayPrototype> {
145147 values (0 ),
146148 entries (0 ),
147149
148- // ES7
149- includes (1 );
150+ // ES2016
151+ includes (1 ),
152+
153+ // ES2022
154+ at (1 );
150155
151156 private final int length ;
152157
@@ -162,7 +167,9 @@ public int getLength() {
162167 @ Override
163168 public int getECMAScriptVersion () {
164169 if (this == includes ) {
165- return 7 ;
170+ return JSConfig .ECMAScript2016 ;
171+ } else if (this == at ) {
172+ return JSConfig .ECMAScript2022 ;
166173 }
167174 return BuiltinEnum .super .getECMAScriptVersion ();
168175 }
@@ -221,6 +228,8 @@ protected Object createNode(JSContext context, JSBuiltin builtin, boolean constr
221228
222229 case includes :
223230 return JSArrayIncludesNodeGen .create (context , builtin , true , args ().withThis ().fixedArgs (2 ).createArgumentNodes (context ));
231+ case at :
232+ return JSArrayAtNodeGen .create (context , builtin , true , args ().withThis ().fixedArgs (1 ).createArgumentNodes (context ));
224233 }
225234 return null ;
226235 }
0 commit comments