diff --git a/js/xpconnect/src/XPCConvert.cpp b/js/xpconnect/src/XPCConvert.cpp index acb251426d09..54a12fd643f8 100644 --- a/js/xpconnect/src/XPCConvert.cpp +++ b/js/xpconnect/src/XPCConvert.cpp @@ -385,7 +385,7 @@ XPCConvert::NativeData2JS(MutableHandleValue d, const void* s, return true; } - case nsXPTType::T_ARRAY: + case nsXPTType::T_LEGACY_ARRAY: return NativeArray2JS(d, *static_cast(s), type.ArrayElementType(), iid, arrlen, pErr); @@ -841,7 +841,7 @@ XPCConvert::JSData2Native(void* d, HandleValue s, return ok; } - case nsXPTType::T_ARRAY: + case nsXPTType::T_LEGACY_ARRAY: { void** dest = (void**)d; const nsXPTType& elty = type.ArrayElementType(); @@ -1561,7 +1561,7 @@ xpc::InnerCleanupValue(const nsXPTType& aType, void* aValue, uint32_t aArrayLen) MOZ_ASSERT(aArrayLen == 0 || aType.Tag() == nsXPTType::T_PSTRING_SIZE_IS || aType.Tag() == nsXPTType::T_PWSTRING_SIZE_IS || - aType.Tag() == nsXPTType::T_ARRAY, + aType.Tag() == nsXPTType::T_LEGACY_ARRAY, "Array lengths may only appear for certain types!"); switch (aType.Tag()) { @@ -1599,7 +1599,7 @@ xpc::InnerCleanupValue(const nsXPTType& aType, void* aValue, uint32_t aArrayLen) break; // Array Types - case nsXPTType::T_ARRAY: + case nsXPTType::T_LEGACY_ARRAY: { const nsXPTType& elty = aType.ArrayElementType(); void* elements = *(void**)aValue; diff --git a/js/xpconnect/src/XPCWrappedJSClass.cpp b/js/xpconnect/src/XPCWrappedJSClass.cpp index d0509c07de4d..03ace25c39ad 100644 --- a/js/xpconnect/src/XPCWrappedJSClass.cpp +++ b/js/xpconnect/src/XPCWrappedJSClass.cpp @@ -668,7 +668,7 @@ nsXPCWrappedJSClass::GetArraySizeFromParam(const nsXPTMethodInfo* method, nsXPTCMiniVariant* nativeParams, uint32_t* result) const { - if (type.Tag() != nsXPTType::T_ARRAY && + if (type.Tag() != nsXPTType::T_LEGACY_ARRAY && type.Tag() != nsXPTType::T_PSTRING_SIZE_IS && type.Tag() != nsXPTType::T_PWSTRING_SIZE_IS) { *result = 0; diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrappedNative.cpp index 5154a544f7f7..4fec18dbe641 100644 --- a/js/xpconnect/src/XPCWrappedNative.cpp +++ b/js/xpconnect/src/XPCWrappedNative.cpp @@ -1258,7 +1258,7 @@ CallMethodHelper::GetArraySizeFromParam(const nsXPTType& type, HandleValue maybeArray, uint32_t* result) { - if (type.Tag() != nsXPTType::T_ARRAY && + if (type.Tag() != nsXPTType::T_LEGACY_ARRAY && type.Tag() != nsXPTType::T_PSTRING_SIZE_IS && type.Tag() != nsXPTType::T_PWSTRING_SIZE_IS) { *result = 0; @@ -1687,7 +1687,7 @@ TraceParam(JSTracer* aTrc, void* aVal, const nsXPTType& aType, for (uint32_t i = 0; i < sequence->Length(); ++i) { TraceParam(aTrc, elty.ElementPtr(sequence->Elements(), i), elty); } - } else if (aType.Tag() == nsXPTType::T_ARRAY && *(void**)aVal) { + } else if (aType.Tag() == nsXPTType::T_LEGACY_ARRAY && *(void**)aVal) { const nsXPTType& elty = aType.ArrayElementType(); for (uint32_t i = 0; i < aArrayLen; ++i) { diff --git a/js/xpconnect/src/xpcprivate.h b/js/xpconnect/src/xpcprivate.h index ba10bd400cd6..1c951e769c9b 100644 --- a/js/xpconnect/src/xpcprivate.h +++ b/js/xpconnect/src/xpcprivate.h @@ -3050,7 +3050,7 @@ nsIPrincipal* GetObjectPrincipal(JSObject* obj); // value : char[16_t]** (free) // TD_INTERFACE_TYPE, TD_INTERFACE_IS_TYPE // value : nsISupports** (release) -// TD_ARRAY (NOTE: aArrayLen should be passed) +// TD_LEGACY_ARRAY (NOTE: aArrayLen should be passed) // value : void** (cleanup elements & free) // TD_DOMOBJECT // value : T** (cleanup) diff --git a/xpcom/ds/nsIVariant.idl b/xpcom/ds/nsIVariant.idl index 6d7647e65284..296ed5dc7195 100644 --- a/xpcom/ds/nsIVariant.idl +++ b/xpcom/ds/nsIVariant.idl @@ -34,7 +34,7 @@ interface nsIDataType : nsISupports const uint16_t VTYPE_WCHAR_STR = 17; // TD_PWSTRING = 17, const uint16_t VTYPE_INTERFACE = 18; // TD_INTERFACE_TYPE = 18, const uint16_t VTYPE_INTERFACE_IS = 19; // TD_INTERFACE_IS_TYPE = 19, - const uint16_t VTYPE_ARRAY = 20; // TD_ARRAY = 20, + const uint16_t VTYPE_ARRAY = 20; // TD_LEGACY_ARRAY = 20, const uint16_t VTYPE_STRING_SIZE_IS = 21; // TD_PSTRING_SIZE_IS = 21, const uint16_t VTYPE_WSTRING_SIZE_IS = 22; // TD_PWSTRING_SIZE_IS = 22, const uint16_t VTYPE_UTF8STRING = 23; // TD_UTF8STRING = 23, diff --git a/xpcom/ds/nsVariant.cpp b/xpcom/ds/nsVariant.cpp index c82cb46b5142..48f28668776d 100644 --- a/xpcom/ds/nsVariant.cpp +++ b/xpcom/ds/nsVariant.cpp @@ -1672,7 +1672,7 @@ nsVariantBase::nsVariantBase() {nsIDataType::VTYPE_WCHAR_STR , TD_PWSTRING }, {nsIDataType::VTYPE_INTERFACE , TD_INTERFACE_TYPE }, {nsIDataType::VTYPE_INTERFACE_IS , TD_INTERFACE_IS_TYPE}, - {nsIDataType::VTYPE_ARRAY , TD_ARRAY }, + {nsIDataType::VTYPE_ARRAY , TD_LEGACY_ARRAY }, {nsIDataType::VTYPE_STRING_SIZE_IS , TD_PSTRING_SIZE_IS }, {nsIDataType::VTYPE_WSTRING_SIZE_IS , TD_PWSTRING_SIZE_IS }, {nsIDataType::VTYPE_UTF8STRING , TD_UTF8STRING }, diff --git a/xpcom/idl-parser/xpidl/jsonxpt.py b/xpcom/idl-parser/xpidl/jsonxpt.py index 29c7ec0f0c99..91d962ea665b 100644 --- a/xpcom/idl-parser/xpidl/jsonxpt.py +++ b/xpcom/idl-parser/xpidl/jsonxpt.py @@ -70,11 +70,11 @@ def get_type(type, calltype, iid_is=None, size_is=None): 'element': get_type(type.type, calltype, iid_is), } - if isinstance(type, xpidl.Array): - # NB: For an Array we pass down the iid_is to get the type of T. - # This allows Arrays of InterfaceIs types to work. + if isinstance(type, xpidl.LegacyArray): + # NB: For a Legacy [array] T we pass down iid_is to get the type of T. + # This allows [array] of InterfaceIs types to work. return { - 'tag': 'TD_ARRAY', + 'tag': 'TD_LEGACY_ARRAY', 'size_is': size_is, 'element': get_type(type.type, calltype, iid_is), } diff --git a/xpcom/idl-parser/xpidl/runtests.py b/xpcom/idl-parser/xpidl/runtests.py index 9d2d9c9df3c0..04607511d7ab 100644 --- a/xpcom/idl-parser/xpidl/runtests.py +++ b/xpcom/idl-parser/xpidl/runtests.py @@ -81,7 +81,7 @@ long bar(in long a, in float b, [array] in long c); self.assertEqual("in", m.params[1].paramtype) self.assertEqual("long", m.params[2].type) self.assertEqual("in", m.params[2].paramtype) - self.assertTrue(isinstance(m.params[2].realtype, xpidl.Array)) + self.assertTrue(isinstance(m.params[2].realtype, xpidl.LegacyArray)) self.assertEqual("long", m.params[2].realtype.type.name) def testAttribute(self): diff --git a/xpcom/idl-parser/xpidl/xpidl.py b/xpcom/idl-parser/xpidl/xpidl.py index 3c7180b2273d..49ebf9a1e48d 100755 --- a/xpcom/idl-parser/xpidl/xpidl.py +++ b/xpcom/idl-parser/xpidl/xpidl.py @@ -1206,7 +1206,7 @@ class Param(object): def resolve(self, method): self.realtype = method.iface.idl.getName(self.type, self.location) if self.array: - self.realtype = Array(self.realtype) + self.realtype = LegacyArray(self.realtype) if (self.null is not None and getBuiltinOrNativeTypeName(self.realtype) != '[domstring]'): raise IDLError("'Null' attribute can only be used on DOMString", @@ -1251,7 +1251,7 @@ class Param(object): self.name) -class Array(object): +class LegacyArray(object): def __init__(self, basetype): self.type = basetype self.location = self.type.location diff --git a/xpcom/reflect/xptinfo/xptcodegen.py b/xpcom/reflect/xptinfo/xptcodegen.py index 4b9fa0df497a..e7aef589d610 100644 --- a/xpcom/reflect/xptinfo/xptcodegen.py +++ b/xpcom/reflect/xptinfo/xptcodegen.py @@ -280,13 +280,13 @@ def link_to_cpp(interfaces, fd): tag = type['tag'] d1 = d2 = 0 - if tag == 'TD_ARRAY': + if tag == 'TD_LEGACY_ARRAY': d1 = type['size_is'] d2 = lower_extra_type(type['element']) elif tag == 'TD_SEQUENCE': - # NOTE: TD_SEQUENCE can hold 16 bits of type index, while TD_ARRAY - # can only hold 8. + # NOTE: TD_SEQUENCE can hold 16 bits of type index, while + # TD_LEGACY_ARRAY can only hold 8. d1, d2 = splitint(lower_extra_type(type['element'])) elif tag == 'TD_INTERFACE_TYPE': diff --git a/xpcom/reflect/xptinfo/xptinfo.h b/xpcom/reflect/xptinfo/xptinfo.h index a8323050b28b..8933cac936d7 100644 --- a/xpcom/reflect/xptinfo/xptinfo.h +++ b/xpcom/reflect/xptinfo/xptinfo.h @@ -187,7 +187,7 @@ enum nsXPTTypeTag : uint8_t TD_PWSTRING = 16, TD_INTERFACE_TYPE = 17, TD_INTERFACE_IS_TYPE = 18, - TD_ARRAY = 19, + TD_LEGACY_ARRAY = 19, TD_PSTRING_SIZE_IS = 20, TD_PWSTRING_SIZE_IS = 21, TD_DOMOBJECT = 22, @@ -228,7 +228,7 @@ struct nsXPTType MOZ_ASSERT(Tag() == TD_INTERFACE_IS_TYPE || Tag() == TD_PSTRING_SIZE_IS || Tag() == TD_PWSTRING_SIZE_IS || - Tag() == TD_ARRAY); + Tag() == TD_LEGACY_ARRAY); return mData1; } @@ -241,7 +241,7 @@ public: // fit 8 bits of type data, while sequences support up to 16 bits of type data // due to not needing to store an ArgNum. const nsXPTType& ArrayElementType() const { - if (Tag() == TD_ARRAY) { + if (Tag() == TD_LEGACY_ARRAY) { return xpt::detail::GetType(mData2); } MOZ_ASSERT(Tag() == TD_SEQUENCE); @@ -273,13 +273,13 @@ public: bool IsDependent() const { return (Tag() == TD_SEQUENCE && InnermostType().IsDependent()) || - Tag() == TD_INTERFACE_IS_TYPE || Tag() == TD_ARRAY || + Tag() == TD_INTERFACE_IS_TYPE || Tag() == TD_LEGACY_ARRAY || Tag() == TD_PSTRING_SIZE_IS || Tag() == TD_PWSTRING_SIZE_IS; } // Unwrap a nested type to its innermost value (e.g. through arrays). const nsXPTType& InnermostType() const { - if (Tag() == TD_ARRAY || Tag() == TD_SEQUENCE) { + if (Tag() == TD_LEGACY_ARRAY || Tag() == TD_SEQUENCE) { return ArrayElementType().InnermostType(); } return *this; @@ -324,7 +324,7 @@ public: // Helper methods for fabricating nsXPTType values used by xpconnect. static nsXPTType MkArrayType(Idx aInner) { MOZ_ASSERT(aInner <= Idx::INTERFACE_IS_TYPE); - return { TD_ARRAY, false, false, false, 0, (uint8_t)aInner }; + return { TD_LEGACY_ARRAY, false, false, false, 0, (uint8_t)aInner }; } static const nsXPTType& Get(Idx aInner) { MOZ_ASSERT(aInner <= Idx::INTERFACE_IS_TYPE); @@ -359,7 +359,7 @@ public: TD_ALIAS_(T_WCHAR_STR , TD_PWSTRING ); TD_ALIAS_(T_INTERFACE , TD_INTERFACE_TYPE ); TD_ALIAS_(T_INTERFACE_IS , TD_INTERFACE_IS_TYPE); - TD_ALIAS_(T_ARRAY , TD_ARRAY ); + TD_ALIAS_(T_LEGACY_ARRAY , TD_LEGACY_ARRAY ); TD_ALIAS_(T_PSTRING_SIZE_IS , TD_PSTRING_SIZE_IS ); TD_ALIAS_(T_PWSTRING_SIZE_IS , TD_PWSTRING_SIZE_IS ); TD_ALIAS_(T_UTF8STRING , TD_UTF8STRING ); @@ -676,7 +676,7 @@ nsXPTType::Stride() const case TD_PWSTRING: return sizeof(char16_t*); case TD_INTERFACE_TYPE: return sizeof(nsISupports*); case TD_INTERFACE_IS_TYPE: return sizeof(nsISupports*); - case TD_ARRAY: return sizeof(void*); + case TD_LEGACY_ARRAY: return sizeof(void*); case TD_PSTRING_SIZE_IS: return sizeof(char*); case TD_PWSTRING_SIZE_IS: return sizeof(char16_t*); case TD_DOMOBJECT: return sizeof(void*);