66
77namespace Js
88{
9- template <typename T, bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
10- JavascriptEnumerator* DynamicObjectEnumerator<T, enumNonEnumerable, enumSymbols, snapShotSemantics>::New(ScriptContext* scriptContext, DynamicObject* object)
9+ template <bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
10+ JavascriptEnumerator* DynamicObjectEnumerator<enumNonEnumerable, enumSymbols, snapShotSemantics>::New(ScriptContext* scriptContext, DynamicObject* object)
1111 {
1212 DynamicObjectEnumerator* enumerator = RecyclerNew (scriptContext->GetRecycler (), DynamicObjectEnumerator, scriptContext);
1313 enumerator->Initialize (object);
1414 return enumerator;
1515 }
1616
17- template <typename T, bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
18- DynamicType *DynamicObjectEnumerator<T, enumNonEnumerable, enumSymbols, snapShotSemantics>::GetTypeToEnumerate() const
17+ template <bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
18+ DynamicType *DynamicObjectEnumerator<enumNonEnumerable, enumSymbols, snapShotSemantics>::GetTypeToEnumerate() const
1919 {
2020 return
2121 snapShotSemantics &&
@@ -25,8 +25,8 @@ namespace Js
2525 : object->GetDynamicType ();
2626 }
2727
28- template <typename T, bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
29- uint32 DynamicObjectEnumerator<T, enumNonEnumerable, enumSymbols, snapShotSemantics>::GetCurrentItemIndex()
28+ template <bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
29+ uint32 DynamicObjectEnumerator<enumNonEnumerable, enumSymbols, snapShotSemantics>::GetCurrentItemIndex()
3030 {
3131 if (arrayEnumerator)
3232 {
@@ -38,22 +38,22 @@ namespace Js
3838 }
3939 }
4040
41- template <typename T, bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
42- void DynamicObjectEnumerator<T, enumNonEnumerable, enumSymbols, snapShotSemantics>::Reset()
41+ template <bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
42+ void DynamicObjectEnumerator<enumNonEnumerable, enumSymbols, snapShotSemantics>::Reset()
4343 {
4444 ResetHelper ();
4545 }
4646
4747 // Initialize (or reuse) this enumerator for a given object.
48- template <typename T, bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
49- void DynamicObjectEnumerator<T, enumNonEnumerable, enumSymbols, snapShotSemantics>::Initialize(DynamicObject* object)
48+ template <bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
49+ void DynamicObjectEnumerator<enumNonEnumerable, enumSymbols, snapShotSemantics>::Initialize(DynamicObject* object)
5050 {
5151 this ->object = object;
5252 ResetHelper ();
5353 }
5454
55- template <typename T, bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
56- Var DynamicObjectEnumerator<T, enumNonEnumerable, enumSymbols, snapShotSemantics>::MoveAndGetNext(PropertyId& propertyId, PropertyAttributes* attributes)
55+ template <bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
56+ Var DynamicObjectEnumerator<enumNonEnumerable, enumSymbols, snapShotSemantics>::MoveAndGetNext(PropertyId& propertyId, PropertyAttributes* attributes)
5757 {
5858 if (arrayEnumerator)
5959 {
@@ -83,8 +83,8 @@ namespace Js
8383 return propertyString;
8484 }
8585
86- template <typename T, bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
87- void DynamicObjectEnumerator<T, enumNonEnumerable, enumSymbols, snapShotSemantics>::ResetHelper()
86+ template <bool enumNonEnumerable, bool enumSymbols, bool snapShotSemantics>
87+ void DynamicObjectEnumerator<enumNonEnumerable, enumSymbols, snapShotSemantics>::ResetHelper()
8888 {
8989 if (object->HasObjectArray ())
9090 {
@@ -97,23 +97,15 @@ namespace Js
9797 arrayEnumerator = nullptr ;
9898 }
9999 initialType = object->GetDynamicType ();
100- objectIndex = (T)- 1 ; // This is Constants::NoSlot or Constants:: NoBigSlot
100+ objectIndex = Constants::NoBigSlot;
101101 }
102-
103- template class DynamicObjectEnumerator <PropertyIndex, /* enumNonEnumerable*/ true , /* enumSymbols*/ true , /* snapShotSemantics*/ false >;
104- template class DynamicObjectEnumerator <BigPropertyIndex, /* enumNonEnumerable*/ true , /* enumSymbols*/ true , /* snapShotSemantics*/ false >;
105- template class DynamicObjectEnumerator <PropertyIndex, /* enumNonEnumerable*/ false , /* enumSymbols*/ true , /* snapShotSemantics*/ false >;
106- template class DynamicObjectEnumerator <BigPropertyIndex, /* enumNonEnumerable*/ false , /* enumSymbols*/ true , /* snapShotSemantics*/ false >;
107- template class DynamicObjectEnumerator <PropertyIndex, /* enumNonEnumerable*/ false , /* enumSymbols*/ true , /* snapShotSemantics*/ true >;
108- template class DynamicObjectEnumerator <BigPropertyIndex, /* enumNonEnumerable*/ false , /* enumSymbols*/ true , /* snapShotSemantics*/ true >;
109- template class DynamicObjectEnumerator <PropertyIndex, /* enumNonEnumerable*/ true , /* enumSymbols*/ false , /* snapShotSemantics*/ false >;
110- template class DynamicObjectEnumerator <BigPropertyIndex, /* enumNonEnumerable*/ true , /* enumSymbols*/ false , /* snapShotSemantics*/ false >;
111- template class DynamicObjectEnumerator <PropertyIndex, /* enumNonEnumerable*/ false , /* enumSymbols*/ false , /* snapShotSemantics*/ false >;
112- template class DynamicObjectEnumerator <BigPropertyIndex, /* enumNonEnumerable*/ false , /* enumSymbols*/ false , /* snapShotSemantics*/ false >;
113- template class DynamicObjectEnumerator <PropertyIndex, /* enumNonEnumerable*/ false , /* enumSymbols*/ false , /* snapShotSemantics*/ true >;
114- template class DynamicObjectEnumerator <BigPropertyIndex, /* enumNonEnumerable*/ false , /* enumSymbols*/ false , /* snapShotSemantics*/ true >;
115- template class DynamicObjectEnumerator <PropertyIndex, /* enumNonEnumerable*/ true , /* enumSymbols*/ false , /* snapShotSemantics*/ true >;
116- template class DynamicObjectEnumerator <BigPropertyIndex, /* enumNonEnumerable*/ true , /* enumSymbols*/ false , /* snapShotSemantics*/ true >;
117- template class DynamicObjectEnumerator <PropertyIndex, /* enumNonEnumerable*/ true , /* enumSymbols*/ true , /* snapShotSemantics*/ true >;
118- template class DynamicObjectEnumerator <BigPropertyIndex, /* enumNonEnumerable*/ true , /* enumSymbols*/ true , /* snapShotSemantics*/ true >;
102+
103+ template class DynamicObjectEnumerator </* enumNonEnumerable*/ true , /* enumSymbols*/ true , /* snapShotSemantics*/ false >;
104+ template class DynamicObjectEnumerator </* enumNonEnumerable*/ false , /* enumSymbols*/ true , /* snapShotSemantics*/ false >;
105+ template class DynamicObjectEnumerator </* enumNonEnumerable*/ false , /* enumSymbols*/ true , /* snapShotSemantics*/ true >;
106+ template class DynamicObjectEnumerator </* enumNonEnumerable*/ true , /* enumSymbols*/ false , /* snapShotSemantics*/ false >;
107+ template class DynamicObjectEnumerator </* enumNonEnumerable*/ false , /* enumSymbols*/ false , /* snapShotSemantics*/ false >;
108+ template class DynamicObjectEnumerator </* enumNonEnumerable*/ false , /* enumSymbols*/ false , /* snapShotSemantics*/ true >;
109+ template class DynamicObjectEnumerator </* enumNonEnumerable*/ true , /* enumSymbols*/ false , /* snapShotSemantics*/ true >;
110+ template class DynamicObjectEnumerator </* enumNonEnumerable*/ true , /* enumSymbols*/ true , /* snapShotSemantics*/ true >;
119111}
0 commit comments