mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-13 01:21:38 -07:00
Adjusted gencpp for odin's codebase
This commit is contained in:
+2
-1
@@ -322,4 +322,5 @@ build.sh
|
||||
!core/debug/
|
||||
|
||||
# RAD debugger project file
|
||||
*.raddbg
|
||||
*.raddbg
|
||||
codegen/build/gen_src.map
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -412,7 +412,7 @@ The following are provided predefined by the library as they are commonly used:
|
||||
* `spec_constinit`
|
||||
* `spec_extern_linkage` (extern)
|
||||
* `spec_final`
|
||||
* `spec_forceinline`
|
||||
* `Spec_gb_inline`
|
||||
* `spec_global` (global macro)
|
||||
* `spec_inline`
|
||||
* `spec_internal_linkage` (internal macro)
|
||||
|
||||
+47
-35
@@ -82,8 +82,8 @@ global CodeSpecifiers spec_constexpr;
|
||||
global CodeSpecifiers spec_constinit;
|
||||
global CodeSpecifiers spec_extern_linkage;
|
||||
global CodeSpecifiers spec_final;
|
||||
global CodeSpecifiers spec_FORCEINLINE;
|
||||
global CodeSpecifiers spec_global;
|
||||
global CodeSpecifiers spec_gb_inline;
|
||||
global CodeSpecifiers spec_gb_global;
|
||||
global CodeSpecifiers spec_inline;
|
||||
global CodeSpecifiers spec_internal_linkage;
|
||||
global CodeSpecifiers spec_local_persist;
|
||||
@@ -97,7 +97,7 @@ global CodeSpecifiers spec_ref;
|
||||
global CodeSpecifiers spec_register;
|
||||
global CodeSpecifiers spec_rvalue;
|
||||
global CodeSpecifiers spec_static_member;
|
||||
global CodeSpecifiers spec_thread_local;
|
||||
global CodeSpecifiers spec_gb_thread_local;
|
||||
global CodeSpecifiers spec_virtual;
|
||||
global CodeSpecifiers spec_volatile;
|
||||
|
||||
@@ -1522,6 +1522,13 @@ void CodeBody::to_string( String& result )
|
||||
while ( left-- )
|
||||
{
|
||||
result.append_fmt( "%S", curr.to_string() );
|
||||
|
||||
if (left > 1) switch (ast->Type)
|
||||
{
|
||||
case ECode::Enum_Body:
|
||||
case ECode::Union_Body:
|
||||
result.append("\n");
|
||||
}
|
||||
++curr;
|
||||
}
|
||||
}
|
||||
@@ -2717,7 +2724,7 @@ void CodeVar::to_string( String& result )
|
||||
|
||||
result.append( ast->Name );
|
||||
|
||||
if ( ast->ValueType->ArrExpr )
|
||||
if ( ast->ValueType && ast->ValueType->ArrExpr )
|
||||
{
|
||||
result.append_fmt( "[ %S ]", ast->ValueType->ArrExpr.to_string() );
|
||||
|
||||
@@ -2995,13 +3002,9 @@ internal void define_constants()
|
||||
spec_##Type_ = def_specifiers( num_args( __VA_ARGS__ ), __VA_ARGS__ ); \
|
||||
spec_##Type_.set_global();
|
||||
|
||||
#pragma push_macro( "FORCEINLINE" )
|
||||
#pragma push_macro( "global" )
|
||||
#pragma push_macro( "internal" )
|
||||
#pragma push_macro( "local_persist" )
|
||||
#pragma push_macro( "neverinline" )
|
||||
#undef FORCEINLINE
|
||||
#undef global
|
||||
#undef internal
|
||||
#undef local_persist
|
||||
#undef neverinline
|
||||
@@ -3011,8 +3014,8 @@ internal void define_constants()
|
||||
def_constant_spec( constinit, ESpecifier::Constinit );
|
||||
def_constant_spec( extern_linkage, ESpecifier::External_Linkage );
|
||||
def_constant_spec( final, ESpecifier::Final );
|
||||
def_constant_spec( FORCEINLINE, ESpecifier::ForceInline );
|
||||
def_constant_spec( global, ESpecifier::Global );
|
||||
def_constant_spec( gb_inline, ESpecifier::gb_inline );
|
||||
def_constant_spec( gb_global, ESpecifier::gb_global );
|
||||
def_constant_spec( inline, ESpecifier::Inline );
|
||||
def_constant_spec( internal_linkage, ESpecifier::Internal_Linkage );
|
||||
def_constant_spec( local_persist, ESpecifier::Local_Persist );
|
||||
@@ -3025,15 +3028,13 @@ internal void define_constants()
|
||||
def_constant_spec( register, ESpecifier::Register );
|
||||
def_constant_spec( rvalue, ESpecifier::RValue );
|
||||
def_constant_spec( static_member, ESpecifier::Static );
|
||||
def_constant_spec( thread_local, ESpecifier::Thread_Local );
|
||||
def_constant_spec( gb_thread_local, ESpecifier::gb_thread_local );
|
||||
def_constant_spec( virtual, ESpecifier::Virtual );
|
||||
def_constant_spec( volatile, ESpecifier::Volatile )
|
||||
|
||||
spec_local_persist = def_specifiers( 1, ESpecifier::Local_Persist );
|
||||
spec_local_persist.set_global();
|
||||
|
||||
#pragma pop_macro( "FORCEINLINE" )
|
||||
#pragma pop_macro( "global" )
|
||||
#pragma pop_macro( "internal" )
|
||||
#pragma pop_macro( "local_persist" )
|
||||
#pragma pop_macro( "neverinline" )
|
||||
@@ -5736,8 +5737,8 @@ namespace parser
|
||||
Spec_Explicit,
|
||||
Spec_Extern,
|
||||
Spec_Final,
|
||||
Spec_ForceInline,
|
||||
Spec_Global,
|
||||
Spec_gb_inline,
|
||||
Spec_gb_global,
|
||||
Spec_Inline,
|
||||
Spec_Internal_Linkage,
|
||||
Spec_LocalPersist,
|
||||
@@ -5745,7 +5746,7 @@ namespace parser
|
||||
Spec_NeverInline,
|
||||
Spec_Override,
|
||||
Spec_Static,
|
||||
Spec_ThreadLocal,
|
||||
Spec_gb_thread_local,
|
||||
Spec_Volatile,
|
||||
Spec_Virtual,
|
||||
Star,
|
||||
@@ -5840,8 +5841,8 @@ namespace parser
|
||||
{ sizeof( "explicit" ), "explicit" },
|
||||
{ sizeof( "extern" ), "extern" },
|
||||
{ sizeof( "final" ), "final" },
|
||||
{ sizeof( "FORCEINLINE" ), "FORCEINLINE" },
|
||||
{ sizeof( "global" ), "global" },
|
||||
{ sizeof( "gb_inline" ), "gb_inline" },
|
||||
{ sizeof( "gb_global" ), "gb_global" },
|
||||
{ sizeof( "inline" ), "inline" },
|
||||
{ sizeof( "internal" ), "internal" },
|
||||
{ sizeof( "local_persist" ), "local_persist" },
|
||||
@@ -5849,7 +5850,7 @@ namespace parser
|
||||
{ sizeof( "neverinline" ), "neverinline" },
|
||||
{ sizeof( "override" ), "override" },
|
||||
{ sizeof( "static" ), "static" },
|
||||
{ sizeof( "thread_local" ), "thread_local" },
|
||||
{ sizeof( "gb_thread_local" ), "gb_thread_local" },
|
||||
{ sizeof( "volatile" ), "volatile" },
|
||||
{ sizeof( "virtual" ), "virtual" },
|
||||
{ sizeof( "*" ), "*" },
|
||||
@@ -8081,7 +8082,7 @@ namespace parser
|
||||
case TokType::Spec_Constexpr :
|
||||
case TokType::Spec_Constinit :
|
||||
case TokType::Spec_Explicit :
|
||||
case TokType::Spec_ForceInline :
|
||||
case TokType::Spec_gb_inline :
|
||||
case TokType::Spec_Inline :
|
||||
case TokType::Spec_Mutable :
|
||||
case TokType::Spec_NeverInline :
|
||||
@@ -8104,7 +8105,7 @@ namespace parser
|
||||
case ESpecifier::Constinit :
|
||||
case ESpecifier::Explicit :
|
||||
case ESpecifier::Inline :
|
||||
case ESpecifier::ForceInline :
|
||||
case ESpecifier::gb_inline :
|
||||
case ESpecifier::Mutable :
|
||||
case ESpecifier::NeverInline :
|
||||
case ESpecifier::Static :
|
||||
@@ -8462,8 +8463,12 @@ namespace parser
|
||||
}
|
||||
|
||||
s32 level = 0;
|
||||
while ( left && currtok.Type != TokType::Statement_End && ( currtok.Type != TokType::Comma || level > 0 ) )
|
||||
while ( left && currtok.Type != TokType::Statement_End && (currtok.Type != TokType::Comma || level > 0 ) )
|
||||
{
|
||||
if (currtok.Type == TokType::BraceCurly_Open )
|
||||
level++;
|
||||
if (currtok.Type == TokType::BraceCurly_Close )
|
||||
level--;
|
||||
if ( currtok.Type == TokType::Capture_Start )
|
||||
level++;
|
||||
else if ( currtok.Type == TokType::Capture_End )
|
||||
@@ -8838,12 +8843,13 @@ namespace parser
|
||||
case TokType::Spec_Constexpr :
|
||||
case TokType::Spec_Constinit :
|
||||
case TokType::Spec_Extern :
|
||||
case TokType::Spec_ForceInline :
|
||||
case TokType::Spec_Global :
|
||||
case TokType::Spec_gb_inline :
|
||||
case TokType::Spec_gb_global :
|
||||
case TokType::Spec_Inline :
|
||||
case TokType::Spec_Internal_Linkage :
|
||||
case TokType::Spec_NeverInline :
|
||||
case TokType::Spec_Static :
|
||||
case TokType::Spec_gb_thread_local :
|
||||
{
|
||||
SpecifierT specs_found[16] { ESpecifier::NumSpecifiers };
|
||||
s32 NumSpecifiers = 0;
|
||||
@@ -8858,8 +8864,8 @@ namespace parser
|
||||
{
|
||||
case ESpecifier::Constexpr :
|
||||
case ESpecifier::Constinit :
|
||||
case ESpecifier::ForceInline :
|
||||
case ESpecifier::Global :
|
||||
case ESpecifier::gb_inline :
|
||||
case ESpecifier::gb_global :
|
||||
case ESpecifier::External_Linkage :
|
||||
case ESpecifier::Internal_Linkage :
|
||||
case ESpecifier::Inline :
|
||||
@@ -8867,6 +8873,7 @@ namespace parser
|
||||
case ESpecifier::NeverInline :
|
||||
case ESpecifier::Static :
|
||||
case ESpecifier::Volatile :
|
||||
case ESpecifier::gb_thread_local :
|
||||
break;
|
||||
|
||||
case ESpecifier::Consteval :
|
||||
@@ -10304,6 +10311,8 @@ namespace parser
|
||||
break;
|
||||
}
|
||||
|
||||
eat(currtok.Type);
|
||||
|
||||
if ( specifiers )
|
||||
specifiers.append( spec );
|
||||
else
|
||||
@@ -10914,7 +10923,7 @@ namespace parser
|
||||
case ESpecifier::Consteval :
|
||||
case ESpecifier::Constexpr :
|
||||
case ESpecifier::External_Linkage :
|
||||
case ESpecifier::ForceInline :
|
||||
case ESpecifier::gb_inline :
|
||||
case ESpecifier::Inline :
|
||||
case ESpecifier::NeverInline :
|
||||
case ESpecifier::Static :
|
||||
@@ -11022,7 +11031,7 @@ namespace parser
|
||||
{
|
||||
case ESpecifier::Const :
|
||||
case ESpecifier::Constexpr :
|
||||
case ESpecifier::ForceInline :
|
||||
case ESpecifier::gb_inline :
|
||||
case ESpecifier::Inline :
|
||||
case ESpecifier::NeverInline :
|
||||
case ESpecifier::Static :
|
||||
@@ -11270,13 +11279,13 @@ namespace parser
|
||||
case ESpecifier::Constexpr :
|
||||
case ESpecifier::Constinit :
|
||||
case ESpecifier::External_Linkage :
|
||||
case ESpecifier::Global :
|
||||
case ESpecifier::gb_global :
|
||||
case ESpecifier::Inline :
|
||||
case ESpecifier::ForceInline :
|
||||
case ESpecifier::gb_inline :
|
||||
case ESpecifier::Local_Persist :
|
||||
case ESpecifier::Mutable :
|
||||
case ESpecifier::Static :
|
||||
case ESpecifier::Thread_Local :
|
||||
case ESpecifier::gb_thread_local :
|
||||
case ESpecifier::Volatile :
|
||||
break;
|
||||
|
||||
@@ -11436,10 +11445,13 @@ namespace parser
|
||||
else if ( currtok.Type == TokType::Decl_Class || currtok.Type == TokType::Decl_Enum || currtok.Type == TokType::Decl_Struct
|
||||
|| currtok.Type == TokType::Decl_Union )
|
||||
{
|
||||
Token fwd_key = currtok;
|
||||
eat( currtok.Type );
|
||||
// <Attributes> <Specifiers> <class, enum, struct, union>
|
||||
|
||||
name = parse_identifier();
|
||||
name = parse_identifier();
|
||||
fwd_key.Length = sptr(name.Text + name.Length) - sptr(fwd_key.Text);
|
||||
name = fwd_key;
|
||||
|
||||
// name.Length = ( ( sptr )currtok.Text + currtok.Length ) - ( sptr )name.Text;
|
||||
// eat( TokType::Identifier );
|
||||
@@ -12273,12 +12285,12 @@ else if ( currtok.Type == TokType::DeclType )
|
||||
case ESpecifier::Constexpr :
|
||||
case ESpecifier::Constinit :
|
||||
case ESpecifier::External_Linkage :
|
||||
case ESpecifier::Global :
|
||||
case ESpecifier::gb_global :
|
||||
case ESpecifier::Inline :
|
||||
case ESpecifier::Local_Persist :
|
||||
case ESpecifier::Mutable :
|
||||
case ESpecifier::Static :
|
||||
case ESpecifier::Thread_Local :
|
||||
case ESpecifier::gb_thread_local :
|
||||
case ESpecifier::Volatile :
|
||||
break;
|
||||
|
||||
@@ -12367,7 +12379,7 @@ CodeConstructor parse_constructor( StrC def )
|
||||
case ESpecifier::Constexpr :
|
||||
case ESpecifier::Explicit :
|
||||
case ESpecifier::Inline :
|
||||
case ESpecifier::ForceInline :
|
||||
case ESpecifier::gb_inline :
|
||||
case ESpecifier::NeverInline :
|
||||
break;
|
||||
|
||||
|
||||
+31
-31
@@ -415,8 +415,8 @@ namespace ESpecifier
|
||||
Constinit,
|
||||
Explicit,
|
||||
External_Linkage,
|
||||
ForceInline,
|
||||
Global,
|
||||
gb_inline,
|
||||
gb_global,
|
||||
Inline,
|
||||
Internal_Linkage,
|
||||
Local_Persist,
|
||||
@@ -427,7 +427,7 @@ namespace ESpecifier
|
||||
Register,
|
||||
RValue,
|
||||
Static,
|
||||
Thread_Local,
|
||||
gb_thread_local,
|
||||
Virtual,
|
||||
Const,
|
||||
Final,
|
||||
@@ -446,32 +446,32 @@ namespace ESpecifier
|
||||
StrC to_str( Type type )
|
||||
{
|
||||
local_persist StrC lookup[] {
|
||||
{ sizeof( "INVALID" ), "INVALID" },
|
||||
{ sizeof( "consteval" ), "consteval" },
|
||||
{ sizeof( "constexpr" ), "constexpr" },
|
||||
{ sizeof( "constinit" ), "constinit" },
|
||||
{ sizeof( "explicit" ), "explicit" },
|
||||
{ sizeof( "extern" ), "extern" },
|
||||
{ sizeof( "FORCEINLINE" ), "FORCEINLINE" },
|
||||
{ sizeof( "global" ), "global" },
|
||||
{ sizeof( "inline" ), "inline" },
|
||||
{ sizeof( "internal" ), "internal" },
|
||||
{ sizeof( "local_persist" ), "local_persist" },
|
||||
{ sizeof( "mutable" ), "mutable" },
|
||||
{ sizeof( "neverinline" ), "neverinline" },
|
||||
{ sizeof( "*" ), "*" },
|
||||
{ sizeof( "&" ), "&" },
|
||||
{ sizeof( "register" ), "register" },
|
||||
{ sizeof( "&&" ), "&&" },
|
||||
{ sizeof( "static" ), "static" },
|
||||
{ sizeof( "thread_local" ), "thread_local" },
|
||||
{ sizeof( "virtual" ), "virtual" },
|
||||
{ sizeof( "const" ), "const" },
|
||||
{ sizeof( "final" ), "final" },
|
||||
{ sizeof( "noexcept" ), "noexcept" },
|
||||
{ sizeof( "override" ), "override" },
|
||||
{ sizeof( "= 0" ), "= 0" },
|
||||
{ sizeof( "volatile" ), "volatile" },
|
||||
{ sizeof( "INVALID" ), "INVALID" },
|
||||
{ sizeof( "consteval" ), "consteval" },
|
||||
{ sizeof( "constexpr" ), "constexpr" },
|
||||
{ sizeof( "constinit" ), "constinit" },
|
||||
{ sizeof( "explicit" ), "explicit" },
|
||||
{ sizeof( "extern" ), "extern" },
|
||||
{ sizeof( "gb_inline" ), "gb_inline" },
|
||||
{ sizeof( "gb_global" ), "gb_global" },
|
||||
{ sizeof( "inline" ), "inline" },
|
||||
{ sizeof( "internal" ), "internal" },
|
||||
{ sizeof( "local_persist" ), "local_persist" },
|
||||
{ sizeof( "mutable" ), "mutable" },
|
||||
{ sizeof( "neverinline" ), "neverinline" },
|
||||
{ sizeof( "*" ), "*" },
|
||||
{ sizeof( "&" ), "&" },
|
||||
{ sizeof( "register" ), "register" },
|
||||
{ sizeof( "&&" ), "&&" },
|
||||
{ sizeof( "static" ), "static" },
|
||||
{ sizeof( "gb_thread_local" ), "gb_thread_local" },
|
||||
{ sizeof( "virtual" ), "virtual" },
|
||||
{ sizeof( "const" ), "const" },
|
||||
{ sizeof( "final" ), "final" },
|
||||
{ sizeof( "noexcept" ), "noexcept" },
|
||||
{ sizeof( "override" ), "override" },
|
||||
{ sizeof( "= 0" ), "= 0" },
|
||||
{ sizeof( "volatile" ), "volatile" },
|
||||
};
|
||||
return lookup[type];
|
||||
}
|
||||
@@ -6401,7 +6401,7 @@ extern CodeSpecifiers spec_constexpr;
|
||||
extern CodeSpecifiers spec_constinit;
|
||||
extern CodeSpecifiers spec_extern_linkage;
|
||||
extern CodeSpecifiers spec_final;
|
||||
extern CodeSpecifiers spec_FORCEINLINE;
|
||||
extern CodeSpecifiers Spec_gb_inline;
|
||||
extern CodeSpecifiers spec_global;
|
||||
extern CodeSpecifiers spec_inline;
|
||||
extern CodeSpecifiers spec_internal_linkage;
|
||||
@@ -6416,7 +6416,7 @@ extern CodeSpecifiers spec_ref;
|
||||
extern CodeSpecifiers spec_register;
|
||||
extern CodeSpecifiers spec_rvalue;
|
||||
extern CodeSpecifiers spec_static_member;
|
||||
extern CodeSpecifiers spec_thread_local;
|
||||
extern CodeSpecifiers spec_gb_thread_local;
|
||||
extern CodeSpecifiers spec_virtual;
|
||||
extern CodeSpecifiers spec_volatile;
|
||||
|
||||
|
||||
@@ -0,0 +1,183 @@
|
||||
# Format Style Options - Created with Clang Power Tools
|
||||
---
|
||||
AccessModifierOffset: -4
|
||||
|
||||
AlignAfterOpenBracket: BlockIndent
|
||||
AlignArrayOfStructures: Left
|
||||
AlignConsecutiveAssignments:
|
||||
Enabled: true
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: true
|
||||
PadOperators: true
|
||||
AlignConsecutiveBitFields:
|
||||
Enabled: true
|
||||
AcrossEmptyLines: true
|
||||
AcrossComments: false
|
||||
AlignConsecutiveDeclarations:
|
||||
Enabled: true
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignConsecutiveMacros:
|
||||
Enabled: true
|
||||
AcrossEmptyLines: true
|
||||
AcrossComments: false
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: DontAlign
|
||||
AlignTrailingComments: true
|
||||
|
||||
AllowAllArgumentsOnNextLine: true
|
||||
AllowAllConstructorInitializersOnNextLine: false
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AllowShortBlocksOnASingleLine: Empty
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortLambdasOnASingleLine: None
|
||||
AllowShortEnumsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: Inline
|
||||
AllowShortIfStatementsOnASingleLine: Never
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: true
|
||||
AlwaysBreakTemplateDeclarations: Yes
|
||||
|
||||
BinPackArguments: false
|
||||
BinPackParameters: false
|
||||
|
||||
BitFieldColonSpacing: Both
|
||||
|
||||
BraceWrapping:
|
||||
AfterCaseLabel: false
|
||||
AfterClass: false
|
||||
AfterControlStatement: false
|
||||
AfterEnum: false
|
||||
AfterFunction: false
|
||||
AfterNamespace: false
|
||||
AfterObjCDeclaration: false
|
||||
AfterStruct: false
|
||||
AfterUnion: false
|
||||
AfterExternBlock: false
|
||||
BeforeCatch: false
|
||||
BeforeElse: false
|
||||
BeforeWhile: false
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: false
|
||||
SplitEmptyRecord: false
|
||||
SplitEmptyNamespace: false
|
||||
BeforeLambdaBody: false
|
||||
|
||||
|
||||
BreakAfterAttributes: Always
|
||||
BreakArrays: true
|
||||
BreakBeforeInlineASMColon: OnlyMultiline
|
||||
BreakBeforeBinaryOperators: NonAssignment
|
||||
BreakBeforeBraces: Allman
|
||||
BreakBeforeInheritanceComma: true
|
||||
BreakInheritanceList: BeforeComma
|
||||
BreakBeforeConceptDeclarations: true
|
||||
BreakBeforeTernaryOperators: true
|
||||
BreakConstructorInitializers: BeforeComma
|
||||
BreakStringLiterals: true
|
||||
|
||||
ColumnLimit: 160
|
||||
|
||||
CompactNamespaces: true
|
||||
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
||||
ConstructorInitializerIndentWidth : 4
|
||||
|
||||
ContinuationIndentWidth: 4
|
||||
|
||||
Cpp11BracedListStyle: false
|
||||
|
||||
DeriveLineEnding: true
|
||||
|
||||
EmptyLineBeforeAccessModifier: LogicalBlock
|
||||
ExperimentalAutoDetectBinPacking: false
|
||||
|
||||
FixNamespaceComments: true
|
||||
|
||||
IncludeBlocks: Preserve
|
||||
|
||||
IndentCaseBlocks: false
|
||||
IndentCaseLabels: true
|
||||
IndentExternBlock: AfterExternBlock
|
||||
IndentGotoLabels: true
|
||||
IndentPPDirectives: BeforeHash
|
||||
IndentRequires: true
|
||||
IndentWidth: 4
|
||||
IndentWrappedFunctionNames: true
|
||||
|
||||
# InsertNewlineAtEOF: true
|
||||
# InsertTrailingCommas: Wrapped
|
||||
|
||||
LambdaBodyIndentation: OuterScope
|
||||
|
||||
Language: Cpp
|
||||
|
||||
MaxEmptyLinesToKeep: 4
|
||||
|
||||
NamespaceIndentation: All
|
||||
|
||||
PointerAlignment: Left
|
||||
|
||||
QualifierAlignment: Leave
|
||||
|
||||
ReferenceAlignment: Left
|
||||
|
||||
ReflowComments: true
|
||||
|
||||
RequiresExpressionIndentation: OuterScope
|
||||
|
||||
SeparateDefinitionBlocks: Leave
|
||||
|
||||
ShortNamespaceLines: 40
|
||||
|
||||
SortIncludes: false
|
||||
SortUsingDeclarations: false
|
||||
|
||||
SpaceAfterCStyleCast: false
|
||||
SpaceAfterLogicalNot: true
|
||||
SpaceAfterTemplateKeyword: false
|
||||
|
||||
SpaceAroundPointerQualifiers: Default
|
||||
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeCaseColon: true
|
||||
SpaceBeforeCpp11BracedList: true
|
||||
SpaceBeforeCtorInitializerColon: true
|
||||
SpaceBeforeInheritanceColon: true
|
||||
SpaceBeforeParens: ControlStatementsExceptControlMacros
|
||||
SpaceBeforeRangeBasedForLoopColon: true
|
||||
SpaceBeforeSquareBrackets: false
|
||||
SpacesBeforeTrailingComments: 4
|
||||
|
||||
SpaceInEmptyBlock: false
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesInAngles: false
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInConditionalStatement: false
|
||||
SpacesInContainerLiterals: false
|
||||
SpacesInLineCommentPrefix:
|
||||
Minimum: 1
|
||||
Maximum: 20
|
||||
SpacesInParentheses: true
|
||||
SpacesInSquareBrackets: false
|
||||
|
||||
Standard: c++20
|
||||
|
||||
StatementMacros: [
|
||||
'UPROPERTY',
|
||||
'UFUNCTION',
|
||||
'UCLASS',
|
||||
'USTRUCT',
|
||||
'UENUM',
|
||||
'UINTERFACE',
|
||||
'GENERATED_BODY',
|
||||
'DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam'
|
||||
]
|
||||
|
||||
TabWidth: 4
|
||||
|
||||
UseTab: ForIndentation
|
||||
...
|
||||
@@ -91,7 +91,7 @@ build-gensrc
|
||||
|
||||
function run-gensrc
|
||||
{
|
||||
Push-Location $path_src
|
||||
Push-Location $path_root
|
||||
if ( Test-Path( $exe_gensrc ) ) {
|
||||
write-host "`nRunning gen_src"
|
||||
$time_taken = Measure-Command { & $exe_gensrc
|
||||
|
||||
@@ -0,0 +1,711 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
||||
|
||||
<Type Name="gen::AllocatorInfo">
|
||||
<DisplayString>Data:{Data} Proc:{Proc}</DisplayString>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::Pool">
|
||||
<DisplayString>NumBlocks: {NumBlocks} TotalSize: {TotalSize}</DisplayString>
|
||||
<Expand>
|
||||
<LinkedListItems>
|
||||
<Size>NumBlocks</Size>
|
||||
<HeadPointer>FreeList</HeadPointer>
|
||||
<NextPointer>FreeList</NextPointer>
|
||||
<ValueNode>PhysicalStart</ValueNode>
|
||||
</LinkedListItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::Array<*>">
|
||||
<DisplayString>Num:{((Header*)((char*)Data - sizeof(Header)))->Num},
|
||||
Capacity:{((Header*)((char*)Data - sizeof(Header)))->Capacity}</DisplayString>
|
||||
<Expand>
|
||||
<Synthetic Name="Header">
|
||||
<DisplayString>{(Header*)((char*)Data - sizeof(Header))}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Allocator">((Header*)((char*)Data - sizeof(Header)))->Allocator</Item>
|
||||
<Item Name="Capacity">((Header*)((char*)Data - sizeof(Header)))->Capacity</Item>
|
||||
<Item Name="Num">((Header*)((char*)Data - sizeof(Header)))->Num</Item>
|
||||
</Expand>
|
||||
</Synthetic>
|
||||
<ArrayItems>
|
||||
<Size>((Header*)((char*)Data - sizeof(Header)))->Capacity</Size>
|
||||
<ValuePointer>Data</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::StrC">
|
||||
<DisplayString>Len:{Len} Ptr:{Ptr, [Len]s}</DisplayString>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::String">
|
||||
<DisplayString Condition="Data == nullptr">null</DisplayString>
|
||||
<DisplayString>{Data,na}</DisplayString>
|
||||
<Expand>
|
||||
<Synthetic Name="Header">
|
||||
<DisplayString>{(Header*)((char*)Data - sizeof(Header))}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Allocator">((Header*)((char*)Data - sizeof(Header)))->Allocator</Item>
|
||||
<Item Name="Capacity">((Header*)((char*)Data - sizeof(Header)))->Capacity</Item>
|
||||
<Item Name="Length">((Header*)((char*)Data - sizeof(Header)))->Length</Item>
|
||||
</Expand>
|
||||
</Synthetic>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::StringCached">
|
||||
<DisplayString Condition="Data == nullptr">null</DisplayString>
|
||||
<DisplayString>{Data,na}</DisplayString>
|
||||
<Expand>
|
||||
<Synthetic Name="Header">
|
||||
<DisplayString>{(Header*)((char*)Data - sizeof(Header))}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Allocator">((Header*)((char*)Data - sizeof(Header)))->Allocator</Item>
|
||||
<Item Name="Capacity">((Header*)((char*)Data - sizeof(Header)))->Capacity</Item>
|
||||
<Item Name="Length">((Header*)((char*)Data - sizeof(Header)))->Length</Item>
|
||||
</Expand>
|
||||
</Synthetic>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::String::Header">
|
||||
<DisplayString>Length: {Length}, Capacity: {Capacity}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Allocator">Allocator</Item>
|
||||
<Item Name="Length">Length</Item>
|
||||
<Item Name="Capacity">Capacity</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST">
|
||||
<DisplayString Condition="this != nullptr">{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Content">Content</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
<Item Name="NumEntries">NumEntries</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::Code">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} Type: {ast->Type}</DisplayString>
|
||||
<Expand HideRawView="false">
|
||||
<Item Name="Content">ast->Content</Item>
|
||||
<Item Name="Body">ast->Body</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="ModuleFlags" Condition="ast->ModuleFlags != ModuleFlag::Invalid">
|
||||
ast->ModuleFlags</Item>
|
||||
<Item Name="ArrSpecs" Condition="ast->ArrSpecs[0] < 18">ast->ArrSpecs</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
<Item Name="NumEntries">ast->NumEntries</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Body">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Front">Front</Item>
|
||||
<Item Name="Back">Back</Item>
|
||||
<Item Name="NumEntries">NumEntries</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Attributes">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Content">Content</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Comment">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Content">Content</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Constructor">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="InlineCmt">InlineCmt</Item>
|
||||
<Item Name="Specs">Specs</Item>
|
||||
<Item Name="InitializerList">InitializerList</Item>
|
||||
<Item Name="Params">Params</Item>
|
||||
<Item Name="Body">Body</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Class">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ModuleFlags</Item>
|
||||
<Item Name="Attributes">Attributes</Item>
|
||||
<Item Name="ParentType">ParentType</Item>
|
||||
<Item Name="ParentAccess">ParentAccess</Item>
|
||||
<Item Name="Body">Body</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Enum">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Attributes">Attributes</Item>
|
||||
<Item Name="UnderlyingType">UnderlyingType</Item>
|
||||
<Item Name="Body">Body</Item>
|
||||
<Item Name="ModuleFlags">ModuleFlags</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Exec">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Body">Body</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Extern">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Body">Body</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Include">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Content">Content</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Friend">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Declaration">Declaration</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Fn">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ModuleFlags</Item>
|
||||
<Item Name="Attributes">Attributes</Item>
|
||||
<Item Name="Specs">Specs</Item>
|
||||
<Item Name="ReturnType">ReturnType</Item>
|
||||
<Item Name="Params">Params</Item>
|
||||
<Item Name="Body">Body</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Module">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ModuleFlags</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_NS">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ModuleFlags</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
<Item Name="Body">Body</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Operator">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ModuleFlags</Item>
|
||||
<Item Name="Attributes">Attributes</Item>
|
||||
<Item Name="Specs">Specs</Item>
|
||||
<Item Name="ReturnType">ReturnType</Item>
|
||||
<Item Name="Op">Op</Item>
|
||||
<Item Name="Params">Params</Item>
|
||||
<Item Name="Body">Body</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_OpCast">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Specs">Specs</Item>
|
||||
<Item Name="ValueType">ValueType</Item>
|
||||
<Item Name="Body">Body</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Param">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ValueType">ValueType</Item>
|
||||
<Item Name="Value">Value</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Last">Last</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
<Item Name="NumEntries">NumEntries</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Specifiers">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Specs">Specs</Item>
|
||||
<Item Name="NumEntries">NumEntries</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Struct">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ModuleFlags</Item>
|
||||
<Item Name="Attributes">Attributes</Item>
|
||||
<Item Name="ParentType">ParentType</Item>
|
||||
<Item Name="ParentAccess">ParentAccess</Item>
|
||||
<Item Name="Body">Body</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Template">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ModuleFlags</Item>
|
||||
<Item Name="Declaration">Declaration</Item>
|
||||
<Item Name="Params">Params</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Type">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Attributes">Attributes</Item>
|
||||
<Item Name="Specs">Specs</Item>
|
||||
<Item Name="ArrExpr">ArrExpr</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Typedef">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ModuleFlags</Item>
|
||||
<Item Name="Attributes">Attributes</Item>
|
||||
<Item Name="UnderlyingType">UnderlyingType</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Union">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ModuleFlags</Item>
|
||||
<Item Name="Attributes">Attributes</Item>
|
||||
<Item Name="Body">Body</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Using">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ModuleFlags</Item>
|
||||
<Item Name="Attributes">Attributes</Item>
|
||||
<Item Name="UnderlyingType">UnderlyingType</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="ParentAccess">ParentAccess</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_UsingNamespace">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Name">Name</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::AST_Var">
|
||||
<DisplayString>{Name} Type: {Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ModuleFlags</Item>
|
||||
<Item Name="Attributes">Attributes</Item>
|
||||
<Item Name="Specs">Specs</Item>
|
||||
<Item Name="ValueType">ValueType</Item>
|
||||
<Item Name="Value">Value</Item>
|
||||
<Item Name="Parent">Parent</Item>
|
||||
<Item Name="Prev">Prev</Item>
|
||||
<Item Name="Next">Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeBody">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Front">ast->Front</Item>
|
||||
<Item Name="Back">ast->Back</Item>
|
||||
<Item Name="NumEntries">ast->NumEntries</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeAttributes">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Content">ast->Content</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeComment">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Content">ast->Content</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeClass">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ast->ModuleFlags</Item>
|
||||
<Item Name="Attributes">ast->Attributes</Item>
|
||||
<Item Name="ParentType">ast->ParentType</Item>
|
||||
<Item Name="ParentAccess">ast->ParentAccess</Item>
|
||||
<Item Name="Body">ast->Body</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeExec">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Body">ast->Body</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Name">ast->Name</Item>
|
||||
<Item Name="Type">ast->Type</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeEnum">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ast->ModuleFlags</Item>
|
||||
<Item Name="Attributes">ast->Attributes</Item>
|
||||
<Item Name="UnderlyingType">ast->UnderlyingType</Item>
|
||||
<Item Name="Body">ast->Body</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeInclude">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Content">ast->Content</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeFriend">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Declaration">ast->Declaration</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeFn">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ast->ModuleFlags</Item>
|
||||
<Item Name="Attributes">ast->Attributes</Item>
|
||||
<Item Name="Specs">ast->Specs</Item>
|
||||
<Item Name="ReturnType">ast->ReturnType</Item>
|
||||
<Item Name="Params">ast->Params</Item>
|
||||
<Item Name="Body">ast->Body</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeModule">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ast->ModuleFlags</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeNS">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ast->ModuleFlags</Item>
|
||||
<Item Name="Body">ast->Body</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeOperator">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ast->ModuleFlags</Item>
|
||||
<Item Name="Attributes">ast->Attributes</Item>
|
||||
<Item Name="Specs">ast->Specs</Item>
|
||||
<Item Name="ReturnType">ast->ReturnType</Item>
|
||||
<Item Name="Op">ast->Op</Item>
|
||||
<Item Name="Params">ast->Params</Item>
|
||||
<Item Name="Body">ast->Body</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeOpCast">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ValueType">ast->ValueType</Item>
|
||||
<Item Name="Body">ast->Body</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeParam">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ValueType">ast->ValueType</Item>
|
||||
<Item Name="Value">ast->Value</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Last">ast->Last</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
<Item Name="NumEntries">ast->NumEntries</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeSpecifiers">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Specs">ast->Specs</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
<Item Name="NumEntries">ast->NumEntries</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeStruct">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ast->ModuleFlags</Item>
|
||||
<Item Name="Attributes">ast->Attributes</Item>
|
||||
<Item Name="ParentType">ast->ParentType</Item>
|
||||
<Item Name="ParentAccess">ast->ParentAccess</Item>
|
||||
<Item Name="Body">ast->Body</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeTemplate">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ast->ModuleFlags</Item>
|
||||
<Item Name="Params">ast->Params</Item>
|
||||
<Item Name="Declaration">ast->Declaration</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeType">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Attributes">ast->Attributes</Item>
|
||||
<Item Name="Specs">ast->Specs</Item>
|
||||
<Item Name="ArrExpr">ast->ArrExpr</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeTypedef">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ast->ModuleFlags</Item>
|
||||
<Item Name="Attributes">ast->Attributes</Item>
|
||||
<Item Name="UnderlyingType">ast->UnderlyingType</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeUnion">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ast->ModuleFlags</Item>
|
||||
<Item Name="Attributes">ast->Attributes</Item>
|
||||
<Item Name="Body">ast->Body</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeUsing">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ast->ModuleFlags</Item>
|
||||
<Item Name="Attributes">ast->Attributes</Item>
|
||||
<Item Name="UnderlyingType">ast->UnderlyingType</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeUsingNamespace">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Name">ast->Name</Item>
|
||||
<Item Name="Type">ast->Type</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::CodeVar">
|
||||
<DisplayString Condition="ast == nullptr">Null</DisplayString>
|
||||
<DisplayString Condition="ast != nullptr">{ast->Name} {ast->Type}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ModuleFlags">ast->ModuleFlags</Item>
|
||||
<Item Name="Attributes">ast->Attributes</Item>
|
||||
<Item Name="Specs">ast->Specs</Item>
|
||||
<Item Name="ValueType">ast->ValueType</Item>
|
||||
<Item Name="Value">ast->Value</Item>
|
||||
<Item Name="Parent">ast->Parent</Item>
|
||||
<Item Name="Prev">ast->Prev</Item>
|
||||
<Item Name="Next">ast->Next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::parser::Token">
|
||||
<DisplayString>Length:{Length} Text:{Text, [Length]s} Type:{Type}</DisplayString>
|
||||
</Type>
|
||||
|
||||
<Type Name="gen::parser::TokArray">
|
||||
<DisplayString>Current[ { Arr[Idx] } ] Idx:{ Idx }</DisplayString>
|
||||
</Type>
|
||||
|
||||
</AutoVisualizer>
|
||||
Reference in New Issue
Block a user