Pārlūkot izejas kodu

Fix range access overshadowing key access

MaximeBarniaudy pirms 1 gada
vecāks
revīzija
0bae1d68ba
1 mainītis faili ar 9 papildinājumiem un 9 dzēšanām
  1. +9
    -9
      minproto.leg

+ 9
- 9
minproto.leg Parādīt failu

@ -1931,16 +1931,16 @@ oop GetArray_eval(oop exp, oop env)
default: typeError("[]", "non-indexable object", obj);
}
}
if (getType(ind) == Object) {
switch (getType(obj)) {
case String: {
int start = integerValue(eval(Object_get(ind, sym_start), env), "[..]");
int end = integerValue(eval(Object_get(ind, sym_end ), env), "[..]");
oop slice = newStringLen(String_aref(obj, start), end - start);
return slice;
if (getType(ind) == Object && Object_get(ind, prop_name) == Object_get(pRange, prop_name)) {
switch (getType(obj)) {
case String: {
int start = integerValue(eval(Object_get(ind, sym_start), env), "[..]");
int end = integerValue(eval(Object_get(ind, sym_end ), env), "[..]");
oop slice = newStringLen(String_aref(obj, start), end - start);
return slice;
}
default: fatal("[]: %s is not range - indexable", storeString(obj, 0));
}
default: fatal("[]: %s is not range - indexable", storeString(obj, 0));
}
}
if (!is(Object, obj)) fatal("[]: %s is not an object", storeString(obj, 0));
return Object_getLocal(obj, ind);

Notiek ielāde…
Atcelt
Saglabāt