(obj *Object, size int64)
| 36 | } |
| 37 | |
| 38 | func arraySpeciesCreate(obj *Object, size int64) *Object { |
| 39 | if isArray(obj) { |
| 40 | v := obj.self.getStr("constructor", nil) |
| 41 | if constructObj, ok := v.(*Object); ok { |
| 42 | v = constructObj.self.getSym(SymSpecies, nil) |
| 43 | if v == _null { |
| 44 | v = nil |
| 45 | } |
| 46 | } |
| 47 | |
| 48 | if v != nil && v != _undefined { |
| 49 | constructObj, _ := v.(*Object) |
| 50 | if constructObj != nil { |
| 51 | if constructor := constructObj.self.assertConstructor(); constructor != nil { |
| 52 | return constructor([]Value{intToValue(size)}, constructObj) |
| 53 | } |
| 54 | } |
| 55 | panic(obj.runtime.NewTypeError("Species is not a constructor")) |
| 56 | } |
| 57 | } |
| 58 | return obj.runtime.newArrayLength(size) |
| 59 | } |
| 60 | |
| 61 | func relToIdx(rel, l int64) int64 { |
| 62 | if rel >= 0 { |
no test coverage detected
searching dependent graphs…