more fixes

This commit is contained in:
2023-08-26 12:01:02 +03:00
parent 33d96429f4
commit d05cd19414
3 changed files with 4 additions and 3 deletions

View File

@@ -449,7 +449,7 @@ public class Values {
} }
if (clazz.isArray()) { if (clazz.isArray()) {
var raw = array(obj).toArray(); var raw = array(obj).toArray();
Object res = Array.newInstance(clazz.arrayType(), raw.length); Object res = Array.newInstance(clazz.getComponentType(), raw.length);
for (var i = 0; i < raw.length; i++) Array.set(res, i, convert(ctx, raw[i], Object.class)); for (var i = 0; i < raw.length; i++) Array.set(res, i, convert(ctx, raw[i], Object.class));
return (T)res; return (T)res;
} }

View File

@@ -31,7 +31,7 @@ public class OverloadFunction extends FunctionValue {
} }
if (overload.variadic) { if (overload.variadic) {
var type = overload.params[overload.params.length - 1].componentType(); var type = overload.params[overload.params.length - 1].getComponentType();
var n = Math.max(args.length - end + start, 0); var n = Math.max(args.length - end + start, 0);
Object varArg = Array.newInstance(type, n); Object varArg = Array.newInstance(type, n);

View File

@@ -1,6 +1,7 @@
package me.topchetoeu.jscript.polyfills; package me.topchetoeu.jscript.polyfills;
import java.util.HashSet; import java.util.HashSet;
import java.util.stream.Collectors;
import me.topchetoeu.jscript.engine.CallContext; import me.topchetoeu.jscript.engine.CallContext;
import me.topchetoeu.jscript.engine.values.ArrayValue; import me.topchetoeu.jscript.engine.values.ArrayValue;
@@ -18,7 +19,7 @@ public class JSON {
if (val.isBoolean()) return val.bool(); if (val.isBoolean()) return val.bool();
if (val.isString()) return val.string(); if (val.isString()) return val.string();
if (val.isNumber()) return val.number(); if (val.isNumber()) return val.number();
if (val.isList()) return ArrayValue.of(val.list().stream().map(JSON::toJS).toList()); if (val.isList()) return ArrayValue.of(val.list().stream().map(JSON::toJS).collect(Collectors.toList()));
if (val.isMap()) { if (val.isMap()) {
var res = new ObjectValue(); var res = new ObjectValue();
for (var el : val.map().entrySet()) { for (var el : val.map().entrySet()) {