@@ -5,10 +5,11 @@ package reflect
5
5
6
6
import (
7
7
"errors"
8
- "internal/itoa"
9
8
"strconv"
10
9
"unsafe"
11
10
11
+ "internal/itoa"
12
+
12
13
"github.com/gopherjs/gopherjs/js"
13
14
)
14
15
@@ -682,58 +683,16 @@ func (iter *mapIter) skipUntilValidKey() {
682
683
}
683
684
}
684
685
685
- func mapiterinit (t * rtype , m unsafe.Pointer ) unsafe.Pointer {
686
+ func mapiterinit (t * rtype , m unsafe.Pointer , _ * hiter ) unsafe.Pointer {
686
687
return unsafe .Pointer (& mapIter {t , js .InternalObject (m ), js .Global .Call ("$keys" , js .InternalObject (m )), 0 , nil })
687
688
}
688
689
689
- func mapiterkey (it unsafe.Pointer ) unsafe.Pointer {
690
- iter := (* mapIter )(it )
691
- var kv * js.Object
692
- if iter .last != nil {
693
- kv = iter .last
694
- } else {
695
- iter .skipUntilValidKey ()
696
- if iter .i == iter .keys .Length () {
697
- return nil
698
- }
699
- k := iter .keys .Index (iter .i )
700
- kv = iter .m .Get (k .String ())
701
-
702
- // Record the key-value pair for later accesses.
703
- iter .last = kv
704
- }
705
- return unsafe .Pointer (js .Global .Call ("$newDataPointer" , kv .Get ("k" ), jsType (PtrTo (iter .t .Key ()))).Unsafe ())
706
- }
707
-
708
- func mapiterelem (it unsafe.Pointer ) unsafe.Pointer {
709
- iter := (* mapIter )(it )
710
- var kv * js.Object
711
- if iter .last != nil {
712
- kv = iter .last
713
- } else {
714
- iter .skipUntilValidKey ()
715
- if iter .i == iter .keys .Length () {
716
- return nil
717
- }
718
- k := iter .keys .Index (iter .i )
719
- kv = iter .m .Get (k .String ())
720
- iter .last = kv
721
- }
722
- return unsafe .Pointer (js .Global .Call ("$newDataPointer" , kv .Get ("v" ), jsType (PtrTo (iter .t .Elem ()))).Unsafe ())
723
- }
724
-
725
- func mapiternext (it unsafe.Pointer ) {
726
- iter := (* mapIter )(it )
727
- iter .last = nil
728
- iter .i ++
729
- }
730
-
731
690
func maplen (m unsafe.Pointer ) int {
732
691
return js .Global .Call ("$keys" , js .InternalObject (m )).Length ()
733
692
}
734
693
735
694
func cvtDirect (v Value , typ Type ) Value {
736
- var srcVal = v .object ()
695
+ srcVal : = v .object ()
737
696
if srcVal == jsType (v .typ ).Get ("nil" ) {
738
697
return makeValue (typ , jsType (typ ).Get ("nil" ), v .flag )
739
698
}
@@ -1649,7 +1608,7 @@ func deepValueEqualJs(v1, v2 Value, visited [][2]unsafe.Pointer) bool {
1649
1608
return true
1650
1609
}
1651
1610
}
1652
- var n = v1 .Len ()
1611
+ n : = v1 .Len ()
1653
1612
if n != v2 .Len () {
1654
1613
return false
1655
1614
}
@@ -1667,7 +1626,7 @@ func deepValueEqualJs(v1, v2 Value, visited [][2]unsafe.Pointer) bool {
1667
1626
case Ptr :
1668
1627
return deepValueEqualJs (v1 .Elem (), v2 .Elem (), visited )
1669
1628
case Struct :
1670
- var n = v1 .NumField ()
1629
+ n : = v1 .NumField ()
1671
1630
for i := 0 ; i < n ; i ++ {
1672
1631
if ! deepValueEqualJs (v1 .Field (i ), v2 .Field (i ), visited ) {
1673
1632
return false
@@ -1681,7 +1640,7 @@ func deepValueEqualJs(v1, v2 Value, visited [][2]unsafe.Pointer) bool {
1681
1640
if v1 .object () == v2 .object () {
1682
1641
return true
1683
1642
}
1684
- var keys = v1 .MapKeys ()
1643
+ keys : = v1 .MapKeys ()
1685
1644
if len (keys ) != v2 .Len () {
1686
1645
return false
1687
1646
}
0 commit comments