mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 20:42:21 +02:00
978 lines
27 KiB
TOML
978 lines
27 KiB
TOML
#################### Beef Standard Types ####################
|
|
|
|
[[Type]]
|
|
Name = "System.CallStackAddr"
|
|
DisplayString = "{__funcName(this - 1), ne}"
|
|
Action = "ShowCodeAddr {(int)this - 1,X}"
|
|
|
|
[[Type]]
|
|
Name = "System.CallStackList"
|
|
DisplayString = "{__funcName(((int*)(int)this)[0] - 1), ne}"
|
|
Action = "ShowCodeAddr {((int*)(int)this)[0] - 1,X}"
|
|
[Type.Expand.CallStackList]
|
|
|
|
[[Type]]
|
|
Name = "System.DeferredCall"
|
|
DisplayString = ""
|
|
[Type.Expand.LinkedListItems]
|
|
HeadPointer = "&this"
|
|
NextPointer = "mNext"
|
|
ValuePointer = "/*(mMethodId < 0) ? &this :*/ __cast(\"_BF_DeferredData_\", mMethodId, \"*\", (void*)&this)"
|
|
|
|
[[Type]]
|
|
Name = "System.Event<*>"
|
|
DisplayString = "{{ data={__cast(\"System.Object\", mData & sDataMask)} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[target]"
|
|
Value = "__cast(\"System.Object\", mData)"
|
|
Condition = "(mData & sIsEnumerating) == 0"
|
|
[[Type.Expand.Item]]
|
|
Name = "[target]"
|
|
Value = "((System.Event<$T1>.Enumerator*)(mData & sDataMask)).mTarget"
|
|
Condition = "(mData & sIsEnumerating) != 0"
|
|
[[Type.Expand.Item]]
|
|
Name = "[flags]"
|
|
Value = "mData & sFlagsMask"
|
|
|
|
[[Type]]
|
|
Name = "_BF_DeferredData_*"
|
|
[[Type.DisplayString]]
|
|
Condition = "__hasField(this, \"__this\")"
|
|
String = "{{ {__demangleFakeMember(this)} this={__this} }}"
|
|
[[Type.DisplayString]]
|
|
String = "{{ {__demangleFakeMember(this)} }}"
|
|
|
|
[[Type]]
|
|
Name = "_BF_MethodRef_*"
|
|
[[Type.DisplayString]]
|
|
String = "{{ {__demangleFakeMember(this)} }}"
|
|
|
|
|
|
[[Type]]
|
|
Name = "System.String"
|
|
[[Type.DisplayString]]
|
|
Condition = "(__getHighBits(mAllocSizeAndFlags, 2) & 1) == 0"
|
|
String = "{(char8*)&mPtrOrBuffer,s8,count=mLength}"
|
|
[[Type.DisplayString]]
|
|
String = "{mPtrOrBuffer,s8,count=mLength}"
|
|
[[Type.StringView]]
|
|
Condition = "(__getHighBits(mAllocSizeAndFlags, 2) & 1) == 0"
|
|
String = "{(char8*)&mPtrOrBuffer,s8,count=mLength}"
|
|
[[Type.StringView]]
|
|
String = "{mPtrOrBuffer,s8,count=mLength}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Length]"
|
|
Value = "mLength"
|
|
[[Type.Expand.Item]]
|
|
Condition = "__getHighBits(mAllocSizeAndFlags, 2) == 3"
|
|
Name = "[AllocSize]"
|
|
Value = "__clearHighBits(mAllocSizeAndFlags, 2)"
|
|
[[Type.Expand.Item]]
|
|
Condition = "__getHighBits(mAllocSizeAndFlags, 2) == 1"
|
|
Name = "[RefSize]"
|
|
Value = "__clearHighBits(mAllocSizeAndFlags, 2)"
|
|
[[Type.Expand.Item]]
|
|
Condition = "__getHighBits(mAllocSizeAndFlags, 2) == 0"
|
|
Name = "[InternalSize]"
|
|
Value = "__clearHighBits(mAllocSizeAndFlags, 2)"
|
|
[[Type.Expand.Item]]
|
|
Condition = "(__getHighBits(mAllocSizeAndFlags, 2) & 1) == 0"
|
|
Name = "[RawChars]"
|
|
Value = "(char8*)&mPtrOrBuffer,arraysize=mLength"
|
|
[[Type.Expand.Item]]
|
|
Condition = "(__getHighBits(mAllocSizeAndFlags, 2) & 1) != 0"
|
|
Name = "[RawChars]"
|
|
Value = "mPtrOrBuffer,arraysize=mLength"
|
|
|
|
[[Type]]
|
|
Name = "System.StringView"
|
|
DisplayString = "{__stringView(mPtr, mLength),s8}"
|
|
StringView = "{__stringView(mPtr, mLength),s8}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Length]"
|
|
Value = "mLength"
|
|
[[Type.Expand.Item]]
|
|
Name = "[RawChars]"
|
|
Value = "mPtr,arraysize=mLength"
|
|
|
|
[[Type]]
|
|
Name = "System.Exception"
|
|
DisplayString = "{mMessage,s8}"
|
|
|
|
[[Type]]
|
|
Name = "System.Variant"
|
|
[[Type.DisplayString]]
|
|
Condition = "mStructType == 0"
|
|
String = "{{ UnownedObj: {__bitcast(\"System.Object\", mData)} }}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mStructType == 1"
|
|
String = "{{ OwnedObj: {__bitcast(\"System.Object\", mData)} }}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mStructType == 2"
|
|
String = "{{ Null: {__cast(mData, null)} }}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mStructType & 3 == 0"
|
|
String = "{{ InlineValue: {__bitcast(mStructType & ~3, mData)} }}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mStructType & 3 == 1"
|
|
String = "{{ AllocValue: {*__cast(mStructType & ~3, \"*\", mData)} }}"
|
|
[[Type.DisplayString]]
|
|
String = "{{ RefValue: {*__cast(mStructType & ~3, \"*\", mData)} }}"
|
|
[[Type.Expand.Item]]
|
|
Condition = "mStructType == 0"
|
|
Name = "[UnownedObj]"
|
|
Value = "__bitcast(\"System.Object\", mData)"
|
|
[[Type.Expand.Item]]
|
|
Condition = "mStructType == 1"
|
|
Name = "[OwnedObj]"
|
|
Value = "__bitcast(\"System.Object\", mData)"
|
|
[[Type.Expand.Item]]
|
|
Condition = "mStructType == 3"
|
|
Name = "[Null]"
|
|
Value = "__cast(mData, null)"
|
|
[[Type.Expand.Item]]
|
|
Condition = "(mStructType != 0) && (mStructType & 3 == 0)"
|
|
Name = "[InlineValue]"
|
|
Value = "__bitcast(mStructType & ~3, mData)"
|
|
#Value = "__bitcast(mStructType & ~3, mData)"
|
|
[[Type.Expand.Item]]
|
|
Condition = "(mStructType != 0) && (mStructType & 3 != 0)"
|
|
Name = "[AllocValue]"
|
|
Value = "*__cast(mStructType & ~3, \"*\", mData)"
|
|
|
|
[[Type]]
|
|
Name = "*?"
|
|
[[Type.DisplayString]]
|
|
Condition = "mHasValue"
|
|
String = "{mValue}"
|
|
[[Type.DisplayString]]
|
|
String = "null"
|
|
|
|
[[Type]]
|
|
Name = "System.Delegate"
|
|
DisplayString = "{{{__funcName(mFuncPtr), ne}}}"
|
|
Action = "ShowCodeAddr {(int)mFuncPtr,X}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[FuncPtr]"
|
|
Value = "__funcName(mFuncPtr)"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Target]"
|
|
Value = "__funcTarget(mFuncPtr, mTarget), nv"
|
|
|
|
[[Type]]
|
|
Name = "System.Function"
|
|
DisplayString = "{{{__funcName((int)this), ne}}}"
|
|
Action = "ShowCodeAddr {(int)this,X}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Func]"
|
|
Value = "__funcName((int)this)"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Addr]"
|
|
Value = "(int)this,x"
|
|
|
|
[[Type]]
|
|
Name = "*[]"
|
|
DisplayString = "{{$T1[{mLength}]}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Length]"
|
|
Value = "mLength"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "mLength"
|
|
ValuePointer = "&mFirstElement"
|
|
|
|
[[Type]]
|
|
Name = "*[,]"
|
|
DisplayString = "{{$T1[{mLength / mLength1}, {mLength1}]}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Length]"
|
|
Value = "mLength"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "mLength"
|
|
LowerDimSizes = ["mLength1"]
|
|
ValuePointer = "&mFirstElement"
|
|
|
|
[[Type]]
|
|
Name = "*[,,]"
|
|
DisplayString = "{{$T1[{mLength / mLength1 / mLength2}, {mLength1}, {mLength2}]}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Length]"
|
|
Value = "mLength"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "mLength"
|
|
LowerDimSizes = ["mLength1", "mLength2"]
|
|
ValuePointer = "&mFirstElement"
|
|
|
|
[[Type]]
|
|
Name = "*[,,,]"
|
|
DisplayString = "{{$T1[{mLength / mLength1 / mLength2 / mLength3}, {mLength1}, {mLength2}, {mLength3}]}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Length]"
|
|
Value = "mLength"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "mLength"
|
|
LowerDimSizes = ["mLength1", "mLength2", "mLength3"]
|
|
ValuePointer = "&mFirstElement"
|
|
|
|
[[Type]]
|
|
Name = "System.Span<*>"
|
|
DisplayString = "{{ length={mLength} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Length]"
|
|
Value = "mLength"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "mLength"
|
|
ValuePointer = "mPtr"
|
|
|
|
[[Type]]
|
|
Name = "System.Collections.List<*>"
|
|
DisplayString = "{{ count={mSize} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Count]"
|
|
Value = "mSize"
|
|
[[Type.Expand.Item]]
|
|
Condition = "__getHighBits(mAllocSizeAndFlags, 1) == 1"
|
|
Name = "[AllocSize]"
|
|
Value = "__clearHighBits(mAllocSizeAndFlags, 1)"
|
|
[[Type.Expand.Item]]
|
|
Condition = "__getHighBits(mAllocSizeAndFlags, 1) == 0"
|
|
Name = "[InternalSize]"
|
|
Value = "__clearHighBits(mAllocSizeAndFlags, 1)"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "mSize"
|
|
ValuePointer = "mItems"
|
|
|
|
[[Type]]
|
|
Name = "System.Collections.Queue<*>"
|
|
DisplayString = "{{ count={mSize} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Count]"
|
|
Value = "mSize"
|
|
[[Type.Expand.Item]]
|
|
Condition = "__getHighBits(mAllocSizeAndFlags, 1) == 1"
|
|
Name = "[AllocSize]"
|
|
Value = "__clearHighBits(mAllocSizeAndFlags, 1)"
|
|
[[Type.Expand.Item]]
|
|
Condition = "__getHighBits(mAllocSizeAndFlags, 1) == 0"
|
|
Name = "[InternalSize]"
|
|
Value = "__clearHighBits(mAllocSizeAndFlags, 1)"
|
|
[Type.Expand.IndexListItems]
|
|
Size = "mSize"
|
|
ValueNode = "mItems[($i + mHead) % __clearHighBits(mAllocSizeAndFlags, 2)]"
|
|
|
|
[[Type]]
|
|
Name = "System.Collections.BinaryHeap<*>"
|
|
DisplayString = "{{ count={mSize} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Count]"
|
|
Value = "mSize"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "mSize"
|
|
ValuePointer = "&this.mData.mFirstElement"
|
|
|
|
[[Type]]
|
|
Name = "System.Collections.Dictionary<*, *>"
|
|
DisplayString = "{{ count={mCount - mFreeCount} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Count]"
|
|
Value = "mCount - mFreeCount"
|
|
[Type.Expand.DictionaryItems]
|
|
Size = "mCount - mFreeCount"
|
|
Buckets = "mBuckets"
|
|
Entries = "mEntries"
|
|
Key = "mKey"
|
|
Value = "mValue"
|
|
Next = "mNext"
|
|
|
|
[[Type]]
|
|
Name = "System.Collections.Dictionary<*, *>.Entry"
|
|
DisplayString = "{{[{mKey}, {mValue}]}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Key]"
|
|
Value = "mKey"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Value]"
|
|
Value = "mValue"
|
|
|
|
[[Type]]
|
|
Name = "System.Collections.HashSet<*>"
|
|
DisplayString = "{{ count={mCount} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Count]"
|
|
Value = "mCount"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "mCount"
|
|
ValuePointer = "&mSlots.mFirstElement"
|
|
Condition = "mHashCode >= 0"
|
|
|
|
#################### C++ Standard Types ####################
|
|
|
|
[[Type]]
|
|
Name = "std::vector<bool, *>"
|
|
Flavor = "MS"
|
|
DisplayString = "{{ size={_Mysize} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[size]"
|
|
Value = "_Mysize"
|
|
[[Type.Expand.Item]]
|
|
Name = "[capacity]"
|
|
Value = "(_Myvec._Mypair._Myval2._Myend - _Myvec._Mypair._Myval2._Myfirst) * _EEN_VBITS"
|
|
[Type.Expand.IndexListItems]
|
|
Size = "_Mysize"
|
|
ValueNode = "((_Myvec._Mypair._Myval2._Myfirst[$i / _EEN_VBITS] >> ($i % _EEN_VBITS)) & 1) != 0"
|
|
|
|
[[Type]]
|
|
Name = "std::vector<*, *>"
|
|
Flavor = "GNU"
|
|
DisplayString = "{{ size={_M_impl._M_finish - _M_impl._M_start} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[size]"
|
|
Value = "_M_impl._M_finish - _M_impl._M_start"
|
|
[[Type.Expand.Item]]
|
|
Name = "[capacity]"
|
|
Value = "_M_impl._M_end_of_storage - _M_impl._M_start"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "_M_impl._M_finish - _M_impl._M_start"
|
|
ValuePointer = "_M_impl._M_start"
|
|
|
|
[[Type]]
|
|
Name = "std::vector<*, *>"
|
|
Flavor = "MS"
|
|
DisplayString = "{{ size={_Mypair._Myval2._Mylast - _Mypair._Myval2._Myfirst} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[size]"
|
|
Value = "_Mypair._Myval2._Mylast - _Mypair._Myval2._Myfirst"
|
|
[[Type.Expand.Item]]
|
|
Name = "[capacity]"
|
|
Value = "_Mypair._Myval2._Myend - _Mypair._Myval2._Myfirst"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "_Mypair._Myval2._Mylast - _Mypair._Myval2._Myfirst"
|
|
ValuePointer = "_Mypair._Myval2._Myfirst"
|
|
|
|
[[Type]]
|
|
Name = "std::deque<*, *>"
|
|
Flavor = "MS"
|
|
DisplayString = "{{ size={_Mypair._Myval2._Mysize} }}"
|
|
[Type.Expand.IndexListItems]
|
|
Size = "_Mypair._Myval2._Mysize"
|
|
ValueNode = "_Mypair._Myval2._Map[(($i + _Mypair._Myval2._Myoff) / _EEN_DS) % _Mypair._Myval2._Mapsize][($i + _Mypair._Myval2._Myoff) % _EEN_DS]"
|
|
|
|
[[Type]]
|
|
Name = "std::__cxx11::list<*, *>"
|
|
[Type.Expand.LinkedListItems]
|
|
HeadPointer = "_M_impl._M_node._M_next"
|
|
EndPointer = "_M_impl._M_node"
|
|
NextPointer = "_M_next"
|
|
ValueType = "value_type"
|
|
ValuePointer = "*(this + 1)"
|
|
|
|
[[Type]]
|
|
Name = "std::list<*, *>"
|
|
DisplayString = "{{ size={_Mypair._Myval2._Mysize} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Size]"
|
|
Value = "_Mypair._Myval2._Mysize"
|
|
[Type.Expand.LinkedListItems]
|
|
Size = "_Mypair._Myval2._Mysize"
|
|
HeadPointer = "_Mypair._Myval2._Myhead._Next"
|
|
NextPointer = "_Next"
|
|
ValuePointer = "&_Myval"
|
|
|
|
[[Type]]
|
|
Name = "std::map<*, *, *, *>"
|
|
Flavor = "GNU"
|
|
DisplayString = "{{ size={_M_t._M_impl._M_node_count} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Size]"
|
|
Value = "_M_t._M_impl._M_node_count"
|
|
[Type.Expand.TreeItems]
|
|
Size = "_M_t._M_impl._M_node_count"
|
|
HeadPointer = "_M_t._M_impl._M_header._M_parent"
|
|
LeftPointer = "_M_left"
|
|
RightPointer = "_M_right"
|
|
ValueType = "value_type"
|
|
ValuePointer = "*(this + 1)"
|
|
|
|
[[Type]]
|
|
Name = "std::map<*, *, *, *>"
|
|
Flavor = "MS"
|
|
DisplayString = "{{ size={_Mypair._Myval2._Myval2._Mysize} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Size]"
|
|
Value = "_Mypair._Myval2._Myval2._Mysize"
|
|
[Type.Expand.TreeItems]
|
|
Size = "_Mypair._Myval2._Myval2._Mysize"
|
|
HeadPointer = "_Mypair._Myval2._Myval2._Myhead._Parent"
|
|
LeftPointer = "_Left"
|
|
RightPointer = "_Right"
|
|
ValuePointer = "&_Myval"
|
|
Condition = "_Isnil == 0"
|
|
|
|
[[Type]]
|
|
Name = "std::set<*, *, *>"
|
|
Flavor = "MS"
|
|
DisplayString = "{{ size={_Mypair._Myval2._Myval2._Mysize} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Size]"
|
|
Value = "_Mypair._Myval2._Myval2._Mysize"
|
|
[Type.Expand.TreeItems]
|
|
Size = "_Mypair._Myval2._Myval2._Mysize"
|
|
HeadPointer = "_Mypair._Myval2._Myval2._Myhead._Parent"
|
|
LeftPointer = "_Left"
|
|
RightPointer = "_Right"
|
|
ValuePointer = "&_Myval"
|
|
Condition = "_Isnil == 0"
|
|
|
|
[[Type]]
|
|
Name = "std::multiset<*, *, *>"
|
|
Flavor = "MS"
|
|
DisplayString = "{{ size={_Mypair._Myval2._Myval2._Mysize} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Size]"
|
|
Value = "_Mypair._Myval2._Myval2._Mysize"
|
|
[Type.Expand.TreeItems]
|
|
Size = "_Mypair._Myval2._Myval2._Mysize"
|
|
HeadPointer = "_Mypair._Myval2._Myval2._Myhead._Parent"
|
|
LeftPointer = "_Left"
|
|
RightPointer = "_Right"
|
|
ValuePointer = "&_Myval"
|
|
Condition = "_Isnil == 0"
|
|
|
|
[[Type]]
|
|
Name = "std::unordered_map<*, *, *, *, *>"
|
|
DisplayString = "{_List}"
|
|
[Type.Expand]
|
|
ExpandedItem = "_List"
|
|
|
|
[[Type]]
|
|
Name = "std::unordered_multimap<*, *, *, *, *>"
|
|
DisplayString = "{_List}"
|
|
[Type.Expand]
|
|
ExpandedItem = "_List"
|
|
|
|
[[Type]]
|
|
Name = "std::unordered_set<*, *, *, *>"
|
|
DisplayString = "{_List}"
|
|
[Type.Expand]
|
|
ExpandedItem = "_List"
|
|
|
|
[[Type]]
|
|
Name = "std::unordered_multiset<*, *, *, *>"
|
|
DisplayString = "{_List}"
|
|
[Type.Expand]
|
|
ExpandedItem = "_List"
|
|
|
|
[[Type]]
|
|
Name = "std::basic_string<*, *, *>"
|
|
Flavor = "GNU"
|
|
DisplayString = "{_M_dataplus._M_p,s}"
|
|
StringView = "{_M_dataplus._M_p,s}"
|
|
|
|
[[Type]]
|
|
Name = "std::__cxx11::basic_string<*, *, *>"
|
|
Flavor = "GNU"
|
|
DisplayString = "{_M_dataplus._M_p,s}"
|
|
StringView = "{_M_dataplus._M_p,s}"
|
|
|
|
[[Type]]
|
|
Name = "std::basic_string<*, *, *>"
|
|
Flavor = "MS"
|
|
[[Type.DisplayString]]
|
|
Condition = "_Mypair._Myval2._Myres < _Mypair._Myval2._BUF_SIZE"
|
|
String = "{_Mypair._Myval2._Bx._Buf,na}"
|
|
[[Type.DisplayString]]
|
|
String = "{_Mypair._Myval2._Bx._Ptr,na}"
|
|
[[Type.StringView]]
|
|
Condition = "_Mypair._Myval2._Myres < _Mypair._Myval2._BUF_SIZE"
|
|
String = "{_Mypair._Myval2._Bx._Buf,na}"
|
|
[[Type.StringView]]
|
|
String = "{_Mypair._Myval2._Bx._Ptr,na}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Size]"
|
|
Value = "_Mypair._Myval2._Mysize"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Capacity]"
|
|
Value = "_Mypair._Myval2._Myres"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Allocator]"
|
|
Value = "_Mypair"
|
|
|
|
[[Type]]
|
|
Name = "std::pair<*, *>"
|
|
DisplayString = "({first}, {second})"
|
|
|
|
#################### Beefy Library Types ####################
|
|
|
|
[[Type]]
|
|
Name = "Beefy::StringView"
|
|
DisplayString = "{mPtr,count=mLength}"
|
|
StringView = "mPtr,count=mLength"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::StringImpl"
|
|
[[Type.DisplayString]]
|
|
Condition = "(mAllocSizeAndFlags & 0x40000000) == 0"
|
|
String = "{(char*)&mPtr,s8}"
|
|
[[Type.DisplayString]]
|
|
String = "{mPtr,s8}"
|
|
[[Type.StringView]]
|
|
Condition = "(mAllocSizeAndFlags & 0x40000000) == 0"
|
|
String = "{(char*)&mPtr,s8}"
|
|
[[Type.StringView]]
|
|
String = "{mPtr,s8}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Length]"
|
|
Value = "mLength"
|
|
[[Type.Expand.Item]]
|
|
Condition = "(mAllocSizeAndFlags & 0xC0000000) == 0xC0000000"
|
|
Name = "[AllocSize]"
|
|
Value = "mAllocSizeAndFlags & 0x3FFFFFFF"
|
|
[[Type.Expand.Item]]
|
|
Condition = "(mAllocSizeAndFlags & 0xC0000000) == 0x40000000"
|
|
Name = "[RefSize]"
|
|
Value = "mAllocSizeAndFlags & 0x3FFFFFFF"
|
|
[[Type.Expand.Item]]
|
|
Condition = "(mAllocSizeAndFlags & 0xC0000000) == 0x00000000"
|
|
Name = "[InternalSize]"
|
|
Value = "mAllocSizeAndFlags & 0x3FFFFFFF"
|
|
[[Type.Expand.Item]]
|
|
Condition = "(mAllocSizeAndFlags & 0x40000000) == 0"
|
|
Name = "[RawChars]"
|
|
Value = "(char*)&mPtr,s8,arraysize=mLength"
|
|
[[Type.Expand.Item]]
|
|
Condition = "(mAllocSizeAndFlags & 0x40000000) != 0"
|
|
Name = "[RawChars]"
|
|
Value = "mPtr,arraysize=mLength"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::Dictionary<*, *, *>"
|
|
DisplayString = "{{ count={mCount - mFreeCount} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Count]"
|
|
Value = "mCount - mFreeCount"
|
|
[Type.Expand.DictionaryItems]
|
|
Size = "mCount - mFreeCount"
|
|
Buckets = "mBuckets"
|
|
Entries = "mEntries"
|
|
Key = "mKey"
|
|
Value = "mValue"
|
|
Next = "mNext"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::Dictionary<*, *, *>::Entry"
|
|
DisplayString = "{{[{*($T1*)&mKey}, {*($T2*)&mValue}]}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Key]"
|
|
Value = "*($T1*)&mKey"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Value]"
|
|
Value = "*($T2*)&mValue"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::HashSet<*, *>"
|
|
DisplayString = "{{ count={mCount - mFreeCount} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Count]"
|
|
Value = "mCount - mFreeCount"
|
|
[Type.Expand.DictionaryItems]
|
|
Size = "mCount - mFreeCount"
|
|
Buckets = "mBuckets"
|
|
Entries = "mEntries"
|
|
Key = "mKey"
|
|
Next = "mNext"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::HashSet<*, *>::Entry"
|
|
DisplayString = "{{[{*($T1*)&mKey}]}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Key]"
|
|
Value = "*($T1*)&mKey"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfSizedArray<*>"
|
|
[[Type.DisplayString]]
|
|
Condition = "mSize==0"
|
|
String = "empty"
|
|
[[Type.DisplayString]]
|
|
String = "{{ size={mSize} {mVals,na,arraysize=mSize}}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[size]"
|
|
Value = "mSize"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "mSize"
|
|
ValuePointer = "mVals"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::Array<*, *>"
|
|
[[Type.DisplayString]]
|
|
Condition = "mSize==0"
|
|
String = "empty"
|
|
[[Type.DisplayString]]
|
|
String = "{{ size={mSize} {mVals,na,arraysize=mSize}}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[size]"
|
|
Value = "mSize"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "mSize"
|
|
ValuePointer = "mVals"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::SizedArrayImpl<*, *>"
|
|
[[Type.DisplayString]]
|
|
Condition = "mSize==0"
|
|
String = "empty"
|
|
[[Type.DisplayString]]
|
|
String = "{{ size={mSize} {mVals,na,arraysize=mSize}}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[size]"
|
|
Value = "mSize"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "mSize"
|
|
ValuePointer = "mVals"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::Deque<*, *>"
|
|
DisplayString = "{{size={mSize}}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[size]"
|
|
Value = "mSize"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "mSize"
|
|
ValuePointer = "mVals"
|
|
|
|
#################### Beef Compiler Types ####################
|
|
|
|
[[Type]]
|
|
Name = "llvm::SmallVectorImpl<*>"
|
|
[[Type.DisplayString]]
|
|
Condition = "Size == 0"
|
|
String = "empty"
|
|
[[Type.DisplayString]]
|
|
String = "{{ size={Size} }}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[size]"
|
|
Value = "Size"
|
|
[[Type.Expand.Item]]
|
|
Name = "[capacity]"
|
|
Value = "Capacity"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "Size"
|
|
ValuePointer = "($T1*)BeginX"
|
|
|
|
[[Type]]
|
|
Name = "llvm::ArrayRef<*>"
|
|
DisplayString = "{{ size={Length} }"
|
|
StringView = "Data,count=Length"
|
|
[[Type.Expand.Item]]
|
|
Name = "[size]"
|
|
Value = "Length"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "Length"
|
|
ValuePointer = "Data"
|
|
|
|
[[Type]]
|
|
Name = "llvm::StringRef"
|
|
DisplayString = "{Data,count=Length}"
|
|
StringView = "Data,count=Length"
|
|
[[Type.Expand.Item]]
|
|
Name = "[size]"
|
|
Value = "Length"
|
|
[Type.Expand.ArrayItems]
|
|
Size = "Length"
|
|
ValuePointer = "Data"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::DLIList<*>"
|
|
DisplayString = "{{Head:{mHead}}}"
|
|
|
|
[Type.Expand.LinkedListItems]
|
|
HeadPointer = "mHead"
|
|
NextPointer = "mNext"
|
|
ValuePointer = "this"
|
|
ShowElementAddrs = true
|
|
|
|
[[Type]]
|
|
Name = "Beefy::SLIList<*>"
|
|
DisplayString = "{{Head:{mHead}}}"
|
|
|
|
[Type.Expand.LinkedListItems]
|
|
HeadPointer = "mHead"
|
|
NextPointer = "mNext"
|
|
ValuePointer = "this"
|
|
ShowElementAddrs = true
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BumpList<*>"
|
|
DisplayString = "{{Head:{mHead}}}"
|
|
[Type.Expand.LinkedListItems]
|
|
HeadPointer = "mHead"
|
|
NextPointer = "mNext"
|
|
ValuePointer = "this"
|
|
ShowElementAddrs = true
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfAtom"
|
|
DisplayString = "'{mString}'"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfReducer::BfVisitorPos"
|
|
DisplayString = "{{{mParent->mChildArr.mVals[mReadPos]}}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Parent]"
|
|
Value = "mParent"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Prev]"
|
|
Value = "mParent->mChildArr.mVals[mReadPos - 1]"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Current] --------------->"
|
|
Value = "mParent->mChildArr.mVals[mReadPos]"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Next]"
|
|
Value = "mParent->mChildArr.mVals[mReadPos + 1]"
|
|
[[Type.Expand.Item]]
|
|
Name = "[NextNext]"
|
|
Value = "mParent->mChildArr.mVals[mReadPos + 2]"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfDirectStrTypeReference"
|
|
DisplayString = "{{{mTypeName}}}"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfAstNode"
|
|
[[Type.DisplayString]]
|
|
Condition = "!__hasField(this, \"mIsCompact\")"
|
|
String = "{{{(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + mSrcStart,na,count=(mSrcEnd - mSrcStart)}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mIsCompact != 0"
|
|
String = "{{{(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + (mCompact_SrcStart&0x7FFFFFFF),na,count=(mCompact_SrcLen + 0)}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mIsCompact == 0"
|
|
String = "{{{(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + mAstInfo->mSrcStart,na,count=(mAstInfo->mSrcEnd - mAstInfo->mSrcStart)}}}"
|
|
[[Type.Expand.Item]]
|
|
Condition = "__hasField(this, \"mIsCompact\") && (mIsCompact != 0)"
|
|
Name = "[CharPtrCompact]"
|
|
Value = "(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + (mCompact_SrcStart&0x7FFFFFFF)"
|
|
[[Type.Expand.Item]]
|
|
Condition = "__hasField(this, \"mIsCompact\") && (mIsCompact == 0)"
|
|
Name = "[CharPtrLarge]"
|
|
Value = "(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + mAstInfo->mSrcStart"
|
|
[[Type.Expand.Item]]
|
|
Condition = "!__hasField(this, \"mIsCompact\")"
|
|
Name = "[CharPtr]"
|
|
Value = "(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + mSrcStart"
|
|
[[Type.Expand.Item]]
|
|
Name = "[SourceData]"
|
|
Value = "(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfBlock"
|
|
[[Type.DisplayString]]
|
|
Condition = "!__hasField(this, \"mIsCompact\")"
|
|
String = "{{{(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + mSrcStart,na,count=(mSrcEnd - mSrcStart)}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mIsCompact != 0"
|
|
String = "{{{(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + (mCompact_SrcStart&0x7FFFFFFF),na,count=(mCompact_SrcLen + 0)}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mIsCompact == 0"
|
|
String = "{{{(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + mAstInfo->mSrcStart,na,count=(mAstInfo->mSrcEnd - mAstInfo->mSrcStart)}}}"
|
|
[[Type.Expand.Item]]
|
|
Condition = "__hasField(this, \"mIsCompact\") && (mIsCompact != 0)"
|
|
Name = "[CharPtrCompact]"
|
|
Value = "(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + (mCompact_SrcStart&0x7FFFFFFF)"
|
|
[[Type.Expand.Item]]
|
|
Condition = "__hasField(this, \"mIsCompact\") && (mIsCompact == 0)"
|
|
Name = "[CharPtrLarge]"
|
|
Value = "(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + mAstInfo->mSrcStart"
|
|
[[Type.Expand.Item]]
|
|
Condition = "!__hasField(this, \"mIsCompact\")"
|
|
Name = "[CharPtr]"
|
|
Value = "(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + mSrcStart"
|
|
[[Type.Expand.Item]]
|
|
Name = "[SourceData]"
|
|
Value = "(*(Beefy::BfSourceData**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Children]"
|
|
Value = "mChildArr"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfNearNodeRef<T>"
|
|
DisplayString = "{{{(($T1)(*(char**)(( ((intptr_t)this & 0x7FFFFFFFFFFFF000UL) + 8)) + mIdx)}}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[CharPtr]"
|
|
Value = "(*(Beefy::BfSource**)(((intptr_t)this & 0x7FFFFFFFFFFFF000UL)))->mSrc + mSrcStart"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Idx]"
|
|
Value = "mIdx"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfAtomComposite"
|
|
[[Type.DisplayString]]
|
|
Condition = "mSize == 0"
|
|
String = "{{empty}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mSize == 1"
|
|
String = "{{{mParts[0],na}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mSize == 2"
|
|
String = "{{{mParts[0],na}.{mParts[1],na}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mSize == 3"
|
|
String = "{{{mParts[0],na}.{mParts[1],na}.{mParts[2],na}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mSize == 4"
|
|
String = "{{{mParts[0],na}.{mParts[1],na}.{mParts[2],na}.{mParts[3],na}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mSize == 5"
|
|
String = "{{{mParts[0],na}.{mParts[1],na}.{mParts[2],na}.{mParts[3],na}.{mParts[4],na}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mSize > 5"
|
|
String = "{{{mParts[0],na}.{mParts[1],na}.{mParts[2],na}.{mParts[3],na}.{mParts[4],na}...}}"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfMethodDef"
|
|
[[Type.DisplayString]]
|
|
String = "{{{mName}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mIsStatic"
|
|
String = "{{static {mName}}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Name]"
|
|
Value = "mName"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Declaration"
|
|
Value = "mMethodDeclaration"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfMethodDef"
|
|
[[Type.DisplayString]]
|
|
Condition = "mIsStatic"
|
|
String = "{{static {mName}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "!mIsStatic"
|
|
String = "{{{mName}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Name]"
|
|
Value = "mName"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Declaration]"
|
|
Value = "mMethodDeclaration"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfMethodInstance"
|
|
DisplayString = "{{{mMethodDef->mName} in {mMethodInstanceGroup->mOwner}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[MethodDef]"
|
|
Value = "mMethodDef"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Type]"
|
|
Value = "mMethodInstanceGroup->mOwner"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfFieldInstance"
|
|
DisplayString = "{{{mOwner->mTypeDef->mFields.mVals[mFieldIdx]->mName} in {mOwner}}"
|
|
[[Type.Expand.Item]]
|
|
Name = "[FieldDef]"
|
|
Value = "mOwner->mTypeDef->mFields.mVals[mFieldIdx]"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Type]"
|
|
Value = "mResolvedType"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Owner]"
|
|
Value = "mOwner"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfTypeDef"
|
|
[[Type.DisplayString]]
|
|
Condition = "mOuterType == null"
|
|
String = "{{{mNamespace,na}.{mName,na}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mOuterType != null"
|
|
String = "{{{mOuterType,na}.{mName,na}}}"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfTypeInstance"
|
|
[[Type.DisplayString]]
|
|
Condition = "mGenericTypeInfo != null"
|
|
String = "{{{mTypeDef,na}{mGenericTypeInfo,na}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mGenericTypeInfo == null"
|
|
String = "{{{mTypeDef,na}}}"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfGenericTypeInfo"
|
|
[[Type.DisplayString]]
|
|
Condition = "mTypeGenericArguments.mSize == 1"
|
|
String = "{{<{mTypeGenericArguments.mVals[0],na}>}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mTypeGenericArguments.mSize == 2"
|
|
String = "{{<{mTypeGenericArguments.mVals[0],na}, {mTypeGenericArguments.mVals[1],na}>}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mTypeGenericArguments.mSize == 3"
|
|
String = "{{<{mTypeGenericArguments.mVals[0],na}, {mTypeGenericArguments.mVals[1],na}, {mTypeGenericArguments.mVals[2],na}>}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mTypeGenericArguments.mSize == 4"
|
|
String = "{{<{mTypeGenericArguments.mVals[0],na}, {mTypeGenericArguments.mVals[1],na}, {mTypeGenericArguments.mVals[2],na}, {mTypeGenericArguments.mVals[3]}>}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "mTypeGenericArguments.mSize >= 5"
|
|
String = "{{<{mTypeGenericArguments.mVals[0],na}, {mTypeGenericArguments.mVals[1],na}, {mTypeGenericArguments.mVals[2],na}, {mTypeGenericArguments.mVals[3]}, ...>}}"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfPointerType"
|
|
DisplayString = "{{ptr {mElementType,na}}}"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfBoxedType"
|
|
DisplayString = "{{boxed {mElementType,na}*}}"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfTupleType"
|
|
[[Type.DisplayString]]
|
|
Condition = "mFieldInstances.mSize == 0"
|
|
String = "( )"
|
|
[[Type.DisplayString]]
|
|
Condition = "mFieldInstances.mSize == 1"
|
|
String = "( {mFieldInstances.mVals[0].mResolvedType,na} )"
|
|
[[Type.DisplayString]]
|
|
Condition = "mFieldInstances.mSize == 2"
|
|
String = "( {mFieldInstances.mVals[0].mResolvedType,na}, {mFieldInstances.mVals[1].mResolvedType,na} )"
|
|
[[Type.DisplayString]]
|
|
Condition = "mFieldInstances.mSize == 3"
|
|
String = "( {mFieldInstances.mVals[0].mResolvedType,na}, {mFieldInstances.mVals[1].mResolvedType,na}, {mFieldInstances.mVals[2].mResolvedType,na} )"
|
|
[[Type.DisplayString]]
|
|
Condition = "mFieldInstances.mSize == 4"
|
|
String = "( {mFieldInstances.mVals[0].mResolvedType,na}, {mFieldInstances.mVals[1].mResolvedType,na}, {mFieldInstances.mVals[2].mResolvedType,na, {mFieldInstances.mVals[3].mResolvedType,na} )"
|
|
[[Type.DisplayString]]
|
|
String = "( {mFieldInstances.mVals[0].mResolvedType,na}, {mFieldInstances.mVals[1].mResolvedType,na}, {mFieldInstances.mVals[2].mResolvedType,na, {mFieldInstances.mVals[3].mResolvedType,na}, ... )"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfPrimitiveType"
|
|
DisplayString = "{{{mTypeDef->mName,na}}}"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfGenericParamType"
|
|
[[Type.DisplayString]]
|
|
Condition = "(int)mGenericParamKind == 0"
|
|
String = "{{@T{mGenericParamIdx}}}"
|
|
[[Type.DisplayString]]
|
|
Condition = "(int)mGenericParamKind == 1"
|
|
String = "{{@M{mGenericParamIdx}}}"
|
|
|
|
[[Type]]
|
|
Name = "Beefy::BfModule"
|
|
[[Type.Expand.Item]]
|
|
Name = "[ModuleName]"
|
|
Value = "mModuleName"
|
|
[[Type.Expand.Item]]
|
|
Name = "[CurMethodInstance]"
|
|
Value = "mCurMethodInstance"
|
|
[[Type.Expand.Item]]
|
|
Name = "[File]"
|
|
Value = "mCurFilePosition.mFileInstance->mParser->mFileName"
|
|
[[Type.Expand.Item]]
|
|
Name = "[LineNum]"
|
|
Value = "mCurFilePosition.mCurLine + 1"
|
|
[[Type.Expand.Item]]
|
|
Name = "[ExprText]"
|
|
Value = "mCurFilePosition.mFileInstance->mParser->mSrc + mCurFilePosition.mCurSrcPos"
|
|
[[Type.Expand.Item]]
|
|
Name = "[Context]"
|
|
Value = "mContext"
|