logic: template related fixes

* fixed recording template member specializations of methods as explicit nodes
* fixed template members variables sometimes recorded as functions with call edges
This commit is contained in:
mlangkabel
2017-11-06 17:11:15 +01:00
parent ad20275dae
commit 595f918f4d
14 changed files with 75 additions and 46 deletions
@@ -2624,14 +2624,13 @@ REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> v
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <102:38 102:41>]
REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> int [b3AlignedObjectArray.h <102:34 102:36>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <104:8 104:11>]
SYMBOL_FUNCTION b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator
REFERENCE_CALL void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
REFERENCE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <105:33 105:36>]
SYMBOL_METHOD protected void b3AlignedObjectArray<typename T>::deallocate() [b3AlignedObjectArray.h <109:3 <109:24 109:33> 119:3>]
REFERENCE_TYPE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> void [b3AlignedObjectArray.h <109:19 109:22>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <111:7 111:12>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> bool b3AlignedObjectArray<typename T>::m_ownsMemory [b3AlignedObjectArray.h <113:9 113:20>]
REFERENCE_CALL void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <115:29 115:34>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <117:5 117:10>]
SYMBOL_METHOD public void b3AlignedObjectArray<typename T>::b3AlignedObjectArray<T>() [b3AlignedObjectArray.h <126:3 <126:3 126:22> 129:3>]
@@ -2811,14 +2811,13 @@ REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> v
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <102:38 102:41>]
REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> int [b3AlignedObjectArray.h <102:34 102:36>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <104:8 104:11>]
SYMBOL_FUNCTION b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator
REFERENCE_CALL void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
REFERENCE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <105:33 105:36>]
SYMBOL_METHOD protected void b3AlignedObjectArray<typename T>::deallocate() [b3AlignedObjectArray.h <109:3 <109:24 109:33> 119:3>]
REFERENCE_TYPE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> void [b3AlignedObjectArray.h <109:19 109:22>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <111:7 111:12>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> bool b3AlignedObjectArray<typename T>::m_ownsMemory [b3AlignedObjectArray.h <113:9 113:20>]
REFERENCE_CALL void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <115:29 115:34>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <117:5 117:10>]
SYMBOL_METHOD public void b3AlignedObjectArray<typename T>::b3AlignedObjectArray<T>() [b3AlignedObjectArray.h <126:3 <126:3 126:22> 129:3>]
@@ -2255,14 +2255,13 @@ REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> v
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <102:38 102:41>]
REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> int [b3AlignedObjectArray.h <102:34 102:36>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <104:8 104:11>]
SYMBOL_FUNCTION b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator
REFERENCE_CALL void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
REFERENCE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <105:33 105:36>]
SYMBOL_METHOD protected void b3AlignedObjectArray<typename T>::deallocate() [b3AlignedObjectArray.h <109:3 <109:24 109:33> 119:3>]
REFERENCE_TYPE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> void [b3AlignedObjectArray.h <109:19 109:22>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <111:7 111:12>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> bool b3AlignedObjectArray<typename T>::m_ownsMemory [b3AlignedObjectArray.h <113:9 113:20>]
REFERENCE_CALL void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <115:29 115:34>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <117:5 117:10>]
SYMBOL_METHOD public void b3AlignedObjectArray<typename T>::b3AlignedObjectArray<T>() [b3AlignedObjectArray.h <126:3 <126:3 126:22> 129:3>]
@@ -2416,14 +2416,13 @@ REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> v
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <102:38 102:41>]
REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> int [b3AlignedObjectArray.h <102:34 102:36>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <104:8 104:11>]
SYMBOL_FUNCTION b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator
REFERENCE_CALL void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
REFERENCE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <105:33 105:36>]
SYMBOL_METHOD protected void b3AlignedObjectArray<typename T>::deallocate() [b3AlignedObjectArray.h <109:3 <109:24 109:33> 119:3>]
REFERENCE_TYPE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> void [b3AlignedObjectArray.h <109:19 109:22>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <111:7 111:12>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> bool b3AlignedObjectArray<typename T>::m_ownsMemory [b3AlignedObjectArray.h <113:9 113:20>]
REFERENCE_CALL void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <115:29 115:34>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <117:5 117:10>]
SYMBOL_METHOD public void b3AlignedObjectArray<typename T>::b3AlignedObjectArray<T>() [b3AlignedObjectArray.h <126:3 <126:3 126:22> 129:3>]
@@ -10494,8 +10493,7 @@ REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::growTables(const b3
REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> b3HashMap<class Key, class Value>::Key [b3HashMap.h <234:24 234:26>]
LOCAL_SYMBOL: b3HashMap.h<236:7> [b3HashMap.h <236:7 236:17>]
REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> int [b3HashMap.h <236:3 236:5>]
SYMBOL_FUNCTION b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray
REFERENCE_CALL void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <236:21 236:32>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <236:21 236:32>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> int b3AlignedObjectArray<int>::size() const [b3HashMap.h <238:19 238:22>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<int> b3HashMap<class Key, class Value>::m_hashTable [b3HashMap.h <238:7 238:17>]
LOCAL_SYMBOL: b3HashMap.h<236:7> [b3HashMap.h <238:28 238:38>]
@@ -10531,10 +10529,9 @@ LOCAL_SYMBOL: b3HashMap.h<241:8> [b3HashMap.h <257:14 257:29>]
LOCAL_SYMBOL: b3HashMap.h<246:8> [b3HashMap.h <257:31 257:31>]
LOCAL_SYMBOL: b3HashMap.h<262:9> [b3HashMap.h <262:9 262:17>]
REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> int [b3HashMap.h <262:5 262:7>]
SYMBOL_FUNCTION b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray
REFERENCE_CALL void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray [b3HashMap.h <262:21 262:30>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray [b3HashMap.h <262:21 262:30>]
LOCAL_SYMBOL: b3HashMap.h<246:8> [b3HashMap.h <262:32 262:32>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <262:48 262:59>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <262:48 262:59>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<int> b3HashMap<class Key, class Value>::m_next [b3HashMap.h <263:5 263:10>]
LOCAL_SYMBOL: b3HashMap.h<246:8> [b3HashMap.h <263:12 263:12>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<int> b3HashMap<class Key, class Value>::m_hashTable [b3HashMap.h <263:17 263:27>]
@@ -10551,7 +10548,7 @@ REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::insert(const b3Hash
LOCAL_SYMBOL: b3HashMap.h<274:7> [b3HashMap.h <274:7 274:10>]
REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> int [b3HashMap.h <274:3 274:5>]
LOCAL_SYMBOL: b3HashMap.h<273:25> [b3HashMap.h <274:14 274:16>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <274:31 274:42>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <274:31 274:42>]
LOCAL_SYMBOL: b3HashMap.h<277:7> [b3HashMap.h <277:7 277:11>]
REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> int [b3HashMap.h <277:3 277:5>]
SYMBOL_FUNCTION int b3HashMap<class Key, class Value>::findIndex(const b3HashMap<class Key, class Value>::Key &) const
@@ -10564,17 +10561,17 @@ LOCAL_SYMBOL: b3HashMap.h<277:7> [b3HashMap.h <280:17 280:21>]
LOCAL_SYMBOL: b3HashMap.h<273:43> [b3HashMap.h <280:24 280:28>]
LOCAL_SYMBOL: b3HashMap.h<284:7> [b3HashMap.h <284:7 284:11>]
REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> int [b3HashMap.h <284:3 284:5>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <284:15 284:26>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <284:15 284:26>]
LOCAL_SYMBOL: b3HashMap.h<285:7> [b3HashMap.h <285:7 285:17>]
REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> int [b3HashMap.h <285:3 285:5>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <285:21 285:32>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <286:3 286:14>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <285:21 285:32>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <286:3 286:14>]
LOCAL_SYMBOL: b3HashMap.h<273:43> [b3HashMap.h <286:26 286:30>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray [b3HashMap.h <287:3 287:12>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray [b3HashMap.h <287:3 287:12>]
LOCAL_SYMBOL: b3HashMap.h<273:25> [b3HashMap.h <287:24 287:26>]
LOCAL_SYMBOL: b3HashMap.h<289:7> [b3HashMap.h <289:7 289:17>]
REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> int [b3HashMap.h <289:3 289:5>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <289:21 289:32>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <289:21 289:32>]
LOCAL_SYMBOL: b3HashMap.h<285:7> [b3HashMap.h <290:7 290:17>]
LOCAL_SYMBOL: b3HashMap.h<289:7> [b3HashMap.h <290:21 290:31>]
SYMBOL_FUNCTION void b3HashMap<class Key, class Value>::growTables(const b3HashMap<class Key, class Value>::Key &)
@@ -10582,7 +10579,7 @@ REFERENCE_CALL void b3HashMap<class Key, class Value>::insert(const b3HashMap<cl
LOCAL_SYMBOL: b3HashMap.h<273:25> [b3HashMap.h <292:15 292:17>]
LOCAL_SYMBOL: b3HashMap.h<274:7> [b3HashMap.h <294:4 294:7>]
LOCAL_SYMBOL: b3HashMap.h<273:25> [b3HashMap.h <294:11 294:13>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <294:28 294:39>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <294:28 294:39>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<int> b3HashMap<class Key, class Value>::m_next [b3HashMap.h <296:3 296:8>]
LOCAL_SYMBOL: b3HashMap.h<284:7> [b3HashMap.h <296:10 296:14>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::insert(const b3HashMap<class Key, class Value>::Key &, const b3HashMap<class Key, class Value>::Value &) -> b3AlignedObjectArray<int> b3HashMap<class Key, class Value>::m_hashTable [b3HashMap.h <296:19 296:29>]
@@ -10597,7 +10594,7 @@ REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::remove(const b3Hash
LOCAL_SYMBOL: b3HashMap.h<302:7> [b3HashMap.h <302:7 302:10>]
REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> int [b3HashMap.h <302:3 302:5>]
LOCAL_SYMBOL: b3HashMap.h<300:25> [b3HashMap.h <302:14 302:16>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <302:31 302:42>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <302:31 302:42>]
LOCAL_SYMBOL: b3HashMap.h<304:7> [b3HashMap.h <304:7 304:15>]
REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> int [b3HashMap.h <304:3 304:5>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> int b3HashMap<class Key, class Value>::findIndex(const b3HashMap<class Key, class Value>::Key &) const [b3HashMap.h <304:19 304:27>]
@@ -10630,16 +10627,16 @@ REFERENCE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<c
LOCAL_SYMBOL: b3HashMap.h<304:7> [b3HashMap.h <329:31 329:39>]
LOCAL_SYMBOL: b3HashMap.h<336:7> [b3HashMap.h <336:7 336:19>]
REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> int [b3HashMap.h <336:3 336:5>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <336:23 336:34>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <336:23 336:34>]
LOCAL_SYMBOL: b3HashMap.h<336:7> [b3HashMap.h <339:7 339:19>]
LOCAL_SYMBOL: b3HashMap.h<304:7> [b3HashMap.h <339:24 339:32>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <341:4 341:15>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray [b3HashMap.h <342:4 342:13>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <341:4 341:15>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray [b3HashMap.h <342:4 342:13>]
LOCAL_SYMBOL: b3HashMap.h<347:7> [b3HashMap.h <347:7 347:14>]
REFERENCE_TYPE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> int [b3HashMap.h <347:3 347:5>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray [b3HashMap.h <347:18 347:27>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray [b3HashMap.h <347:18 347:27>]
LOCAL_SYMBOL: b3HashMap.h<336:7> [b3HashMap.h <347:29 347:41>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <347:57 347:68>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <347:57 347:68>]
LOCAL_SYMBOL: b3HashMap.h<312:7> [b3HashMap.h <349:3 349:7>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<int> b3HashMap<class Key, class Value>::m_hashTable [b3HashMap.h <349:11 349:21>]
LOCAL_SYMBOL: b3HashMap.h<347:7> [b3HashMap.h <349:23 349:30>]
@@ -10677,11 +10674,11 @@ LOCAL_SYMBOL: b3HashMap.h<347:7> [b3HashMap.h <374:35 374:42>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<int> b3HashMap<class Key, class Value>::m_hashTable [b3HashMap.h <375:3 375:13>]
LOCAL_SYMBOL: b3HashMap.h<347:7> [b3HashMap.h <375:15 375:22>]
LOCAL_SYMBOL: b3HashMap.h<304:7> [b3HashMap.h <375:27 375:35>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <377:3 377:14>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray [b3HashMap.h <378:3 378:12>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <377:3 377:14>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::remove(const b3HashMap<class Key, class Value>::Key &) -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray [b3HashMap.h <378:3 378:12>]
SYMBOL_METHOD public int b3HashMap<class Key, class Value>::size() const [b3HashMap.h <383:2 <383:6 383:9> 386:2>]
REFERENCE_TYPE_USAGE int b3HashMap<class Key, class Value>::size() const -> int [b3HashMap.h <383:2 383:4>]
REFERENCE_CALL int b3HashMap<class Key, class Value>::size() const -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <385:10 385:21>]
REFERENCE_USAGE int b3HashMap<class Key, class Value>::size() const -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <385:10 385:21>]
SYMBOL_METHOD public const b3HashMap<class Key, class Value>::Value * b3HashMap<class Key, class Value>::getAtIndex(int) const [b3HashMap.h <388:2 <388:15 388:24> 393:2>]
REFERENCE_TYPE_USAGE const b3HashMap<class Key, class Value>::Value * b3HashMap<class Key, class Value>::getAtIndex(int) const -> b3HashMap<class Key, class Value>::Value [b3HashMap.h <388:8 388:12>]
LOCAL_SYMBOL: b3HashMap.h<388:30> [b3HashMap.h <388:30 388:34>]
@@ -10742,7 +10739,7 @@ REFERENCE_TYPE_USAGE int b3HashMap<class Key, class Value>::findIndex(const b3Ha
LOCAL_SYMBOL: b3HashMap.h<441:16> [b3HashMap.h <441:16 441:19>]
REFERENCE_TYPE_USAGE int b3HashMap<class Key, class Value>::findIndex(const b3HashMap<class Key, class Value>::Key &) const -> unsigned int [b3HashMap.h <441:3 441:10>]
LOCAL_SYMBOL: b3HashMap.h<439:27> [b3HashMap.h <441:23 441:25>]
REFERENCE_CALL int b3HashMap<class Key, class Value>::findIndex(const b3HashMap<class Key, class Value>::Key &) const -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <441:40 441:51>]
REFERENCE_USAGE int b3HashMap<class Key, class Value>::findIndex(const b3HashMap<class Key, class Value>::Key &) const -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <441:40 441:51>]
LOCAL_SYMBOL: b3HashMap.h<441:16> [b3HashMap.h <443:7 443:10>]
REFERENCE_TYPE_USAGE int b3HashMap<class Key, class Value>::findIndex(const b3HashMap<class Key, class Value>::Key &) const -> unsigned int [b3HashMap.h <443:16 443:23>]
REFERENCE_CALL int b3HashMap<class Key, class Value>::findIndex(const b3HashMap<class Key, class Value>::Key &) const -> int b3AlignedObjectArray<int>::size() const [b3HashMap.h <443:41 443:44>]
@@ -10767,8 +10764,8 @@ REFERENCE_CALL void b3HashMap<class Key, class Value>::clear() -> void b3Aligned
REFERENCE_USAGE void b3HashMap<class Key, class Value>::clear() -> b3AlignedObjectArray<int> b3HashMap<class Key, class Value>::m_hashTable [b3HashMap.h <458:3 458:13>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::clear() -> void b3AlignedObjectArray<int>::clear() [b3HashMap.h <459:10 459:14>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::clear() -> b3AlignedObjectArray<int> b3HashMap<class Key, class Value>::m_next [b3HashMap.h <459:3 459:8>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::clear() -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <460:3 460:14>]
REFERENCE_CALL void b3HashMap<class Key, class Value>::clear() -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray [b3HashMap.h <461:3 461:12>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::clear() -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Value> b3HashMap<class Key, class Value>::m_valueArray [b3HashMap.h <460:3 460:14>]
REFERENCE_USAGE void b3HashMap<class Key, class Value>::clear() -> b3AlignedObjectArray<b3HashMap<class Key, class Value>::Key> b3HashMap<class Key, class Value>::m_keyArray [b3HashMap.h <461:3 461:12>]
SYMBOL_TEMPLATE_PARAMETER b3HashMap<class Key, class Value>::Key [b3HashMap.h <223:17 223:19>]
SYMBOL_TEMPLATE_PARAMETER b3HashMap<class Key, class Value>::Value [b3HashMap.h <223:28 223:32>]
SYMBOL_CLASS b3HashMap<b3InternalVertexPair, b3InternalEdge> [b3HashMap.h <223:1 <224:7 224:15> 464:1>]
@@ -8561,14 +8561,13 @@ REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> v
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <102:38 102:41>]
REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> int [b3AlignedObjectArray.h <102:34 102:36>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <104:8 104:11>]
SYMBOL_FUNCTION b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator
REFERENCE_CALL void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
REFERENCE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <105:33 105:36>]
SYMBOL_METHOD protected void b3AlignedObjectArray<typename T>::deallocate() [b3AlignedObjectArray.h <109:3 <109:24 109:33> 119:3>]
REFERENCE_TYPE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> void [b3AlignedObjectArray.h <109:19 109:22>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <111:7 111:12>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> bool b3AlignedObjectArray<typename T>::m_ownsMemory [b3AlignedObjectArray.h <113:9 113:20>]
REFERENCE_CALL void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <115:29 115:34>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <117:5 117:10>]
SYMBOL_METHOD public void b3AlignedObjectArray<typename T>::b3AlignedObjectArray<T>() [b3AlignedObjectArray.h <126:3 <126:3 126:22> 129:3>]
@@ -3660,14 +3660,13 @@ REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> v
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <102:38 102:41>]
REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> int [b3AlignedObjectArray.h <102:34 102:36>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <104:8 104:11>]
SYMBOL_FUNCTION b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator
REFERENCE_CALL void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
REFERENCE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <105:33 105:36>]
SYMBOL_METHOD protected void b3AlignedObjectArray<typename T>::deallocate() [b3AlignedObjectArray.h <109:3 <109:24 109:33> 119:3>]
REFERENCE_TYPE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> void [b3AlignedObjectArray.h <109:19 109:22>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <111:7 111:12>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> bool b3AlignedObjectArray<typename T>::m_ownsMemory [b3AlignedObjectArray.h <113:9 113:20>]
REFERENCE_CALL void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <115:29 115:34>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <117:5 117:10>]
SYMBOL_METHOD public void b3AlignedObjectArray<typename T>::b3AlignedObjectArray<T>() [b3AlignedObjectArray.h <126:3 <126:3 126:22> 129:3>]
@@ -3170,14 +3170,13 @@ REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> v
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <102:38 102:41>]
REFERENCE_TYPE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> int [b3AlignedObjectArray.h <102:34 102:36>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <104:8 104:11>]
SYMBOL_FUNCTION b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator
REFERENCE_CALL void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
REFERENCE_USAGE void * b3AlignedObjectArray<typename T>::allocate(int) -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <105:12 105:22>]
LOCAL_SYMBOL: b3AlignedObjectArray.h<102:38> [b3AlignedObjectArray.h <105:33 105:36>]
SYMBOL_METHOD protected void b3AlignedObjectArray<typename T>::deallocate() [b3AlignedObjectArray.h <109:3 <109:24 109:33> 119:3>]
REFERENCE_TYPE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> void [b3AlignedObjectArray.h <109:19 109:22>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <111:7 111:12>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> bool b3AlignedObjectArray<typename T>::m_ownsMemory [b3AlignedObjectArray.h <113:9 113:20>]
REFERENCE_CALL void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedAllocator<b3AlignedObjectArray<typename T>::T, 16> b3AlignedObjectArray<typename T>::m_allocator [b3AlignedObjectArray.h <115:6 115:16>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <115:29 115:34>]
REFERENCE_USAGE void b3AlignedObjectArray<typename T>::deallocate() -> b3AlignedObjectArray<typename T>::T * b3AlignedObjectArray<typename T>::m_data [b3AlignedObjectArray.h <117:5 117:10>]
SYMBOL_METHOD public void b3AlignedObjectArray<typename T>::b3AlignedObjectArray<T>() [b3AlignedObjectArray.h <126:3 <126:3 126:22> 129:3>]
@@ -593,6 +593,7 @@ DEF_VISIT_TYPE_PTR(TemplateTemplateParmDecl)
DEF_VISIT_TYPE(TypeLoc)
DEF_VISIT_TYPE_PTR(DeclRefExpr)
DEF_VISIT_TYPE_PTR(MemberExpr)
DEF_VISIT_TYPE_PTR(CXXDependentScopeMemberExpr)
DEF_VISIT_TYPE_PTR(CXXConstructExpr)
DEF_VISIT_TYPE_PTR(LambdaExpr)
DEF_VISIT_CUSTOM_TYPE_PTR(ConstructorInitializer, CXXCtorInitializer)
@@ -134,6 +134,7 @@ public:
virtual bool VisitDeclRefExpr(clang::DeclRefExpr* s);
virtual bool VisitMemberExpr(clang::MemberExpr* s);
virtual bool VisitCXXDependentScopeMemberExpr(clang::CXXDependentScopeMemberExpr* s);
virtual bool VisitCXXConstructExpr(clang::CXXConstructExpr* s);
virtual bool VisitLambdaExpr(clang::LambdaExpr* s);
virtual bool VisitConstructorInitializer(clang::CXXCtorInitializer* init);
@@ -113,6 +113,7 @@ DEF_TRAVERSE_TYPE_PTR(CXXTemporaryObjectExpr)
virtual void visitInitListExpr(clang::InitListExpr* s) {}
virtual void visitDeclRefExpr(clang::DeclRefExpr* s) {}
virtual void visitMemberExpr(clang::MemberExpr* s) {}
virtual void visitCXXDependentScopeMemberExpr(clang::CXXDependentScopeMemberExpr* s) {}
virtual void visitCXXConstructExpr(clang::CXXConstructExpr* s) {}
virtual void visitLambdaExpr(clang::LambdaExpr* s) {}
@@ -164,6 +164,11 @@ void CxxAstVisitorComponentDeclRefKind::visitMemberExpr(clang::MemberExpr* s)
m_childRefKind = REFERENCE_USAGE;
}
void CxxAstVisitorComponentDeclRefKind::visitCXXDependentScopeMemberExpr(clang::CXXDependentScopeMemberExpr* s)
{
m_childRefKind = REFERENCE_USAGE;
}
void CxxAstVisitorComponentDeclRefKind::saveAll()
{
m_oldThisRefKinds.push_back(m_thisRefKind);
@@ -63,6 +63,8 @@ public:
virtual void visitMemberExpr(clang::MemberExpr* s);
virtual void visitCXXDependentScopeMemberExpr(clang::CXXDependentScopeMemberExpr* s);
private:
void saveAll();
void restoreAll();
@@ -32,10 +32,18 @@ bool utility::isImplicit(const clang::Decl* d)
}
else if (const clang::FunctionDecl* fd = clang::dyn_cast_or_null<clang::FunctionDecl>(d))
{
if (fd->isTemplateInstantiation() && fd->getTemplateSpecializationKind() != clang::TSK_ExplicitSpecialization) // or undefined??
if (
fd->isTemplateInstantiation() &&
fd->getTemplateSpecializationKind() != clang::TSK_ExplicitSpecialization) // or undefined??
{
return true;
}
else if (
fd->getMemberSpecializationInfo() &&
fd->getMemberSpecializationInfo()->getTemplateSpecializationKind() == clang::TSK_ExplicitSpecialization)
{
return false;
}
}
return isImplicit(clang::dyn_cast_or_null<clang::Decl>(d->getDeclContext()));
+20
View File
@@ -2156,6 +2156,26 @@ public:
));
}
void test_cxx_parser_finds_usage_of_member_in_dependent_scope_member_expression()
{
std::shared_ptr<TestParserClient> client = parseCode(
"template <typename T>\n"
"class A\n"
"{\n"
" T m_t;\n"
"\n"
" void foo()\n"
" {\n"
" m_t.run();\n"
" }\n"
"};\n"
);
TS_ASSERT(utility::containsElement<std::string>(
client->usages, "void A<typename T>::foo() -> A<typename T>::T A<typename T>::m_t <8:3 8:5>"
));
}
void test_cxx_parser_finds_return_type_use_in_function()
{
std::shared_ptr<TestParserClient> client = parseCode(