OLD | NEW |
1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "bindings/core/v8/IDLTypes.h" | 5 #include "bindings/core/v8/IDLTypes.h" |
6 | 6 |
7 #include <type_traits> | 7 #include <type_traits> |
8 #include "bindings/core/v8/DictionarySequenceOrDictionary.h" | 8 #include "bindings/core/v8/DictionarySequenceOrDictionary.h" |
9 #include "bindings/core/v8/V8InternalDictionary.h" | 9 #include "bindings/core/v8/V8InternalDictionary.h" |
10 #include "core/dom/Element.h" | 10 #include "core/dom/Element.h" |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 HeapVector<Member<Element>>>::value, | 110 HeapVector<Member<Element>>>::value, |
111 "IDLSequence<GC-type>> produces a HeapVector<Member<>>"); | 111 "IDLSequence<GC-type>> produces a HeapVector<Member<>>"); |
112 static_assert(std::is_same<IDLSequence<InternalDictionary>::ImplType, | 112 static_assert(std::is_same<IDLSequence<InternalDictionary>::ImplType, |
113 HeapVector<InternalDictionary>>::value, | 113 HeapVector<InternalDictionary>>::value, |
114 "IDLSequence<dictionary type> produces a HeapVector"); | 114 "IDLSequence<dictionary type> produces a HeapVector"); |
115 static_assert( | 115 static_assert( |
116 std::is_same<IDLSequence<DictionarySequenceOrDictionary>::ImplType, | 116 std::is_same<IDLSequence<DictionarySequenceOrDictionary>::ImplType, |
117 HeapVector<DictionarySequenceOrDictionary>>::value, | 117 HeapVector<DictionarySequenceOrDictionary>>::value, |
118 "IDLSequence<union type> produces a HeapVector"); | 118 "IDLSequence<union type> produces a HeapVector"); |
119 | 119 |
| 120 static_assert(std::is_base_of<IDLBase, IDLRecord<IDLString, IDLShort>>::value, |
| 121 "IDLRecord inherits from IDLBase"); |
| 122 static_assert(std::is_base_of<IDLBase, IDLRecord<IDLString, Element>>::value, |
| 123 "IDLRecord inherits from IDLBase"); |
| 124 static_assert(std::is_same<IDLRecord<IDLByteString, IDLLong>::ImplType, |
| 125 Vector<std::pair<String, int32_t>>>::value, |
| 126 "IDLRecord<IDLByteString, IDLLong> produces a Vector"); |
| 127 static_assert( |
| 128 std::is_same<IDLRecord<IDLByteString, Element>::ImplType, |
| 129 HeapVector<std::pair<String, Member<Element>>>>::value, |
| 130 "IDLRecord<IDLByteString, GC-type>> produces a HeapVector with Member<>"); |
| 131 static_assert( |
| 132 std::is_same<IDLRecord<IDLUSVString, InternalDictionary>::ImplType, |
| 133 HeapVector<std::pair<String, InternalDictionary>>>::value, |
| 134 "IDLRecord<IDLUSVString, dictionary type> produces a HeapVector with no " |
| 135 "Member<>"); |
| 136 static_assert( |
| 137 std::is_same< |
| 138 IDLRecord<IDLString, DictionarySequenceOrDictionary>::ImplType, |
| 139 HeapVector<std::pair<String, DictionarySequenceOrDictionary>>>::value, |
| 140 "IDLRecord<IDLString, union type> produces a HeapVector with no Member<>"); |
| 141 |
120 } // namespace | 142 } // namespace |
121 | 143 |
122 } // namespace blink | 144 } // namespace blink |
OLD | NEW |