MCPcopy Create free account
hub / github.com/dop251/goja / arrayproto_reverse_generic_step

Function arrayproto_reverse_generic_step

builtin_array.go:950–972  ·  view source on GitHub ↗
(o *Object, lower, upper int64)

Source from the content-addressed store, hash-verified

948}
949
950func arrayproto_reverse_generic_step(o *Object, lower, upper int64) {
951 lowerP := valueInt(lower)
952 upperP := valueInt(upper)
953 var lowerValue, upperValue Value
954 lowerExists := o.self.hasPropertyIdx(lowerP)
955 if lowerExists {
956 lowerValue = nilSafe(o.self.getIdx(lowerP, nil))
957 }
958 upperExists := o.self.hasPropertyIdx(upperP)
959 if upperExists {
960 upperValue = nilSafe(o.self.getIdx(upperP, nil))
961 }
962 if lowerExists && upperExists {
963 o.self.setOwnIdx(lowerP, upperValue, true)
964 o.self.setOwnIdx(upperP, lowerValue, true)
965 } else if !lowerExists && upperExists {
966 o.self.setOwnIdx(lowerP, upperValue, true)
967 o.self.deleteIdx(upperP, true)
968 } else if lowerExists {
969 o.self.deleteIdx(lowerP, true)
970 o.self.setOwnIdx(upperP, lowerValue, true)
971 }
972}
973
974func (r *Runtime) arrayproto_reverse_generic(o *Object, start int64) {
975 l := toLength(o.self.getStr("length", nil))

Callers 1

Calls 6

valueIntTypeAlias · 0.85
nilSafeFunction · 0.85
hasPropertyIdxMethod · 0.65
getIdxMethod · 0.65
setOwnIdxMethod · 0.65
deleteIdxMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…