From db6924caa4889c0c0af0cd62cb8f2faf46e5284b Mon Sep 17 00:00:00 2001 From: Alexander Kuechler Date: Tue, 30 Jan 2024 10:43:25 +0100 Subject: [PATCH] Updated generated documentation --- docs/docs/CPG/specs/graph.md | 7110 ++++++++++++++++----- docs/docs/CPG/specs/schema.md | 10952 -------------------------------- 2 files changed, 5443 insertions(+), 12619 deletions(-) delete mode 100644 docs/docs/CPG/specs/schema.md diff --git a/docs/docs/CPG/specs/graph.md b/docs/docs/CPG/specs/graph.md index 7e594aad52..f05b76461e 100644 --- a/docs/docs/CPG/specs/graph.md +++ b/docs/docs/CPG/specs/graph.md @@ -12,29 +12,30 @@ This file shows all node labels and relationships between them that are persiste [Annotation](#eannotation) ### Relationships -[DFG](#NodeDFG) - [EOG](#NodeEOG) - +[CDG](#NodeCDG) +[DFG](#NodeDFG) [ANNOTATIONS](#NodeANNOTATIONS) - +[PDG](#NodePDG) [AST](#NodeAST) - [SCOPE](#NodeSCOPE) - -[TYPEDEFS](#NodeTYPEDEFS) - -#### DFG +#### EOG ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Node--"DFG*"-->NodeDFG[Node]:::outer +Node--"EOG*"-->NodeEOG[Node]:::outer ``` -#### EOG +#### CDG ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Node--"EOG*"-->NodeEOG[Node]:::outer +Node--"CDG*"-->NodeCDG[Node]:::outer +``` +#### DFG +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +Node--"DFG*"-->NodeDFG[Node]:::outer ``` #### ANNOTATIONS ```mermaid @@ -42,24 +43,55 @@ flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; Node--"ANNOTATIONS*"-->NodeANNOTATIONS[Annotation]:::outer ``` -#### AST +#### PDG ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Node--"AST*"-->NodeAST[Node]:::outer +Node--"PDG*"-->NodePDG[Node]:::outer ``` -#### SCOPE +#### AST ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Node--"SCOPE¹"-->NodeSCOPE[Node]:::outer +Node--"AST*"-->NodeAST[Node]:::outer ``` -#### TYPEDEFS +#### SCOPE ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Node--"TYPEDEFS*"-->NodeTYPEDEFS[TypedefDeclaration]:::outer +Node--"SCOPE¹"-->NodeSCOPE[Node]:::outer ``` +### Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + ## Statement **Labels**:[Node](#enode) [Statement](#estatement) @@ -67,17 +99,15 @@ Node--"TYPEDEFS*"-->NodeTYPEDEFS[TypedefDeclarati ### Children [AssertStatement](#eassertstatement) [DoStatement](#edostatement) +[Expression](#eexpression) [CaseStatement](#ecasestatement) [ReturnStatement](#ereturnstatement) -[Expression](#eexpression) [IfStatement](#eifstatement) -[DeclarationStatement](#edeclarationstatement) [ForStatement](#eforstatement) [CatchClause](#ecatchclause) [SwitchStatement](#eswitchstatement) [GotoStatement](#egotostatement) [WhileStatement](#ewhilestatement) -[BlockStatement](#ecompoundstatement) [ContinueStatement](#econtinuestatement) [DefaultStatement](#edefaultstatement) [SynchronizedStatement](#esynchronizedstatement) @@ -85,22 +115,28 @@ Node--"TYPEDEFS*"-->NodeTYPEDEFS[TypedefDeclarati [ForEachStatement](#eforeachstatement) [LabelStatement](#elabelstatement) [BreakStatement](#ebreakstatement) +[DeclarationStatement](#edeclarationstatement) [EmptyStatement](#eemptystatement) ### Relationships [LOCALS](#StatementLOCALS) - -[DFG](#NodeDFG) +
Inherited Relationships [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
#### LOCALS
```mermaid @@ -108,42 +144,114 @@ flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; Statement--"LOCALS*"-->StatementLOCALS[VariableDeclaration]:::outer ``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ ## AssertStatement **Labels**:[Node](#enode) [Statement](#estatement) [AssertStatement](#eassertstatement) ### Relationships -[CONDITION](#AssertStatementCONDITION) - [MESSAGE](#AssertStatementMESSAGE) +[CONDITION](#AssertStatementCONDITION) +
Inherited Relationships [LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) - [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### CONDITION +#### MESSAGE ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -AssertStatement--"CONDITION¹"-->AssertStatementCONDITION[Expression]:::outer +AssertStatement--"MESSAGE¹"-->AssertStatementMESSAGE[Statement]:::outer ``` -#### MESSAGE +#### CONDITION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -AssertStatement--"MESSAGE¹"-->AssertStatementMESSAGE[Statement]:::outer +AssertStatement--"CONDITION¹"-->AssertStatementCONDITION[Expression]:::outer ``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ ## DoStatement **Labels**:[Node](#enode) [Statement](#estatement) @@ -151,22 +259,26 @@ AssertStatement--"MESSAGE¹"-->AssertStatementMESSAGE[Stat ### Relationships [CONDITION](#DoStatementCONDITION) - [STATEMENT](#DoStatementSTATEMENT) +
Inherited Relationships [LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) - [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
#### CONDITION
```mermaid @@ -180,2913 +292,6248 @@ flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; DoStatement--"STATEMENT¹"-->DoStatementSTATEMENT[Statement]:::outer ``` -## CaseStatement -**Labels**:[Node](#enode) -[Statement](#estatement) -[CaseStatement](#ecasestatement) - -### Relationships -[CASE_EXPRESSION](#CaseStatementCASE_EXPRESSION) +### Properties +
Inherited Properties +code : String -[LOCALS](#StatementLOCALS) - -[DFG](#NodeDFG) +argumentIndex : int -[EOG](#NodeEOG) +file : String -[ANNOTATIONS](#NodeANNOTATIONS) +isImplicit : boolean -[AST](#NodeAST) +fullName : String -[SCOPE](#NodeSCOPE) +localName : String -[TYPEDEFS](#NodeTYPEDEFS) +name : String -#### CASE_EXPRESSION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CaseStatement--"CASE_EXPRESSION¹"-->CaseStatementCASE_EXPRESSION[Expression]:::outer -``` -## ReturnStatement -**Labels**:[Node](#enode) -[Statement](#estatement) -[ReturnStatement](#ereturnstatement) +nameDelimiter : String -### Relationships -[RETURN_VALUES](#ReturnStatementRETURN_VALUES) +comment : String -[LOCALS](#StatementLOCALS) +artifact : String -[DFG](#NodeDFG) +startLine : int -[EOG](#NodeEOG) +endLine : int -[ANNOTATIONS](#NodeANNOTATIONS) +startColumn : int -[AST](#NodeAST) +endColumn : int -[SCOPE](#NodeSCOPE) +isInferred : boolean -[TYPEDEFS](#NodeTYPEDEFS) +
-#### RETURN_VALUES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ReturnStatement--"RETURN_VALUES*"-->ReturnStatementRETURN_VALUES[Expression]:::outer -``` ## Expression **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) ### Children +[RangeExpression](#erangeexpression) [NewExpression](#enewexpression) [LambdaExpression](#elambdaexpression) [UnaryOperator](#eunaryoperator) -[ArrayRangeExpression](#earrayrangeexpression) +[Block](#eblock) [CallExpression](#ecallexpression) -[DesignatedInitializerExpression](#edesignatedinitializerexpression) +[NewArrayExpression](#enewarrayexpression) [KeyValueExpression](#ekeyvalueexpression) [AssignExpression](#eassignexpression) [CastExpression](#ecastexpression) -[NewArrayExpression](#earraycreationexpression) -[SubscriptionExpression](#earraysubscriptionexpression) [TypeExpression](#etypeexpression) +[Reference](#ereference) [BinaryOperator](#ebinaryoperator) [ConditionalExpression](#econditionalexpression) -[Reference](#edeclaredreferenceexpression) [InitializerListExpression](#einitializerlistexpression) [DeleteExpression](#edeleteexpression) -[BlockStatementExpression](#ecompoundstatementexpression) +[SubscriptExpression](#esubscriptexpression) [ProblemExpression](#eproblemexpression) [Literal](#eliteral) [TypeIdExpression](#etypeidexpression) [ExpressionList](#eexpressionlist) ### Relationships -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) - [TYPE](#ExpressionTYPE) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) +
Inherited Relationships [LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) - [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### POSSIBLE_SUB_TYPES +#### TYPE ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Expression--"POSSIBLE_SUB_TYPES*"-->ExpressionPOSSIBLE_SUB_TYPES[Type]:::outer +Expression--"TYPE¹"-->ExpressionTYPE[Type]:::outer ``` -#### TYPE +#### ASSIGNED_TYPES ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Expression--"TYPE¹"-->ExpressionTYPE[Type]:::outer +Expression--"ASSIGNED_TYPES*"-->ExpressionASSIGNED_TYPES[Type]:::outer ``` -## NewExpression -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[NewExpression](#enewexpression) +### Properties +
Inherited Properties +code : String -### Relationships -[INITIALIZER](#NewExpressionINITIALIZER) +argumentIndex : int -[TEMPLATE_PARAMETERS](#NewExpressionTEMPLATE_PARAMETERS) +file : String -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +isImplicit : boolean -[TYPE](#ExpressionTYPE) +fullName : String -[LOCALS](#StatementLOCALS) +localName : String -[DFG](#NodeDFG) +name : String -[EOG](#NodeEOG) +nameDelimiter : String -[ANNOTATIONS](#NodeANNOTATIONS) +comment : String -[AST](#NodeAST) +artifact : String -[SCOPE](#NodeSCOPE) +startLine : int -[TYPEDEFS](#NodeTYPEDEFS) +endLine : int -#### INITIALIZER -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -NewExpression--"INITIALIZER¹"-->NewExpressionINITIALIZER[Expression]:::outer -``` -#### TEMPLATE_PARAMETERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -NewExpression--"TEMPLATE_PARAMETERS*"-->NewExpressionTEMPLATE_PARAMETERS[Node]:::outer -``` -## LambdaExpression +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## RangeExpression **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[LambdaExpression](#elambdaexpression) +[RangeExpression](#erangeexpression) ### Relationships -[MUTABLE_VARIABLES](#LambdaExpressionMUTABLE_VARIABLES) - -[FUNCTION](#LambdaExpressionFUNCTION) - -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +[CEILING](#RangeExpressionCEILING) +[THIRD](#RangeExpressionTHIRD) +[FLOOR](#RangeExpressionFLOOR) +
Inherited Relationships [TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### MUTABLE_VARIABLES +#### CEILING ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -LambdaExpression--"MUTABLE_VARIABLES*"-->LambdaExpressionMUTABLE_VARIABLES[ValueDeclaration]:::outer +RangeExpression--"CEILING¹"-->RangeExpressionCEILING[Expression]:::outer ``` -#### FUNCTION +#### THIRD ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -LambdaExpression--"FUNCTION¹"-->LambdaExpressionFUNCTION[FunctionDeclaration]:::outer +RangeExpression--"THIRD¹"-->RangeExpressionTHIRD[Expression]:::outer ``` -## UnaryOperator -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[UnaryOperator](#eunaryoperator) +#### FLOOR +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +RangeExpression--"FLOOR¹"-->RangeExpressionFLOOR[Expression]:::outer +``` +### Properties +operatorCode : String -### Relationships -[INPUT](#UnaryOperatorINPUT) +
Inherited Properties +code : String -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +argumentIndex : int -[TYPE](#ExpressionTYPE) +file : String -[LOCALS](#StatementLOCALS) +isImplicit : boolean -[DFG](#NodeDFG) +fullName : String -[EOG](#NodeEOG) +localName : String -[ANNOTATIONS](#NodeANNOTATIONS) +name : String -[AST](#NodeAST) +nameDelimiter : String -[SCOPE](#NodeSCOPE) +comment : String -[TYPEDEFS](#NodeTYPEDEFS) +artifact : String -#### INPUT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -UnaryOperator--"INPUT¹"-->UnaryOperatorINPUT[Expression]:::outer -``` -## ArrayRangeExpression +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## NewExpression **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[ArrayRangeExpression](#earrayrangeexpression) +[NewExpression](#enewexpression) ### Relationships -[CEILING](#ArrayRangeExpressionCEILING) +[INITIALIZER](#NewExpressionINITIALIZER) +[TEMPLATE_PARAMETERS](#NewExpressionTEMPLATE_PARAMETERS) +
Inherited Relationships -[STEP](#ArrayRangeExpressionSTEP) +[TYPE](#ExpressionTYPE) -[FLOOR](#ArrayRangeExpressionFLOOR) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +[LOCALS](#StatementLOCALS) -[TYPE](#ExpressionTYPE) +[EOG](#NodeEOG) -[LOCALS](#StatementLOCALS) +[CDG](#NodeCDG) [DFG](#NodeDFG) -[EOG](#NodeEOG) - [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### CEILING -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ArrayRangeExpression--"CEILING¹"-->ArrayRangeExpressionCEILING[Expression]:::outer -``` -#### STEP +#### INITIALIZER ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ArrayRangeExpression--"STEP¹"-->ArrayRangeExpressionSTEP[Expression]:::outer +NewExpression--"INITIALIZER¹"-->NewExpressionINITIALIZER[Expression]:::outer ``` -#### FLOOR +#### TEMPLATE_PARAMETERS ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ArrayRangeExpression--"FLOOR¹"-->ArrayRangeExpressionFLOOR[Expression]:::outer +NewExpression--"TEMPLATE_PARAMETERS*"-->NewExpressionTEMPLATE_PARAMETERS[Node]:::outer ``` -## CallExpression -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[CallExpression](#ecallexpression) +### Properties +
Inherited Properties +code : String -### Children -[ConstructorCallExpression](#eexplicitconstructorinvocation) -[ConstructExpression](#econstructexpression) -[MemberCallExpression](#emembercallexpression) +argumentIndex : int -### Relationships -[CALLEE](#CallExpressionCALLEE) +file : String -[INVOKES](#CallExpressionINVOKES) +isImplicit : boolean -[TEMPLATE_INSTANTIATION](#CallExpressionTEMPLATE_INSTANTIATION) +fullName : String -[ARGUMENTS](#CallExpressionARGUMENTS) +localName : String -[TEMPLATE_PARAMETERS](#CallExpressionTEMPLATE_PARAMETERS) +name : String + +nameDelimiter : String + +comment : String -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## LambdaExpression +**Labels**:[Node](#enode) +[Statement](#estatement) +[Expression](#eexpression) +[LambdaExpression](#elambdaexpression) + +### Relationships +[MUTABLE_VARIABLES](#LambdaExpressionMUTABLE_VARIABLES) +[FUNCTION](#LambdaExpressionFUNCTION) +
Inherited Relationships [TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### CALLEE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CallExpression--"CALLEE¹"-->CallExpressionCALLEE[Expression]:::outer -``` -#### INVOKES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CallExpression--"INVOKES*"-->CallExpressionINVOKES[FunctionDeclaration]:::outer -``` -#### TEMPLATE_INSTANTIATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CallExpression--"TEMPLATE_INSTANTIATION¹"-->CallExpressionTEMPLATE_INSTANTIATION[TemplateDeclaration]:::outer -``` -#### ARGUMENTS +#### MUTABLE_VARIABLES ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CallExpression--"ARGUMENTS*"-->CallExpressionARGUMENTS[Expression]:::outer +LambdaExpression--"MUTABLE_VARIABLES*"-->LambdaExpressionMUTABLE_VARIABLES[ValueDeclaration]:::outer ``` -#### TEMPLATE_PARAMETERS +#### FUNCTION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CallExpression--"TEMPLATE_PARAMETERS*"-->CallExpressionTEMPLATE_PARAMETERS[Node]:::outer +LambdaExpression--"FUNCTION¹"-->LambdaExpressionFUNCTION[FunctionDeclaration]:::outer ``` -## ConstructorCallExpression -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[CallExpression](#ecallexpression) -[ConstructorCallExpression](#eexplicitconstructorinvocation) +### Properties +areVariablesMutable : boolean -### Relationships -[CALLEE](#CallExpressionCALLEE) +
Inherited Properties +code : String -[INVOKES](#CallExpressionINVOKES) +argumentIndex : int -[TEMPLATE_INSTANTIATION](#CallExpressionTEMPLATE_INSTANTIATION) +file : String -[ARGUMENTS](#CallExpressionARGUMENTS) +isImplicit : boolean -[TEMPLATE_PARAMETERS](#CallExpressionTEMPLATE_PARAMETERS) +fullName : String -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +localName : String -[TYPE](#ExpressionTYPE) +name : String -[LOCALS](#StatementLOCALS) +nameDelimiter : String -[DFG](#NodeDFG) +comment : String -[EOG](#NodeEOG) +artifact : String -[ANNOTATIONS](#NodeANNOTATIONS) +startLine : int -[AST](#NodeAST) +endLine : int -[SCOPE](#NodeSCOPE) +startColumn : int -[TYPEDEFS](#NodeTYPEDEFS) +endColumn : int -## ConstructExpression +isInferred : boolean + +
+ +## UnaryOperator **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[CallExpression](#ecallexpression) -[ConstructExpression](#econstructexpression) +[UnaryOperator](#eunaryoperator) ### Relationships -[INSTANTIATES](#ConstructExpressionINSTANTIATES) - -[CONSTRUCTOR](#ConstructExpressionCONSTRUCTOR) - -[ANOYMOUS_CLASS](#ConstructExpressionANOYMOUS_CLASS) - -[CALLEE](#CallExpressionCALLEE) - -[INVOKES](#CallExpressionINVOKES) - -[TEMPLATE_INSTANTIATION](#CallExpressionTEMPLATE_INSTANTIATION) +[INPUT](#UnaryOperatorINPUT) +
Inherited Relationships -[ARGUMENTS](#CallExpressionARGUMENTS) +[TYPE](#ExpressionTYPE) -[TEMPLATE_PARAMETERS](#CallExpressionTEMPLATE_PARAMETERS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +[LOCALS](#StatementLOCALS) -[TYPE](#ExpressionTYPE) +[EOG](#NodeEOG) -[LOCALS](#StatementLOCALS) +[CDG](#NodeCDG) [DFG](#NodeDFG) -[EOG](#NodeEOG) - [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### INSTANTIATES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ConstructExpression--"INSTANTIATES¹"-->ConstructExpressionINSTANTIATES[Declaration]:::outer -``` -#### CONSTRUCTOR -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ConstructExpression--"CONSTRUCTOR¹"-->ConstructExpressionCONSTRUCTOR[ConstructorDeclaration]:::outer -``` -#### ANOYMOUS_CLASS +#### INPUT ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ConstructExpression--"ANOYMOUS_CLASS¹"-->ConstructExpressionANOYMOUS_CLASS[RecordDeclaration]:::outer +UnaryOperator--"INPUT¹"-->UnaryOperatorINPUT[Expression]:::outer ``` -## MemberCallExpression -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[CallExpression](#ecallexpression) -[MemberCallExpression](#emembercallexpression) +### Properties +operatorCode : String -### Relationships -[CALLEE](#CallExpressionCALLEE) +isPostfix : boolean -[INVOKES](#CallExpressionINVOKES) +isPrefix : boolean -[TEMPLATE_INSTANTIATION](#CallExpressionTEMPLATE_INSTANTIATION) +
Inherited Properties +code : String -[ARGUMENTS](#CallExpressionARGUMENTS) +argumentIndex : int -[TEMPLATE_PARAMETERS](#CallExpressionTEMPLATE_PARAMETERS) +file : String -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +isImplicit : boolean -[TYPE](#ExpressionTYPE) +fullName : String -[LOCALS](#StatementLOCALS) +localName : String -[DFG](#NodeDFG) +name : String -[EOG](#NodeEOG) +nameDelimiter : String -[ANNOTATIONS](#NodeANNOTATIONS) +comment : String -[AST](#NodeAST) +artifact : String -[SCOPE](#NodeSCOPE) +startLine : int + +endLine : int + +startColumn : int -[TYPEDEFS](#NodeTYPEDEFS) +endColumn : int -## DesignatedInitializerExpression +isInferred : boolean + +
+ +## Block **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[DesignatedInitializerExpression](#edesignatedinitializerexpression) - -### Relationships -[LHS](#DesignatedInitializerExpressionLHS) +[Block](#eblock) -[RHS](#DesignatedInitializerExpressionRHS) +### Children +[DistinctLanguageBlock](#edistinctlanguageblock) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +### Relationships +[STATEMENTS](#BlockSTATEMENTS) +
Inherited Relationships [TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### LHS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -DesignatedInitializerExpression--"LHS*"-->DesignatedInitializerExpressionLHS[Expression]:::outer -``` -#### RHS +#### STATEMENTS ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -DesignatedInitializerExpression--"RHS¹"-->DesignatedInitializerExpressionRHS[Expression]:::outer +Block--"STATEMENTS*"-->BlockSTATEMENTS[Statement]:::outer ``` -## KeyValueExpression +### Properties +isStaticBlock : boolean + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## DistinctLanguageBlock **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[KeyValueExpression](#ekeyvalueexpression) +[Block](#eblock) +[DistinctLanguageBlock](#edistinctlanguageblock) ### Relationships -[VALUE](#KeyValueExpressionVALUE) - -[KEY](#KeyValueExpressionKEY) +
Inherited Relationships -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +[STATEMENTS](#BlockSTATEMENTS) [TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### VALUE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -KeyValueExpression--"VALUE¹"-->KeyValueExpressionVALUE[Expression]:::outer -``` -#### KEY -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -KeyValueExpression--"KEY¹"-->KeyValueExpressionKEY[Expression]:::outer -``` -## AssignExpression +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +isStaticBlock : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## CallExpression **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[AssignExpression](#eassignexpression) +[CallExpression](#ecallexpression) + +### Children +[ConstructExpression](#econstructexpression) +[MemberCallExpression](#emembercallexpression) ### Relationships -[DECLARATIONS](#AssignExpressionDECLARATIONS) +[CALLEE](#CallExpressionCALLEE) +[INVOKES](#CallExpressionINVOKES) +[TEMPLATE_INSTANTIATION](#CallExpressionTEMPLATE_INSTANTIATION) +[ARGUMENTS](#CallExpressionARGUMENTS) +[TEMPLATE_PARAMETERS](#CallExpressionTEMPLATE_PARAMETERS) +
Inherited Relationships -[LHS](#AssignExpressionLHS) +[TYPE](#ExpressionTYPE) -[RHS](#AssignExpressionRHS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +[LOCALS](#StatementLOCALS) -[TYPE](#ExpressionTYPE) +[EOG](#NodeEOG) -[LOCALS](#StatementLOCALS) +[CDG](#NodeCDG) [DFG](#NodeDFG) -[EOG](#NodeEOG) - [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### DECLARATIONS +#### CALLEE ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -AssignExpression--"DECLARATIONS*"-->AssignExpressionDECLARATIONS[VariableDeclaration]:::outer +CallExpression--"CALLEE¹"-->CallExpressionCALLEE[Expression]:::outer ``` -#### LHS +#### INVOKES ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -AssignExpression--"LHS*"-->AssignExpressionLHS[Expression]:::outer +CallExpression--"INVOKES*"-->CallExpressionINVOKES[FunctionDeclaration]:::outer ``` -#### RHS +#### TEMPLATE_INSTANTIATION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -AssignExpression--"RHS*"-->AssignExpressionRHS[Expression]:::outer +CallExpression--"TEMPLATE_INSTANTIATION¹"-->CallExpressionTEMPLATE_INSTANTIATION[TemplateDeclaration]:::outer ``` -## CastExpression -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[CastExpression](#ecastexpression) +#### ARGUMENTS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +CallExpression--"ARGUMENTS*"-->CallExpressionARGUMENTS[Expression]:::outer +``` +#### TEMPLATE_PARAMETERS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +CallExpression--"TEMPLATE_PARAMETERS*"-->CallExpressionTEMPLATE_PARAMETERS[Node]:::outer +``` +### Properties +template : boolean -### Relationships -[CAST_TYPE](#CastExpressionCAST_TYPE) +
Inherited Properties +code : String -[EXPRESSION](#CastExpressionEXPRESSION) +argumentIndex : int -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +file : String -[TYPE](#ExpressionTYPE) +isImplicit : boolean -[LOCALS](#StatementLOCALS) +fullName : String -[DFG](#NodeDFG) +localName : String -[EOG](#NodeEOG) +name : String -[ANNOTATIONS](#NodeANNOTATIONS) +nameDelimiter : String -[AST](#NodeAST) +comment : String -[SCOPE](#NodeSCOPE) +artifact : String -[TYPEDEFS](#NodeTYPEDEFS) +startLine : int -#### CAST_TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CastExpression--"CAST_TYPE¹"-->CastExpressionCAST_TYPE[Type]:::outer -``` -#### EXPRESSION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CastExpression--"EXPRESSION¹"-->CastExpressionEXPRESSION[Expression]:::outer -``` -## NewArrayExpression +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## ConstructExpression **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[NewArrayExpression](#earraycreationexpression) +[CallExpression](#ecallexpression) +[ConstructExpression](#econstructexpression) ### Relationships -[INITIALIZER](#NewArrayExpressionINITIALIZER) +[INSTANTIATES](#ConstructExpressionINSTANTIATES) +[CONSTRUCTOR](#ConstructExpressionCONSTRUCTOR) +[ANOYMOUS_CLASS](#ConstructExpressionANOYMOUS_CLASS) +
Inherited Relationships -[DIMENSIONS](#NewArrayExpressionDIMENSIONS) +[CALLEE](#CallExpressionCALLEE) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +[INVOKES](#CallExpressionINVOKES) + +[TEMPLATE_INSTANTIATION](#CallExpressionTEMPLATE_INSTANTIATION) + +[ARGUMENTS](#CallExpressionARGUMENTS) + +[TEMPLATE_PARAMETERS](#CallExpressionTEMPLATE_PARAMETERS) [TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### INITIALIZER +#### INSTANTIATES ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -NewArrayExpression--"INITIALIZER¹"-->NewArrayExpressionINITIALIZER[Expression]:::outer +ConstructExpression--"INSTANTIATES¹"-->ConstructExpressionINSTANTIATES[Declaration]:::outer ``` -#### DIMENSIONS +#### CONSTRUCTOR ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -NewArrayExpression--"DIMENSIONS*"-->NewArrayExpressionDIMENSIONS[Expression]:::outer +ConstructExpression--"CONSTRUCTOR¹"-->ConstructExpressionCONSTRUCTOR[ConstructorDeclaration]:::outer ``` -## SubscriptionExpression -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[SubscriptionExpression](#earraysubscriptionexpression) +#### ANOYMOUS_CLASS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +ConstructExpression--"ANOYMOUS_CLASS¹"-->ConstructExpressionANOYMOUS_CLASS[RecordDeclaration]:::outer +``` +### Properties +
Inherited Properties +template : boolean -### Relationships -[ARRAY_EXPRESSION](#SubscriptionExpressionARRAY_EXPRESSION) +code : String -[SUBSCRIPT_EXPRESSION](#SubscriptionExpressionSUBSCRIPT_EXPRESSION) +file : String -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +isInferred : boolean -[TYPE](#ExpressionTYPE) +argumentIndex : int -[LOCALS](#StatementLOCALS) +isImplicit : boolean -[DFG](#NodeDFG) +fullName : String -[EOG](#NodeEOG) +localName : String -[ANNOTATIONS](#NodeANNOTATIONS) +name : String -[AST](#NodeAST) +nameDelimiter : String -[SCOPE](#NodeSCOPE) +comment : String -[TYPEDEFS](#NodeTYPEDEFS) +artifact : String -#### ARRAY_EXPRESSION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SubscriptionExpression--"ARRAY_EXPRESSION¹"-->SubscriptionExpressionARRAY_EXPRESSION[Expression]:::outer -``` -#### SUBSCRIPT_EXPRESSION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SubscriptionExpression--"SUBSCRIPT_EXPRESSION¹"-->SubscriptionExpressionSUBSCRIPT_EXPRESSION[Expression]:::outer -``` -## TypeExpression +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +
+ +## MemberCallExpression **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[TypeExpression](#etypeexpression) +[CallExpression](#ecallexpression) +[MemberCallExpression](#emembercallexpression) ### Relationships -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +
Inherited Relationships + +[CALLEE](#CallExpressionCALLEE) + +[INVOKES](#CallExpressionINVOKES) + +[TEMPLATE_INSTANTIATION](#CallExpressionTEMPLATE_INSTANTIATION) + +[ARGUMENTS](#CallExpressionARGUMENTS) + +[TEMPLATE_PARAMETERS](#CallExpressionTEMPLATE_PARAMETERS) [TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-## BinaryOperator +### Properties +isStatic : boolean + +
Inherited Properties +template : boolean + +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## NewArrayExpression **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[BinaryOperator](#ebinaryoperator) +[NewArrayExpression](#enewarrayexpression) ### Relationships -[LHS](#BinaryOperatorLHS) - -[RHS](#BinaryOperatorRHS) - -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +[INITIALIZER](#NewArrayExpressionINITIALIZER) +[DIMENSIONS](#NewArrayExpressionDIMENSIONS) +
Inherited Relationships [TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### LHS +#### INITIALIZER ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -BinaryOperator--"LHS¹"-->BinaryOperatorLHS[Expression]:::outer +NewArrayExpression--"INITIALIZER¹"-->NewArrayExpressionINITIALIZER[Expression]:::outer ``` -#### RHS +#### DIMENSIONS ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -BinaryOperator--"RHS¹"-->BinaryOperatorRHS[Expression]:::outer +NewArrayExpression--"DIMENSIONS*"-->NewArrayExpressionDIMENSIONS[Expression]:::outer ``` -## ConditionalExpression +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## KeyValueExpression **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[ConditionalExpression](#econditionalexpression) +[KeyValueExpression](#ekeyvalueexpression) ### Relationships -[ELSE_EXPR](#ConditionalExpressionELSE_EXPR) +[VALUE](#KeyValueExpressionVALUE) +[KEY](#KeyValueExpressionKEY) +
Inherited Relationships -[THEN_EXPR](#ConditionalExpressionTHEN_EXPR) +[TYPE](#ExpressionTYPE) -[CONDITION](#ConditionalExpressionCONDITION) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +[LOCALS](#StatementLOCALS) -[TYPE](#ExpressionTYPE) +[EOG](#NodeEOG) -[LOCALS](#StatementLOCALS) +[CDG](#NodeCDG) [DFG](#NodeDFG) -[EOG](#NodeEOG) - [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### ELSE_EXPR -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ConditionalExpression--"ELSE_EXPR¹"-->ConditionalExpressionELSE_EXPR[Expression]:::outer -``` -#### THEN_EXPR +#### VALUE ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ConditionalExpression--"THEN_EXPR¹"-->ConditionalExpressionTHEN_EXPR[Expression]:::outer +KeyValueExpression--"VALUE¹"-->KeyValueExpressionVALUE[Expression]:::outer ``` -#### CONDITION +#### KEY ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ConditionalExpression--"CONDITION¹"-->ConditionalExpressionCONDITION[Expression]:::outer +KeyValueExpression--"KEY¹"-->KeyValueExpressionKEY[Expression]:::outer ``` -## Reference -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[Reference](#edeclaredreferenceexpression) +### Properties +
Inherited Properties +code : String -### Children -[MemberExpression](#ememberexpression) +argumentIndex : int -### Relationships -[REFERS_TO](#ReferenceREFERS_TO) +file : String -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +isImplicit : boolean -[TYPE](#ExpressionTYPE) +fullName : String -[LOCALS](#StatementLOCALS) +localName : String -[DFG](#NodeDFG) +name : String -[EOG](#NodeEOG) +nameDelimiter : String -[ANNOTATIONS](#NodeANNOTATIONS) +comment : String -[AST](#NodeAST) +artifact : String -[SCOPE](#NodeSCOPE) +startLine : int -[TYPEDEFS](#NodeTYPEDEFS) +endLine : int -#### REFERS_TO -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Reference--"REFERS_TO¹"-->ReferenceREFERS_TO[Declaration]:::outer -``` -## MemberExpression +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## AssignExpression **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[Reference](#edeclaredreferenceexpression) -[MemberExpression](#ememberexpression) +[AssignExpression](#eassignexpression) ### Relationships -[BASE](#MemberExpressionBASE) - -[REFERS_TO](#ReferenceREFERS_TO) - -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +[DECLARATIONS](#AssignExpressionDECLARATIONS) +[LHS](#AssignExpressionLHS) +[RHS](#AssignExpressionRHS) +
Inherited Relationships [TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### BASE +#### DECLARATIONS ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -MemberExpression--"BASE¹"-->MemberExpressionBASE[Expression]:::outer +AssignExpression--"DECLARATIONS*"-->AssignExpressionDECLARATIONS[VariableDeclaration]:::outer ``` -## InitializerListExpression -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[InitializerListExpression](#einitializerlistexpression) - -### Relationships -[INITIALIZERS](#InitializerListExpressionINITIALIZERS) - -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) - -[TYPE](#ExpressionTYPE) - -[LOCALS](#StatementLOCALS) +#### LHS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +AssignExpression--"LHS*"-->AssignExpressionLHS[Expression]:::outer +``` +#### RHS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +AssignExpression--"RHS*"-->AssignExpressionRHS[Expression]:::outer +``` +### Properties +usedAsExpression : boolean -[DFG](#NodeDFG) +operatorCode : String -[EOG](#NodeEOG) +
Inherited Properties +code : String -[ANNOTATIONS](#NodeANNOTATIONS) +argumentIndex : int -[AST](#NodeAST) +file : String -[SCOPE](#NodeSCOPE) +isImplicit : boolean -[TYPEDEFS](#NodeTYPEDEFS) +fullName : String -#### INITIALIZERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -InitializerListExpression--"INITIALIZERS*"-->InitializerListExpressionINITIALIZERS[Expression]:::outer -``` -## DeleteExpression -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[DeleteExpression](#edeleteexpression) +localName : String -### Relationships -[OPERAND](#DeleteExpressionOPERAND) +name : String -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +nameDelimiter : String -[TYPE](#ExpressionTYPE) +comment : String -[LOCALS](#StatementLOCALS) +artifact : String -[DFG](#NodeDFG) +startLine : int -[EOG](#NodeEOG) +endLine : int -[ANNOTATIONS](#NodeANNOTATIONS) +startColumn : int -[AST](#NodeAST) +endColumn : int -[SCOPE](#NodeSCOPE) +isInferred : boolean -[TYPEDEFS](#NodeTYPEDEFS) +
-#### OPERAND -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -DeleteExpression--"OPERAND¹"-->DeleteExpressionOPERAND[Expression]:::outer -``` -## BlockStatementExpression +## CastExpression **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[BlockStatementExpression](#ecompoundstatementexpression) +[CastExpression](#ecastexpression) ### Relationships -[STATEMENT](#BlockStatementExpressionSTATEMENT) - -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +[CAST_TYPE](#CastExpressionCAST_TYPE) +[EXPRESSION](#CastExpressionEXPRESSION) +
Inherited Relationships [TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### STATEMENT +#### CAST_TYPE ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -BlockStatementExpression--"STATEMENT¹"-->BlockStatementExpressionSTATEMENT[Statement]:::outer +CastExpression--"CAST_TYPE¹"-->CastExpressionCAST_TYPE[Type]:::outer ``` -## ProblemExpression -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[ProblemExpression](#eproblemexpression) - -### Relationships -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) - -[TYPE](#ExpressionTYPE) - -[LOCALS](#StatementLOCALS) - -[DFG](#NodeDFG) +#### EXPRESSION +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +CastExpression--"EXPRESSION¹"-->CastExpressionEXPRESSION[Expression]:::outer +``` +### Properties +
Inherited Properties +code : String -[EOG](#NodeEOG) +argumentIndex : int -[ANNOTATIONS](#NodeANNOTATIONS) +file : String -[AST](#NodeAST) +isImplicit : boolean -[SCOPE](#NodeSCOPE) +fullName : String -[TYPEDEFS](#NodeTYPEDEFS) +localName : String -## Literal -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[Literal](#eliteral) +name : String -### Relationships -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +nameDelimiter : String -[TYPE](#ExpressionTYPE) +comment : String -[LOCALS](#StatementLOCALS) +artifact : String -[DFG](#NodeDFG) +startLine : int -[EOG](#NodeEOG) +endLine : int -[ANNOTATIONS](#NodeANNOTATIONS) +startColumn : int -[AST](#NodeAST) +endColumn : int -[SCOPE](#NodeSCOPE) +isInferred : boolean -[TYPEDEFS](#NodeTYPEDEFS) +
-## TypeIdExpression +## TypeExpression **Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -[TypeIdExpression](#etypeidexpression) +[TypeExpression](#etypeexpression) ### Relationships -[REFERENCED_TYPE](#TypeIdExpressionREFERENCED_TYPE) - -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +
Inherited Relationships [TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### REFERENCED_TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TypeIdExpression--"REFERENCED_TYPE¹"-->TypeIdExpressionREFERENCED_TYPE[Type]:::outer -``` -## ExpressionList -**Labels**:[Node](#enode) -[Statement](#estatement) -[Expression](#eexpression) -[ExpressionList](#eexpressionlist) +### Properties +
Inherited Properties +code : String -### Relationships -[SUBEXPR](#ExpressionListSUBEXPR) +argumentIndex : int -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) +file : String -[TYPE](#ExpressionTYPE) +isImplicit : boolean -[LOCALS](#StatementLOCALS) +fullName : String -[DFG](#NodeDFG) +localName : String -[EOG](#NodeEOG) +name : String -[ANNOTATIONS](#NodeANNOTATIONS) +nameDelimiter : String -[AST](#NodeAST) +comment : String -[SCOPE](#NodeSCOPE) +artifact : String -[TYPEDEFS](#NodeTYPEDEFS) +startLine : int -#### SUBEXPR -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ExpressionList--"SUBEXPR*"-->ExpressionListSUBEXPR[Statement]:::outer -``` -## IfStatement +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## Reference **Labels**:[Node](#enode) [Statement](#estatement) -[IfStatement](#eifstatement) +[Expression](#eexpression) +[Reference](#ereference) + +### Children +[MemberExpression](#ememberexpression) ### Relationships -[CONDITION_DECLARATION](#IfStatementCONDITION_DECLARATION) +[REFERS_TO](#ReferenceREFERS_TO) +[ALIASES](#ReferenceALIASES) +[RESOLUTION_HELPER](#ReferenceRESOLUTION_HELPER) +
Inherited Relationships -[INITIALIZER_STATEMENT](#IfStatementINITIALIZER_STATEMENT) +[TYPE](#ExpressionTYPE) -[THEN_STATEMENT](#IfStatementTHEN_STATEMENT) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[CONDITION](#IfStatementCONDITION) +[LOCALS](#StatementLOCALS) -[ELSE_STATEMENT](#IfStatementELSE_STATEMENT) +[EOG](#NodeEOG) -[LOCALS](#StatementLOCALS) +[CDG](#NodeCDG) [DFG](#NodeDFG) -[EOG](#NodeEOG) - [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### CONDITION_DECLARATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IfStatement--"CONDITION_DECLARATION¹"-->IfStatementCONDITION_DECLARATION[Declaration]:::outer -``` -#### INITIALIZER_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IfStatement--"INITIALIZER_STATEMENT¹"-->IfStatementINITIALIZER_STATEMENT[Statement]:::outer -``` -#### THEN_STATEMENT +#### REFERS_TO ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IfStatement--"THEN_STATEMENT¹"-->IfStatementTHEN_STATEMENT[Statement]:::outer +Reference--"REFERS_TO¹"-->ReferenceREFERS_TO[Declaration]:::outer ``` -#### CONDITION +#### ALIASES ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IfStatement--"CONDITION¹"-->IfStatementCONDITION[Expression]:::outer +Reference--"ALIASES*"-->ReferenceALIASES[Node]:::outer ``` -#### ELSE_STATEMENT +#### RESOLUTION_HELPER ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IfStatement--"ELSE_STATEMENT¹"-->IfStatementELSE_STATEMENT[Statement]:::outer +Reference--"RESOLUTION_HELPER¹"-->ReferenceRESOLUTION_HELPER[Node]:::outer ``` -## DeclarationStatement -**Labels**:[Node](#enode) -[Statement](#estatement) -[DeclarationStatement](#edeclarationstatement) - -### Children -[ASMDeclarationStatement](#easmdeclarationstatement) +### Properties +access : AccessValues -### Relationships -[DECLARATIONS](#DeclarationStatementDECLARATIONS) +isStaticAccess : boolean -[LOCALS](#StatementLOCALS) +
Inherited Properties +code : String -[DFG](#NodeDFG) +argumentIndex : int -[EOG](#NodeEOG) +file : String -[ANNOTATIONS](#NodeANNOTATIONS) +isImplicit : boolean -[AST](#NodeAST) +fullName : String -[SCOPE](#NodeSCOPE) +localName : String -[TYPEDEFS](#NodeTYPEDEFS) +name : String -#### DECLARATIONS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -DeclarationStatement--"DECLARATIONS*"-->DeclarationStatementDECLARATIONS[Declaration]:::outer -``` -## ASMDeclarationStatement -**Labels**:[Node](#enode) -[Statement](#estatement) -[DeclarationStatement](#edeclarationstatement) -[ASMDeclarationStatement](#easmdeclarationstatement) +nameDelimiter : String -### Relationships -[DECLARATIONS](#DeclarationStatementDECLARATIONS) +comment : String -[LOCALS](#StatementLOCALS) +artifact : String -[DFG](#NodeDFG) +startLine : int -[EOG](#NodeEOG) +endLine : int -[ANNOTATIONS](#NodeANNOTATIONS) +startColumn : int -[AST](#NodeAST) +endColumn : int -[SCOPE](#NodeSCOPE) +isInferred : boolean -[TYPEDEFS](#NodeTYPEDEFS) +
-## ForStatement +## MemberExpression **Labels**:[Node](#enode) [Statement](#estatement) -[ForStatement](#eforstatement) +[Expression](#eexpression) +[Reference](#ereference) +[MemberExpression](#ememberexpression) ### Relationships -[CONDITION_DECLARATION](#ForStatementCONDITION_DECLARATION) +[BASE](#MemberExpressionBASE) +
Inherited Relationships -[INITIALIZER_STATEMENT](#ForStatementINITIALIZER_STATEMENT) +[REFERS_TO](#ReferenceREFERS_TO) -[ITERATION_STATEMENT](#ForStatementITERATION_STATEMENT) +[ALIASES](#ReferenceALIASES) -[CONDITION](#ForStatementCONDITION) +[RESOLUTION_HELPER](#ReferenceRESOLUTION_HELPER) -[STATEMENT](#ForStatementSTATEMENT) +[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### CONDITION_DECLARATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForStatement--"CONDITION_DECLARATION¹"-->ForStatementCONDITION_DECLARATION[Declaration]:::outer -``` -#### INITIALIZER_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForStatement--"INITIALIZER_STATEMENT¹"-->ForStatementINITIALIZER_STATEMENT[Statement]:::outer -``` -#### ITERATION_STATEMENT +#### BASE ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForStatement--"ITERATION_STATEMENT¹"-->ForStatementITERATION_STATEMENT[Statement]:::outer +MemberExpression--"BASE¹"-->MemberExpressionBASE[Expression]:::outer ``` -#### CONDITION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForStatement--"CONDITION¹"-->ForStatementCONDITION[Expression]:::outer -``` -#### STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForStatement--"STATEMENT¹"-->ForStatementSTATEMENT[Statement]:::outer -``` -## CatchClause +### Properties +operatorCode : String + +
Inherited Properties +access : AccessValues + +code : String + +isStaticAccess : boolean + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## BinaryOperator **Labels**:[Node](#enode) [Statement](#estatement) -[CatchClause](#ecatchclause) +[Expression](#eexpression) +[BinaryOperator](#ebinaryoperator) + +### Children +[ShortCircuitOperator](#eshortcircuitoperator) ### Relationships -[PARAMETER](#CatchClausePARAMETER) +[LHS](#BinaryOperatorLHS) +[RHS](#BinaryOperatorRHS) +
Inherited Relationships -[BODY](#CatchClauseBODY) +[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### PARAMETER +#### LHS ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CatchClause--"PARAMETER¹"-->CatchClausePARAMETER[VariableDeclaration]:::outer +BinaryOperator--"LHS¹"-->BinaryOperatorLHS[Expression]:::outer ``` -#### BODY +#### RHS ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CatchClause--"BODY¹"-->CatchClauseBODY[BlockStatement]:::outer +BinaryOperator--"RHS¹"-->BinaryOperatorRHS[Expression]:::outer ``` -## SwitchStatement -**Labels**:[Node](#enode) -[Statement](#estatement) -[SwitchStatement](#eswitchstatement) +### Properties +operatorCode : String -### Relationships -[INITIALIZER_STATEMENT](#SwitchStatementINITIALIZER_STATEMENT) +
Inherited Properties +code : String -[SELECTOR_DECLARATION](#SwitchStatementSELECTOR_DECLARATION) +argumentIndex : int -[STATEMENT](#SwitchStatementSTATEMENT) +file : String -[SELECTOR](#SwitchStatementSELECTOR) +isImplicit : boolean -[LOCALS](#StatementLOCALS) +fullName : String -[DFG](#NodeDFG) +localName : String -[EOG](#NodeEOG) +name : String -[ANNOTATIONS](#NodeANNOTATIONS) +nameDelimiter : String -[AST](#NodeAST) +comment : String -[SCOPE](#NodeSCOPE) +artifact : String -[TYPEDEFS](#NodeTYPEDEFS) +startLine : int -#### INITIALIZER_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SwitchStatement--"INITIALIZER_STATEMENT¹"-->SwitchStatementINITIALIZER_STATEMENT[Statement]:::outer -``` -#### SELECTOR_DECLARATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SwitchStatement--"SELECTOR_DECLARATION¹"-->SwitchStatementSELECTOR_DECLARATION[Declaration]:::outer -``` -#### STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SwitchStatement--"STATEMENT¹"-->SwitchStatementSTATEMENT[Statement]:::outer -``` -#### SELECTOR -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SwitchStatement--"SELECTOR¹"-->SwitchStatementSELECTOR[Expression]:::outer -``` -## GotoStatement +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## ShortCircuitOperator **Labels**:[Node](#enode) [Statement](#estatement) -[GotoStatement](#egotostatement) +[Expression](#eexpression) +[BinaryOperator](#ebinaryoperator) +[ShortCircuitOperator](#eshortcircuitoperator) ### Relationships -[TARGET_LABEL](#GotoStatementTARGET_LABEL) +
Inherited Relationships -[LOCALS](#StatementLOCALS) +[LHS](#BinaryOperatorLHS) -[DFG](#NodeDFG) +[RHS](#BinaryOperatorRHS) + +[TYPE](#ExpressionTYPE) + +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) + +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### TARGET_LABEL -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -GotoStatement--"TARGET_LABEL¹"-->GotoStatementTARGET_LABEL[LabelStatement]:::outer -``` -## WhileStatement +### Properties +
Inherited Properties +code : String + +operatorCode : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## ConditionalExpression **Labels**:[Node](#enode) [Statement](#estatement) -[WhileStatement](#ewhilestatement) +[Expression](#eexpression) +[ConditionalExpression](#econditionalexpression) ### Relationships -[CONDITION_DECLARATION](#WhileStatementCONDITION_DECLARATION) +[ELSE_EXPRESSION](#ConditionalExpressionELSE_EXPRESSION) +[CONDITION](#ConditionalExpressionCONDITION) +[THEN_EXPRESSION](#ConditionalExpressionTHEN_EXPRESSION) +
Inherited Relationships -[CONDITION](#WhileStatementCONDITION) +[TYPE](#ExpressionTYPE) -[STATEMENT](#WhileStatementSTATEMENT) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) [LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) - [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### CONDITION_DECLARATION +#### ELSE_EXPRESSION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -WhileStatement--"CONDITION_DECLARATION¹"-->WhileStatementCONDITION_DECLARATION[Declaration]:::outer +ConditionalExpression--"ELSE_EXPRESSION¹"-->ConditionalExpressionELSE_EXPRESSION[Expression]:::outer ``` -#### CONDITION +#### CONDITION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -WhileStatement--"CONDITION¹"-->WhileStatementCONDITION[Expression]:::outer +ConditionalExpression--"CONDITION¹"-->ConditionalExpressionCONDITION[Expression]:::outer ``` -#### STATEMENT +#### THEN_EXPRESSION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -WhileStatement--"STATEMENT¹"-->WhileStatementSTATEMENT[Statement]:::outer +ConditionalExpression--"THEN_EXPRESSION¹"-->ConditionalExpressionTHEN_EXPRESSION[Expression]:::outer ``` -## BlockStatement +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## InitializerListExpression **Labels**:[Node](#enode) [Statement](#estatement) -[BlockStatement](#ecompoundstatement) +[Expression](#eexpression) +[InitializerListExpression](#einitializerlistexpression) ### Relationships -[STATEMENTS](#BlockStatementSTATEMENTS) +[INITIALIZERS](#InitializerListExpressionINITIALIZERS) +
Inherited Relationships -[LOCALS](#StatementLOCALS) +[TYPE](#ExpressionTYPE) -[DFG](#NodeDFG) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) + +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### STATEMENTS +#### INITIALIZERS ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -BlockStatement--"STATEMENTS*"-->BlockStatementSTATEMENTS[Statement]:::outer +InitializerListExpression--"INITIALIZERS*"-->InitializerListExpressionINITIALIZERS[Expression]:::outer ``` -## ContinueStatement -**Labels**:[Node](#enode) -[Statement](#estatement) -[ContinueStatement](#econtinuestatement) +### Properties +
Inherited Properties +code : String -### Relationships -[LOCALS](#StatementLOCALS) +argumentIndex : int -[DFG](#NodeDFG) +file : String -[EOG](#NodeEOG) +isImplicit : boolean -[ANNOTATIONS](#NodeANNOTATIONS) +fullName : String -[AST](#NodeAST) +localName : String -[SCOPE](#NodeSCOPE) +name : String -[TYPEDEFS](#NodeTYPEDEFS) +nameDelimiter : String -## DefaultStatement -**Labels**:[Node](#enode) -[Statement](#estatement) -[DefaultStatement](#edefaultstatement) +comment : String -### Relationships -[LOCALS](#StatementLOCALS) +artifact : String -[DFG](#NodeDFG) +startLine : int -[EOG](#NodeEOG) +endLine : int -[ANNOTATIONS](#NodeANNOTATIONS) +startColumn : int -[AST](#NodeAST) +endColumn : int -[SCOPE](#NodeSCOPE) +isInferred : boolean -[TYPEDEFS](#NodeTYPEDEFS) +
-## SynchronizedStatement +## DeleteExpression **Labels**:[Node](#enode) [Statement](#estatement) -[SynchronizedStatement](#esynchronizedstatement) +[Expression](#eexpression) +[DeleteExpression](#edeleteexpression) ### Relationships -[BLOCK_STATEMENT](#SynchronizedStatementBLOCK_STATEMENT) +[OPERAND](#DeleteExpressionOPERAND) +
Inherited Relationships -[EXPRESSION](#SynchronizedStatementEXPRESSION) +[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### BLOCK_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SynchronizedStatement--"BLOCK_STATEMENT¹"-->SynchronizedStatementBLOCK_STATEMENT[BlockStatement]:::outer -``` -#### EXPRESSION +#### OPERAND ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SynchronizedStatement--"EXPRESSION¹"-->SynchronizedStatementEXPRESSION[Expression]:::outer +DeleteExpression--"OPERAND¹"-->DeleteExpressionOPERAND[Expression]:::outer ``` -## TryStatement -**Labels**:[Node](#enode) -[Statement](#estatement) -[TryStatement](#etrystatement) +### Properties +
Inherited Properties +code : String -### Relationships -[RESOURCES](#TryStatementRESOURCES) +argumentIndex : int -[FINALLY_BLOCK](#TryStatementFINALLY_BLOCK) +file : String -[TRY_BLOCK](#TryStatementTRY_BLOCK) +isImplicit : boolean -[CATCH_CLAUSES](#TryStatementCATCH_CLAUSES) +fullName : String -[LOCALS](#StatementLOCALS) +localName : String -[DFG](#NodeDFG) +name : String -[EOG](#NodeEOG) +nameDelimiter : String -[ANNOTATIONS](#NodeANNOTATIONS) +comment : String -[AST](#NodeAST) +artifact : String -[SCOPE](#NodeSCOPE) +startLine : int -[TYPEDEFS](#NodeTYPEDEFS) +endLine : int -#### RESOURCES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TryStatement--"RESOURCES*"-->TryStatementRESOURCES[Statement]:::outer -``` -#### FINALLY_BLOCK -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TryStatement--"FINALLY_BLOCK¹"-->TryStatementFINALLY_BLOCK[BlockStatement]:::outer -``` -#### TRY_BLOCK -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TryStatement--"TRY_BLOCK¹"-->TryStatementTRY_BLOCK[BlockStatement]:::outer -``` -#### CATCH_CLAUSES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TryStatement--"CATCH_CLAUSES*"-->TryStatementCATCH_CLAUSES[CatchClause]:::outer -``` -## ForEachStatement +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## SubscriptExpression **Labels**:[Node](#enode) [Statement](#estatement) -[ForEachStatement](#eforeachstatement) +[Expression](#eexpression) +[SubscriptExpression](#esubscriptexpression) ### Relationships -[STATEMENT](#ForEachStatementSTATEMENT) +[ARRAY_EXPRESSION](#SubscriptExpressionARRAY_EXPRESSION) +[SUBSCRIPT_EXPRESSION](#SubscriptExpressionSUBSCRIPT_EXPRESSION) +
Inherited Relationships -[VARIABLE](#ForEachStatementVARIABLE) +[TYPE](#ExpressionTYPE) -[ITERABLE](#ForEachStatementITERABLE) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) [LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) - [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForEachStatement--"STATEMENT¹"-->ForEachStatementSTATEMENT[Statement]:::outer -``` -#### VARIABLE +#### ARRAY_EXPRESSION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForEachStatement--"VARIABLE¹"-->ForEachStatementVARIABLE[Statement]:::outer +SubscriptExpression--"ARRAY_EXPRESSION¹"-->SubscriptExpressionARRAY_EXPRESSION[Expression]:::outer ``` -#### ITERABLE +#### SUBSCRIPT_EXPRESSION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForEachStatement--"ITERABLE¹"-->ForEachStatementITERABLE[Statement]:::outer +SubscriptExpression--"SUBSCRIPT_EXPRESSION¹"-->SubscriptExpressionSUBSCRIPT_EXPRESSION[Expression]:::outer ``` -## LabelStatement -**Labels**:[Node](#enode) -[Statement](#estatement) -[LabelStatement](#elabelstatement) +### Properties +
Inherited Properties +code : String -### Relationships -[SUB_STATEMENT](#LabelStatementSUB_STATEMENT) +argumentIndex : int -[LOCALS](#StatementLOCALS) +file : String -[DFG](#NodeDFG) +isImplicit : boolean -[EOG](#NodeEOG) +fullName : String -[ANNOTATIONS](#NodeANNOTATIONS) +localName : String -[AST](#NodeAST) +name : String -[SCOPE](#NodeSCOPE) +nameDelimiter : String -[TYPEDEFS](#NodeTYPEDEFS) +comment : String -#### SUB_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -LabelStatement--"SUB_STATEMENT¹"-->LabelStatementSUB_STATEMENT[Statement]:::outer -``` -## BreakStatement +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## ProblemExpression **Labels**:[Node](#enode) [Statement](#estatement) -[BreakStatement](#ebreakstatement) +[Expression](#eexpression) +[ProblemExpression](#eproblemexpression) ### Relationships -[LOCALS](#StatementLOCALS) +
Inherited Relationships -[DFG](#NodeDFG) +[TYPE](#ExpressionTYPE) + +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) + +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-## EmptyStatement -**Labels**:[Node](#enode) -[Statement](#estatement) -[EmptyStatement](#eemptystatement) +### Properties +problem : String -### Relationships -[LOCALS](#StatementLOCALS) +problemType : ProblemType -[DFG](#NodeDFG) +
Inherited Properties +code : String -[EOG](#NodeEOG) +argumentIndex : int -[ANNOTATIONS](#NodeANNOTATIONS) +file : String -[AST](#NodeAST) +isImplicit : boolean -[SCOPE](#NodeSCOPE) +fullName : String -[TYPEDEFS](#NodeTYPEDEFS) +localName : String -## Declaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) +name : String -### Children -[ValueDeclaration](#evaluedeclaration) -[TemplateDeclaration](#etemplatedeclaration) -[EnumDeclaration](#eenumdeclaration) -[TypedefDeclaration](#etypedefdeclaration) -[UsingDirective](#eusingdirective) -[NamespaceDeclaration](#enamespacedeclaration) -[RecordDeclaration](#erecorddeclaration) -[DeclarationSequence](#edeclarationsequence) -[TranslationUnitDeclaration](#etranslationunitdeclaration) -[IncludeDeclaration](#eincludedeclaration) +nameDelimiter : String -### Relationships -[DFG](#NodeDFG) +comment : String -[EOG](#NodeEOG) +artifact : String -[ANNOTATIONS](#NodeANNOTATIONS) +startLine : int -[AST](#NodeAST) +endLine : int -[SCOPE](#NodeSCOPE) +startColumn : int -[TYPEDEFS](#NodeTYPEDEFS) +endColumn : int -## ValueDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[ValueDeclaration](#evaluedeclaration) +isInferred : boolean -### Children -[FieldDeclaration](#efielddeclaration) -[VariableDeclaration](#evariabledeclaration) -[ProblemDeclaration](#eproblemdeclaration) -[EnumConstantDeclaration](#eenumconstantdeclaration) -[FunctionDeclaration](#efunctiondeclaration) -[ParameterDeclaration](#eparamvariabledeclaration) -[TypeParameterDeclaration](#etypeparamdeclaration) +
+ +## Literal +**Labels**:[Node](#enode) +[Statement](#estatement) +[Expression](#eexpression) +[Literal](#eliteral) ### Relationships -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) +
Inherited Relationships -[TYPE](#ValueDeclarationTYPE) +[TYPE](#ExpressionTYPE) -[USAGE](#ValueDeclarationUSAGE) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### POSSIBLE_SUB_TYPES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ValueDeclaration--"POSSIBLE_SUB_TYPES*"-->ValueDeclarationPOSSIBLE_SUB_TYPES[Type]:::outer -``` -#### TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ValueDeclaration--"TYPE¹"-->ValueDeclarationTYPE[Type]:::outer -``` -#### USAGE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ValueDeclaration--"USAGE*"-->ValueDeclarationUSAGE[Reference]:::outer -``` -## FieldDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[ValueDeclaration](#evaluedeclaration) -[FieldDeclaration](#efielddeclaration) +### Properties +value : Object -### Relationships -[INITIALIZER](#FieldDeclarationINITIALIZER) +
Inherited Properties +code : String -[DEFINES](#FieldDeclarationDEFINES) +argumentIndex : int -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) +file : String -[TYPE](#ValueDeclarationTYPE) +isImplicit : boolean -[USAGE](#ValueDeclarationUSAGE) +fullName : String -[DFG](#NodeDFG) +localName : String -[EOG](#NodeEOG) +name : String -[ANNOTATIONS](#NodeANNOTATIONS) +nameDelimiter : String -[AST](#NodeAST) +comment : String -[SCOPE](#NodeSCOPE) +artifact : String -[TYPEDEFS](#NodeTYPEDEFS) +startLine : int -#### INITIALIZER -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FieldDeclaration--"INITIALIZER¹"-->FieldDeclarationINITIALIZER[Expression]:::outer -``` -#### DEFINES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FieldDeclaration--"DEFINES¹"-->FieldDeclarationDEFINES[FieldDeclaration]:::outer -``` -## VariableDeclaration +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## TypeIdExpression **Labels**:[Node](#enode) -[Declaration](#edeclaration) -[ValueDeclaration](#evaluedeclaration) -[VariableDeclaration](#evariabledeclaration) +[Statement](#estatement) +[Expression](#eexpression) +[TypeIdExpression](#etypeidexpression) ### Relationships -[INITIALIZER](#VariableDeclarationINITIALIZER) +[REFERENCED_TYPE](#TypeIdExpressionREFERENCED_TYPE) +
Inherited Relationships -[TEMPLATE_PARAMETERS](#VariableDeclarationTEMPLATE_PARAMETERS) +[TYPE](#ExpressionTYPE) -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[TYPE](#ValueDeclarationTYPE) +[LOCALS](#StatementLOCALS) -[USAGE](#ValueDeclarationUSAGE) +[EOG](#NodeEOG) -[DFG](#NodeDFG) +[CDG](#NodeCDG) -[EOG](#NodeEOG) +[DFG](#NodeDFG) [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### INITIALIZER -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -VariableDeclaration--"INITIALIZER¹"-->VariableDeclarationINITIALIZER[Expression]:::outer -``` -#### TEMPLATE_PARAMETERS +#### REFERENCED_TYPE ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -VariableDeclaration--"TEMPLATE_PARAMETERS*"-->VariableDeclarationTEMPLATE_PARAMETERS[Node]:::outer +TypeIdExpression--"REFERENCED_TYPE¹"-->TypeIdExpressionREFERENCED_TYPE[Type]:::outer ``` -## ProblemDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[ValueDeclaration](#evaluedeclaration) -[ProblemDeclaration](#eproblemdeclaration) +### Properties +operatorCode : String -### Relationships -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) +
Inherited Properties +code : String -[TYPE](#ValueDeclarationTYPE) +argumentIndex : int -[USAGE](#ValueDeclarationUSAGE) +file : String -[DFG](#NodeDFG) +isImplicit : boolean -[EOG](#NodeEOG) +fullName : String -[ANNOTATIONS](#NodeANNOTATIONS) +localName : String -[AST](#NodeAST) +name : String -[SCOPE](#NodeSCOPE) +nameDelimiter : String -[TYPEDEFS](#NodeTYPEDEFS) +comment : String -## EnumConstantDeclaration +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## ExpressionList **Labels**:[Node](#enode) -[Declaration](#edeclaration) -[ValueDeclaration](#evaluedeclaration) -[EnumConstantDeclaration](#eenumconstantdeclaration) +[Statement](#estatement) +[Expression](#eexpression) +[ExpressionList](#eexpressionlist) ### Relationships -[INITIALIZER](#EnumConstantDeclarationINITIALIZER) - -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) +[SUBEXPR](#ExpressionListSUBEXPR) +
Inherited Relationships -[TYPE](#ValueDeclarationTYPE) +[TYPE](#ExpressionTYPE) -[USAGE](#ValueDeclarationUSAGE) +[ASSIGNED_TYPES](#ExpressionASSIGNED_TYPES) -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### INITIALIZER +#### SUBEXPR ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -EnumConstantDeclaration--"INITIALIZER¹"-->EnumConstantDeclarationINITIALIZER[Expression]:::outer +ExpressionList--"SUBEXPR*"-->ExpressionListSUBEXPR[Statement]:::outer ``` -## FunctionDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[ValueDeclaration](#evaluedeclaration) -[FunctionDeclaration](#efunctiondeclaration) +### Properties +
Inherited Properties +code : String -### Children -[MethodDeclaration](#emethoddeclaration) +argumentIndex : int -### Relationships -[THROWS_TYPES](#FunctionDeclarationTHROWS_TYPES) +file : String -[OVERRIDES](#FunctionDeclarationOVERRIDES) +isImplicit : boolean -[BODY](#FunctionDeclarationBODY) +fullName : String -[RECORDS](#FunctionDeclarationRECORDS) +localName : String -[RETURN_TYPES](#FunctionDeclarationRETURN_TYPES) +name : String -[PARAMETERS](#FunctionDeclarationPARAMETERS) +nameDelimiter : String -[DEFINES](#FunctionDeclarationDEFINES) +comment : String -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) +artifact : String -[TYPE](#ValueDeclarationTYPE) +startLine : int -[USAGE](#ValueDeclarationUSAGE) +endLine : int -[DFG](#NodeDFG) +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## CaseStatement +**Labels**:[Node](#enode) +[Statement](#estatement) +[CaseStatement](#ecasestatement) + +### Relationships +[CASE_EXPRESSION](#CaseStatementCASE_EXPRESSION) +
Inherited Relationships + +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### THROWS_TYPES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"THROWS_TYPES*"-->FunctionDeclarationTHROWS_TYPES[Type]:::outer -``` -#### OVERRIDES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"OVERRIDES*"-->FunctionDeclarationOVERRIDES[FunctionDeclaration]:::outer -``` -#### BODY -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"BODY¹"-->FunctionDeclarationBODY[Statement]:::outer -``` -#### RECORDS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"RECORDS*"-->FunctionDeclarationRECORDS[RecordDeclaration]:::outer -``` -#### RETURN_TYPES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"RETURN_TYPES*"-->FunctionDeclarationRETURN_TYPES[Type]:::outer -``` -#### PARAMETERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"PARAMETERS*"-->FunctionDeclarationPARAMETERS[ParameterDeclaration]:::outer -``` -#### DEFINES +#### CASE_EXPRESSION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"DEFINES¹"-->FunctionDeclarationDEFINES[FunctionDeclaration]:::outer +CaseStatement--"CASE_EXPRESSION¹"-->CaseStatementCASE_EXPRESSION[Expression]:::outer ``` -## MethodDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[ValueDeclaration](#evaluedeclaration) -[FunctionDeclaration](#efunctiondeclaration) -[MethodDeclaration](#emethoddeclaration) +### Properties +
Inherited Properties +code : String -### Children -[ConstructorDeclaration](#econstructordeclaration) +argumentIndex : int -### Relationships -[RECEIVER](#MethodDeclarationRECEIVER) +file : String -[RECORD_DECLARATION](#MethodDeclarationRECORD_DECLARATION) +isImplicit : boolean -[THROWS_TYPES](#FunctionDeclarationTHROWS_TYPES) +fullName : String -[OVERRIDES](#FunctionDeclarationOVERRIDES) +localName : String -[BODY](#FunctionDeclarationBODY) +name : String -[RECORDS](#FunctionDeclarationRECORDS) +nameDelimiter : String -[RETURN_TYPES](#FunctionDeclarationRETURN_TYPES) +comment : String -[PARAMETERS](#FunctionDeclarationPARAMETERS) +artifact : String -[DEFINES](#FunctionDeclarationDEFINES) +startLine : int -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) +endLine : int -[TYPE](#ValueDeclarationTYPE) +startColumn : int -[USAGE](#ValueDeclarationUSAGE) +endColumn : int -[DFG](#NodeDFG) +isInferred : boolean + +
+ +## ReturnStatement +**Labels**:[Node](#enode) +[Statement](#estatement) +[ReturnStatement](#ereturnstatement) + +### Relationships +[RETURN_VALUES](#ReturnStatementRETURN_VALUES) +
Inherited Relationships + +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### RECEIVER -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -MethodDeclaration--"RECEIVER¹"-->MethodDeclarationRECEIVER[VariableDeclaration]:::outer -``` -#### RECORD_DECLARATION +#### RETURN_VALUES ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -MethodDeclaration--"RECORD_DECLARATION¹"-->MethodDeclarationRECORD_DECLARATION[RecordDeclaration]:::outer +ReturnStatement--"RETURN_VALUES*"-->ReturnStatementRETURN_VALUES[Expression]:::outer ``` -## ConstructorDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[ValueDeclaration](#evaluedeclaration) -[FunctionDeclaration](#efunctiondeclaration) -[MethodDeclaration](#emethoddeclaration) -[ConstructorDeclaration](#econstructordeclaration) - -### Relationships -[RECEIVER](#MethodDeclarationRECEIVER) - -[RECORD_DECLARATION](#MethodDeclarationRECORD_DECLARATION) +### Properties +
Inherited Properties +code : String -[THROWS_TYPES](#FunctionDeclarationTHROWS_TYPES) - -[OVERRIDES](#FunctionDeclarationOVERRIDES) +argumentIndex : int -[BODY](#FunctionDeclarationBODY) +file : String -[RECORDS](#FunctionDeclarationRECORDS) +isImplicit : boolean -[RETURN_TYPES](#FunctionDeclarationRETURN_TYPES) +fullName : String -[PARAMETERS](#FunctionDeclarationPARAMETERS) +localName : String -[DEFINES](#FunctionDeclarationDEFINES) +name : String -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) +nameDelimiter : String -[TYPE](#ValueDeclarationTYPE) +comment : String -[USAGE](#ValueDeclarationUSAGE) +artifact : String -[DFG](#NodeDFG) +startLine : int -[EOG](#NodeEOG) +endLine : int -[ANNOTATIONS](#NodeANNOTATIONS) +startColumn : int -[AST](#NodeAST) +endColumn : int -[SCOPE](#NodeSCOPE) +isInferred : boolean -[TYPEDEFS](#NodeTYPEDEFS) +
-## ParameterDeclaration +## IfStatement **Labels**:[Node](#enode) -[Declaration](#edeclaration) -[ValueDeclaration](#evaluedeclaration) -[ParameterDeclaration](#eparamvariabledeclaration) +[Statement](#estatement) +[IfStatement](#eifstatement) ### Relationships -[DEFAULT](#ParameterDeclarationDEFAULT) +[CONDITION_DECLARATION](#IfStatementCONDITION_DECLARATION) +[INITIALIZER_STATEMENT](#IfStatementINITIALIZER_STATEMENT) +[THEN_STATEMENT](#IfStatementTHEN_STATEMENT) +[CONDITION](#IfStatementCONDITION) +[ELSE_STATEMENT](#IfStatementELSE_STATEMENT) +
Inherited Relationships -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) +[LOCALS](#StatementLOCALS) -[TYPE](#ValueDeclarationTYPE) +[EOG](#NodeEOG) -[USAGE](#ValueDeclarationUSAGE) +[CDG](#NodeCDG) [DFG](#NodeDFG) -[EOG](#NodeEOG) - [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### DEFAULT +#### CONDITION_DECLARATION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ParameterDeclaration--"DEFAULT¹"-->ParameterDeclarationDEFAULT[Expression]:::outer +IfStatement--"CONDITION_DECLARATION¹"-->IfStatementCONDITION_DECLARATION[Declaration]:::outer ``` -## TypeParameterDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[ValueDeclaration](#evaluedeclaration) -[TypeParameterDeclaration](#etypeparamdeclaration) - -### Relationships -[DEFAULT](#TypeParameterDeclarationDEFAULT) - -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) - -[TYPE](#ValueDeclarationTYPE) +#### INITIALIZER_STATEMENT +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +IfStatement--"INITIALIZER_STATEMENT¹"-->IfStatementINITIALIZER_STATEMENT[Statement]:::outer +``` +#### THEN_STATEMENT +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +IfStatement--"THEN_STATEMENT¹"-->IfStatementTHEN_STATEMENT[Statement]:::outer +``` +#### CONDITION +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +IfStatement--"CONDITION¹"-->IfStatementCONDITION[Expression]:::outer +``` +#### ELSE_STATEMENT +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +IfStatement--"ELSE_STATEMENT¹"-->IfStatementELSE_STATEMENT[Statement]:::outer +``` +### Properties +isConstExpression : boolean -[USAGE](#ValueDeclarationUSAGE) +
Inherited Properties +code : String -[DFG](#NodeDFG) +argumentIndex : int -[EOG](#NodeEOG) +file : String -[ANNOTATIONS](#NodeANNOTATIONS) +isImplicit : boolean -[AST](#NodeAST) +fullName : String -[SCOPE](#NodeSCOPE) +localName : String -[TYPEDEFS](#NodeTYPEDEFS) +name : String -#### DEFAULT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TypeParameterDeclaration--"DEFAULT¹"-->TypeParameterDeclarationDEFAULT[Type]:::outer -``` -## TemplateDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[TemplateDeclaration](#etemplatedeclaration) +nameDelimiter : String -### Children -[ClassTemplateDeclaration](#eclasstemplatedeclaration) -[FunctionTemplateDeclaration](#efunctiontemplatedeclaration) +comment : String -### Relationships -[PARAMETERS](#TemplateDeclarationPARAMETERS) +artifact : String -[DFG](#NodeDFG) +startLine : int -[EOG](#NodeEOG) +endLine : int -[ANNOTATIONS](#NodeANNOTATIONS) +startColumn : int -[AST](#NodeAST) +endColumn : int -[SCOPE](#NodeSCOPE) +isInferred : boolean -[TYPEDEFS](#NodeTYPEDEFS) +
-#### PARAMETERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TemplateDeclaration--"PARAMETERS*"-->TemplateDeclarationPARAMETERS[Declaration]:::outer -``` -## ClassTemplateDeclaration +## ForStatement **Labels**:[Node](#enode) -[Declaration](#edeclaration) -[TemplateDeclaration](#etemplatedeclaration) -[ClassTemplateDeclaration](#eclasstemplatedeclaration) +[Statement](#estatement) +[ForStatement](#eforstatement) ### Relationships -[REALIZATION](#ClassTemplateDeclarationREALIZATION) - -[PARAMETERS](#TemplateDeclarationPARAMETERS) +[CONDITION_DECLARATION](#ForStatementCONDITION_DECLARATION) +[INITIALIZER_STATEMENT](#ForStatementINITIALIZER_STATEMENT) +[ITERATION_STATEMENT](#ForStatementITERATION_STATEMENT) +[CONDITION](#ForStatementCONDITION) +[STATEMENT](#ForStatementSTATEMENT) +
Inherited Relationships -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### REALIZATION +#### CONDITION_DECLARATION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ClassTemplateDeclaration--"REALIZATION*"-->ClassTemplateDeclarationREALIZATION[RecordDeclaration]:::outer +ForStatement--"CONDITION_DECLARATION¹"-->ForStatementCONDITION_DECLARATION[Declaration]:::outer ``` -## FunctionTemplateDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[TemplateDeclaration](#etemplatedeclaration) -[FunctionTemplateDeclaration](#efunctiontemplatedeclaration) - -### Relationships -[REALIZATION](#FunctionTemplateDeclarationREALIZATION) - -[PARAMETERS](#TemplateDeclarationPARAMETERS) - -[DFG](#NodeDFG) - -[EOG](#NodeEOG) - -[ANNOTATIONS](#NodeANNOTATIONS) - -[AST](#NodeAST) - -[SCOPE](#NodeSCOPE) - -[TYPEDEFS](#NodeTYPEDEFS) - -#### REALIZATION +#### INITIALIZER_STATEMENT ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionTemplateDeclaration--"REALIZATION*"-->FunctionTemplateDeclarationREALIZATION[FunctionDeclaration]:::outer +ForStatement--"INITIALIZER_STATEMENT¹"-->ForStatementINITIALIZER_STATEMENT[Statement]:::outer ``` -## EnumDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[EnumDeclaration](#eenumdeclaration) - -### Relationships -[ENTRIES](#EnumDeclarationENTRIES) - -[SUPER_TYPE_DECLARATIONS](#EnumDeclarationSUPER_TYPE_DECLARATIONS) - -[SUPER_TYPES](#EnumDeclarationSUPER_TYPES) - -[DFG](#NodeDFG) - -[EOG](#NodeEOG) - -[ANNOTATIONS](#NodeANNOTATIONS) - -[AST](#NodeAST) - -[SCOPE](#NodeSCOPE) - -[TYPEDEFS](#NodeTYPEDEFS) - -#### ENTRIES +#### ITERATION_STATEMENT ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -EnumDeclaration--"ENTRIES*"-->EnumDeclarationENTRIES[EnumConstantDeclaration]:::outer +ForStatement--"ITERATION_STATEMENT¹"-->ForStatementITERATION_STATEMENT[Statement]:::outer ``` -#### SUPER_TYPE_DECLARATIONS +#### CONDITION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -EnumDeclaration--"SUPER_TYPE_DECLARATIONS*"-->EnumDeclarationSUPER_TYPE_DECLARATIONS[RecordDeclaration]:::outer +ForStatement--"CONDITION¹"-->ForStatementCONDITION[Expression]:::outer ``` -#### SUPER_TYPES +#### STATEMENT ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -EnumDeclaration--"SUPER_TYPES*"-->EnumDeclarationSUPER_TYPES[Type]:::outer +ForStatement--"STATEMENT¹"-->ForStatementSTATEMENT[Statement]:::outer ``` -## TypedefDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[TypedefDeclaration](#etypedefdeclaration) +### Properties +
Inherited Properties +code : String -### Relationships -[ALIAS](#TypedefDeclarationALIAS) +argumentIndex : int -[TYPE](#TypedefDeclarationTYPE) +file : String -[DFG](#NodeDFG) +isImplicit : boolean -[EOG](#NodeEOG) +fullName : String -[ANNOTATIONS](#NodeANNOTATIONS) +localName : String -[AST](#NodeAST) +name : String -[SCOPE](#NodeSCOPE) +nameDelimiter : String -[TYPEDEFS](#NodeTYPEDEFS) +comment : String -#### ALIAS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TypedefDeclaration--"ALIAS¹"-->TypedefDeclarationALIAS[Type]:::outer -``` -#### TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TypedefDeclaration--"TYPE¹"-->TypedefDeclarationTYPE[Type]:::outer -``` -## UsingDirective -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[UsingDirective](#eusingdirective) +artifact : String -### Relationships -[DFG](#NodeDFG) +startLine : int -[EOG](#NodeEOG) +endLine : int -[ANNOTATIONS](#NodeANNOTATIONS) +startColumn : int -[AST](#NodeAST) +endColumn : int -[SCOPE](#NodeSCOPE) +isInferred : boolean -[TYPEDEFS](#NodeTYPEDEFS) +
-## NamespaceDeclaration +## CatchClause **Labels**:[Node](#enode) -[Declaration](#edeclaration) -[NamespaceDeclaration](#enamespacedeclaration) +[Statement](#estatement) +[CatchClause](#ecatchclause) ### Relationships -[STATEMENTS](#NamespaceDeclarationSTATEMENTS) - -[DECLARATIONS](#NamespaceDeclarationDECLARATIONS) +[BODY](#CatchClauseBODY) +[PARAMETER](#CatchClausePARAMETER) +
Inherited Relationships -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### STATEMENTS +#### BODY ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -NamespaceDeclaration--"STATEMENTS*"-->NamespaceDeclarationSTATEMENTS[Statement]:::outer +CatchClause--"BODY¹"-->CatchClauseBODY[Block]:::outer ``` -#### DECLARATIONS +#### PARAMETER ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -NamespaceDeclaration--"DECLARATIONS*"-->NamespaceDeclarationDECLARATIONS[Declaration]:::outer +CatchClause--"PARAMETER¹"-->CatchClausePARAMETER[VariableDeclaration]:::outer ``` -## RecordDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[RecordDeclaration](#erecorddeclaration) +### Properties +
Inherited Properties +code : String -### Relationships -[IMPORTS](#RecordDeclarationIMPORTS) +argumentIndex : int -[CONSTRUCTORS](#RecordDeclarationCONSTRUCTORS) +file : String -[FIELDS](#RecordDeclarationFIELDS) +isImplicit : boolean -[TEMPLATES](#RecordDeclarationTEMPLATES) +fullName : String -[STATIC_IMPORTS](#RecordDeclarationSTATIC_IMPORTS) +localName : String -[RECORDS](#RecordDeclarationRECORDS) +name : String -[SUPER_TYPE_DECLARATIONS](#RecordDeclarationSUPER_TYPE_DECLARATIONS) +nameDelimiter : String -[STATEMENTS](#RecordDeclarationSTATEMENTS) +comment : String -[METHODS](#RecordDeclarationMETHODS) +artifact : String -[DFG](#NodeDFG) +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## SwitchStatement +**Labels**:[Node](#enode) +[Statement](#estatement) +[SwitchStatement](#eswitchstatement) + +### Relationships +[INITIALIZER_STATEMENT](#SwitchStatementINITIALIZER_STATEMENT) +[SELECTOR_DECLARATION](#SwitchStatementSELECTOR_DECLARATION) +[STATEMENT](#SwitchStatementSTATEMENT) +[SELECTOR](#SwitchStatementSELECTOR) +
Inherited Relationships + +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### IMPORTS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"IMPORTS*"-->RecordDeclarationIMPORTS[Declaration]:::outer -``` -#### CONSTRUCTORS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"CONSTRUCTORS*"-->RecordDeclarationCONSTRUCTORS[ConstructorDeclaration]:::outer -``` -#### FIELDS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"FIELDS*"-->RecordDeclarationFIELDS[FieldDeclaration]:::outer -``` -#### TEMPLATES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"TEMPLATES*"-->RecordDeclarationTEMPLATES[TemplateDeclaration]:::outer -``` -#### STATIC_IMPORTS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"STATIC_IMPORTS*"-->RecordDeclarationSTATIC_IMPORTS[ValueDeclaration]:::outer -``` -#### RECORDS +#### INITIALIZER_STATEMENT ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"RECORDS*"-->RecordDeclarationRECORDS[RecordDeclaration]:::outer +SwitchStatement--"INITIALIZER_STATEMENT¹"-->SwitchStatementINITIALIZER_STATEMENT[Statement]:::outer ``` -#### SUPER_TYPE_DECLARATIONS +#### SELECTOR_DECLARATION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"SUPER_TYPE_DECLARATIONS*"-->RecordDeclarationSUPER_TYPE_DECLARATIONS[RecordDeclaration]:::outer +SwitchStatement--"SELECTOR_DECLARATION¹"-->SwitchStatementSELECTOR_DECLARATION[Declaration]:::outer ``` -#### STATEMENTS +#### STATEMENT ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"STATEMENTS*"-->RecordDeclarationSTATEMENTS[Statement]:::outer +SwitchStatement--"STATEMENT¹"-->SwitchStatementSTATEMENT[Statement]:::outer ``` -#### METHODS +#### SELECTOR ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"METHODS*"-->RecordDeclarationMETHODS[MethodDeclaration]:::outer +SwitchStatement--"SELECTOR¹"-->SwitchStatementSELECTOR[Expression]:::outer ``` -## DeclarationSequence +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## GotoStatement **Labels**:[Node](#enode) -[Declaration](#edeclaration) -[DeclarationSequence](#edeclarationsequence) +[Statement](#estatement) +[GotoStatement](#egotostatement) ### Relationships -[CHILDREN](#DeclarationSequenceCHILDREN) +[TARGET_LABEL](#GotoStatementTARGET_LABEL) +
Inherited Relationships -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### CHILDREN +#### TARGET_LABEL ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -DeclarationSequence--"CHILDREN*"-->DeclarationSequenceCHILDREN[Declaration]:::outer +GotoStatement--"TARGET_LABEL¹"-->GotoStatementTARGET_LABEL[LabelStatement]:::outer ``` -## TranslationUnitDeclaration -**Labels**:[Node](#enode) -[Declaration](#edeclaration) -[TranslationUnitDeclaration](#etranslationunitdeclaration) +### Properties +labelName : String -### Relationships -[NAMESPACES](#TranslationUnitDeclarationNAMESPACES) +
Inherited Properties +code : String -[DECLARATIONS](#TranslationUnitDeclarationDECLARATIONS) +argumentIndex : int -[STATEMENTS](#TranslationUnitDeclarationSTATEMENTS) +file : String -[INCLUDES](#TranslationUnitDeclarationINCLUDES) +isImplicit : boolean -[DFG](#NodeDFG) +fullName : String -[EOG](#NodeEOG) +localName : String -[ANNOTATIONS](#NodeANNOTATIONS) +name : String -[AST](#NodeAST) +nameDelimiter : String -[SCOPE](#NodeSCOPE) +comment : String -[TYPEDEFS](#NodeTYPEDEFS) +artifact : String -#### NAMESPACES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TranslationUnitDeclaration--"NAMESPACES*"-->TranslationUnitDeclarationNAMESPACES[NamespaceDeclaration]:::outer -``` -#### DECLARATIONS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TranslationUnitDeclaration--"DECLARATIONS*"-->TranslationUnitDeclarationDECLARATIONS[Declaration]:::outer -``` -#### STATEMENTS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TranslationUnitDeclaration--"STATEMENTS*"-->TranslationUnitDeclarationSTATEMENTS[Statement]:::outer -``` -#### INCLUDES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TranslationUnitDeclaration--"INCLUDES*"-->TranslationUnitDeclarationINCLUDES[IncludeDeclaration]:::outer -``` -## IncludeDeclaration +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## WhileStatement **Labels**:[Node](#enode) -[Declaration](#edeclaration) -[IncludeDeclaration](#eincludedeclaration) +[Statement](#estatement) +[WhileStatement](#ewhilestatement) ### Relationships -[INCLUDES](#IncludeDeclarationINCLUDES) - -[PROBLEMS](#IncludeDeclarationPROBLEMS) +[CONDITION_DECLARATION](#WhileStatementCONDITION_DECLARATION) +[CONDITION](#WhileStatementCONDITION) +[STATEMENT](#WhileStatementSTATEMENT) +
Inherited Relationships -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### INCLUDES +#### CONDITION_DECLARATION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IncludeDeclaration--"INCLUDES*"-->IncludeDeclarationINCLUDES[IncludeDeclaration]:::outer +WhileStatement--"CONDITION_DECLARATION¹"-->WhileStatementCONDITION_DECLARATION[Declaration]:::outer ``` -#### PROBLEMS +#### CONDITION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IncludeDeclaration--"PROBLEMS*"-->IncludeDeclarationPROBLEMS[ProblemDeclaration]:::outer +WhileStatement--"CONDITION¹"-->WhileStatementCONDITION[Expression]:::outer ``` -## Type -**Labels**:[Node](#enode) -[Type](#etype) +#### STATEMENT +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +WhileStatement--"STATEMENT¹"-->WhileStatementSTATEMENT[Statement]:::outer +``` +### Properties +
Inherited Properties +code : String -### Children -[UnknownType](#eunknowntype) -[ObjectType](#eobjecttype) -[ParameterizedType](#eparameterizedtype) -[PointerType](#epointertype) -[FunctionPointerType](#efunctionpointertype) -[TupleType](#etupletype) -[IncompleteType](#eincompletetype) -[ReferenceType](#ereferencetype) -[FunctionType](#efunctiontype) +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## ContinueStatement +**Labels**:[Node](#enode) +[Statement](#estatement) +[ContinueStatement](#econtinuestatement) ### Relationships -[SUPER_TYPE](#TypeSUPER_TYPE) +
Inherited Relationships -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### SUPER_TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Type--"SUPER_TYPE*"-->TypeSUPER_TYPE[Type]:::outer -``` -## UnknownType +### Properties +label : String + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## DefaultStatement **Labels**:[Node](#enode) -[Type](#etype) -[UnknownType](#eunknowntype) +[Statement](#estatement) +[DefaultStatement](#edefaultstatement) ### Relationships -[SUPER_TYPE](#TypeSUPER_TYPE) +
Inherited Relationships -[DFG](#NodeDFG) +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-## ObjectType -**Labels**:[Node](#enode) -[Type](#etype) -[ObjectType](#eobjecttype) +### Properties +
Inherited Properties +code : String -### Children -[NumericType](#enumerictype) -[StringType](#estringtype) +argumentIndex : int -### Relationships -[GENERICS](#ObjectTypeGENERICS) +file : String -[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) +isImplicit : boolean -[SUPER_TYPE](#TypeSUPER_TYPE) +fullName : String -[DFG](#NodeDFG) +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## SynchronizedStatement +**Labels**:[Node](#enode) +[Statement](#estatement) +[SynchronizedStatement](#esynchronizedstatement) + +### Relationships +[EXPRESSION](#SynchronizedStatementEXPRESSION) +[BLOCK](#SynchronizedStatementBLOCK) +
Inherited Relationships + +[LOCALS](#StatementLOCALS) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### GENERICS +#### EXPRESSION ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ObjectType--"GENERICS*"-->ObjectTypeGENERICS[Type]:::outer +SynchronizedStatement--"EXPRESSION¹"-->SynchronizedStatementEXPRESSION[Expression]:::outer ``` -#### RECORD_DECLARATION +#### BLOCK ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ObjectType--"RECORD_DECLARATION¹"-->ObjectTypeRECORD_DECLARATION[RecordDeclaration]:::outer +SynchronizedStatement--"BLOCK¹"-->SynchronizedStatementBLOCK[Block]:::outer ``` -## NumericType -**Labels**:[Node](#enode) -[Type](#etype) -[ObjectType](#eobjecttype) -[NumericType](#enumerictype) +### Properties +
Inherited Properties +code : String -### Children -[IntegerType](#eintegertype) -[FloatingPointType](#efloatingpointtype) -[BooleanType](#ebooleantype) +argumentIndex : int -### Relationships -[GENERICS](#ObjectTypeGENERICS) +file : String -[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) +isImplicit : boolean -[SUPER_TYPE](#TypeSUPER_TYPE) +fullName : String -[DFG](#NodeDFG) +localName : String -[EOG](#NodeEOG) +name : String -[ANNOTATIONS](#NodeANNOTATIONS) +nameDelimiter : String -[AST](#NodeAST) +comment : String -[SCOPE](#NodeSCOPE) +artifact : String -[TYPEDEFS](#NodeTYPEDEFS) +startLine : int -## IntegerType +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## TryStatement **Labels**:[Node](#enode) -[Type](#etype) -[ObjectType](#eobjecttype) -[NumericType](#enumerictype) -[IntegerType](#eintegertype) +[Statement](#estatement) +[TryStatement](#etrystatement) ### Relationships -[GENERICS](#ObjectTypeGENERICS) +[RESOURCES](#TryStatementRESOURCES) +[FINALLY_BLOCK](#TryStatementFINALLY_BLOCK) +[TRY_BLOCK](#TryStatementTRY_BLOCK) +[CATCH_CLAUSES](#TryStatementCATCH_CLAUSES) +
Inherited Relationships -[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) +[LOCALS](#StatementLOCALS) -[SUPER_TYPE](#TypeSUPER_TYPE) +[EOG](#NodeEOG) -[DFG](#NodeDFG) +[CDG](#NodeCDG) -[EOG](#NodeEOG) +[DFG](#NodeDFG) [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-## FloatingPointType -**Labels**:[Node](#enode) -[Type](#etype) -[ObjectType](#eobjecttype) -[NumericType](#enumerictype) -[FloatingPointType](#efloatingpointtype) +#### RESOURCES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TryStatement--"RESOURCES*"-->TryStatementRESOURCES[Statement]:::outer +``` +#### FINALLY_BLOCK +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TryStatement--"FINALLY_BLOCK¹"-->TryStatementFINALLY_BLOCK[Block]:::outer +``` +#### TRY_BLOCK +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TryStatement--"TRY_BLOCK¹"-->TryStatementTRY_BLOCK[Block]:::outer +``` +#### CATCH_CLAUSES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TryStatement--"CATCH_CLAUSES*"-->TryStatementCATCH_CLAUSES[CatchClause]:::outer +``` +### Properties +
Inherited Properties +code : String -### Relationships -[GENERICS](#ObjectTypeGENERICS) +argumentIndex : int -[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) +file : String -[SUPER_TYPE](#TypeSUPER_TYPE) +isImplicit : boolean -[DFG](#NodeDFG) +fullName : String -[EOG](#NodeEOG) +localName : String -[ANNOTATIONS](#NodeANNOTATIONS) +name : String -[AST](#NodeAST) +nameDelimiter : String -[SCOPE](#NodeSCOPE) +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## ForEachStatement +**Labels**:[Node](#enode) +[Statement](#estatement) +[ForEachStatement](#eforeachstatement) + +### Relationships +[ITERABLE](#ForEachStatementITERABLE) +[STATEMENT](#ForEachStatementSTATEMENT) +[VARIABLE](#ForEachStatementVARIABLE) +
Inherited Relationships + +[LOCALS](#StatementLOCALS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### ITERABLE +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +ForEachStatement--"ITERABLE¹"-->ForEachStatementITERABLE[Statement]:::outer +``` +#### STATEMENT +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +ForEachStatement--"STATEMENT¹"-->ForEachStatementSTATEMENT[Statement]:::outer +``` +#### VARIABLE +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +ForEachStatement--"VARIABLE¹"-->ForEachStatementVARIABLE[Statement]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## LabelStatement +**Labels**:[Node](#enode) +[Statement](#estatement) +[LabelStatement](#elabelstatement) + +### Relationships +[SUB_STATEMENT](#LabelStatementSUB_STATEMENT) +
Inherited Relationships + +[LOCALS](#StatementLOCALS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### SUB_STATEMENT +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +LabelStatement--"SUB_STATEMENT¹"-->LabelStatementSUB_STATEMENT[Statement]:::outer +``` +### Properties +label : String + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## BreakStatement +**Labels**:[Node](#enode) +[Statement](#estatement) +[BreakStatement](#ebreakstatement) + +### Relationships +
Inherited Relationships + +[LOCALS](#StatementLOCALS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +label : String + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## DeclarationStatement +**Labels**:[Node](#enode) +[Statement](#estatement) +[DeclarationStatement](#edeclarationstatement) + +### Relationships +[DECLARATIONS](#DeclarationStatementDECLARATIONS) +
Inherited Relationships + +[LOCALS](#StatementLOCALS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### DECLARATIONS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +DeclarationStatement--"DECLARATIONS*"-->DeclarationStatementDECLARATIONS[Declaration]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## EmptyStatement +**Labels**:[Node](#enode) +[Statement](#estatement) +[EmptyStatement](#eemptystatement) + +### Relationships +
Inherited Relationships + +[LOCALS](#StatementLOCALS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## Declaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) + +### Children +[ValueDeclaration](#evaluedeclaration) +[TemplateDeclaration](#etemplatedeclaration) +[RecordDeclaration](#erecorddeclaration) +[TypedefDeclaration](#etypedefdeclaration) +[NamespaceDeclaration](#enamespacedeclaration) +[DeclarationSequence](#edeclarationsequence) +[TranslationUnitDeclaration](#etranslationunitdeclaration) +[UsingDeclaration](#eusingdeclaration) +[IncludeDeclaration](#eincludedeclaration) + +### Relationships +
Inherited Relationships + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## ValueDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[ValueDeclaration](#evaluedeclaration) + +### Children +[VariableDeclaration](#evariabledeclaration) +[ProblemDeclaration](#eproblemdeclaration) +[EnumConstantDeclaration](#eenumconstantdeclaration) +[FunctionDeclaration](#efunctiondeclaration) +[TypeParameterDeclaration](#etypeparameterdeclaration) +[ParameterDeclaration](#eparameterdeclaration) + +### Relationships +[ALIASES](#ValueDeclarationALIASES) +[TYPE](#ValueDeclarationTYPE) +[ASSIGNED_TYPES](#ValueDeclarationASSIGNED_TYPES) +[USAGE](#ValueDeclarationUSAGE) +[TYPE_OBSERVERS](#ValueDeclarationTYPE_OBSERVERS) +
Inherited Relationships + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### ALIASES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +ValueDeclaration--"ALIASES*"-->ValueDeclarationALIASES[Node]:::outer +``` +#### TYPE +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +ValueDeclaration--"TYPE¹"-->ValueDeclarationTYPE[Type]:::outer +``` +#### ASSIGNED_TYPES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +ValueDeclaration--"ASSIGNED_TYPES*"-->ValueDeclarationASSIGNED_TYPES[Type]:::outer +``` +#### USAGE +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +ValueDeclaration--"USAGE*"-->ValueDeclarationUSAGE[Reference]:::outer +``` +#### TYPE_OBSERVERS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +ValueDeclaration--"TYPE_OBSERVERS*"-->ValueDeclarationTYPE_OBSERVERS[Node]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## VariableDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[ValueDeclaration](#evaluedeclaration) +[VariableDeclaration](#evariabledeclaration) + +### Children +[TupleDeclaration](#etupledeclaration) +[FieldDeclaration](#efielddeclaration) + +### Relationships +[INITIALIZER](#VariableDeclarationINITIALIZER) +[TEMPLATE_PARAMETERS](#VariableDeclarationTEMPLATE_PARAMETERS) +
Inherited Relationships + +[ALIASES](#ValueDeclarationALIASES) + +[TYPE](#ValueDeclarationTYPE) + +[ASSIGNED_TYPES](#ValueDeclarationASSIGNED_TYPES) + +[USAGE](#ValueDeclarationUSAGE) + +[TYPE_OBSERVERS](#ValueDeclarationTYPE_OBSERVERS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### INITIALIZER +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +VariableDeclaration--"INITIALIZER¹"-->VariableDeclarationINITIALIZER[Expression]:::outer +``` +#### TEMPLATE_PARAMETERS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +VariableDeclaration--"TEMPLATE_PARAMETERS*"-->VariableDeclarationTEMPLATE_PARAMETERS[Node]:::outer +``` +### Properties +isImplicitInitializerAllowed : boolean + +isArray : boolean + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## TupleDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[ValueDeclaration](#evaluedeclaration) +[VariableDeclaration](#evariabledeclaration) +[TupleDeclaration](#etupledeclaration) + +### Relationships +[ELEMENTS](#TupleDeclarationELEMENTS) +
Inherited Relationships + +[INITIALIZER](#VariableDeclarationINITIALIZER) + +[TEMPLATE_PARAMETERS](#VariableDeclarationTEMPLATE_PARAMETERS) + +[ALIASES](#ValueDeclarationALIASES) + +[TYPE](#ValueDeclarationTYPE) + +[ASSIGNED_TYPES](#ValueDeclarationASSIGNED_TYPES) + +[USAGE](#ValueDeclarationUSAGE) + +[TYPE_OBSERVERS](#ValueDeclarationTYPE_OBSERVERS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### ELEMENTS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TupleDeclaration--"ELEMENTS*"-->TupleDeclarationELEMENTS[VariableDeclaration]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +isImplicitInitializerAllowed : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +isArray : boolean + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## FieldDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[ValueDeclaration](#evaluedeclaration) +[VariableDeclaration](#evariabledeclaration) +[FieldDeclaration](#efielddeclaration) + +### Relationships +[DEFINES](#FieldDeclarationDEFINES) +
Inherited Relationships + +[INITIALIZER](#VariableDeclarationINITIALIZER) + +[TEMPLATE_PARAMETERS](#VariableDeclarationTEMPLATE_PARAMETERS) + +[ALIASES](#ValueDeclarationALIASES) + +[TYPE](#ValueDeclarationTYPE) + +[ASSIGNED_TYPES](#ValueDeclarationASSIGNED_TYPES) + +[USAGE](#ValueDeclarationUSAGE) + +[TYPE_OBSERVERS](#ValueDeclarationTYPE_OBSERVERS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### DEFINES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +FieldDeclaration--"DEFINES¹"-->FieldDeclarationDEFINES[FieldDeclaration]:::outer +``` +### Properties +modifiers : List + +isDefinition : boolean + +
Inherited Properties +code : String + +file : String + +isInferred : boolean + +argumentIndex : int + +isImplicit : boolean + +isImplicitInitializerAllowed : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +isArray : boolean + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +
+ +## ProblemDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[ValueDeclaration](#evaluedeclaration) +[ProblemDeclaration](#eproblemdeclaration) + +### Relationships +
Inherited Relationships + +[ALIASES](#ValueDeclarationALIASES) + +[TYPE](#ValueDeclarationTYPE) + +[ASSIGNED_TYPES](#ValueDeclarationASSIGNED_TYPES) + +[USAGE](#ValueDeclarationUSAGE) + +[TYPE_OBSERVERS](#ValueDeclarationTYPE_OBSERVERS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +problem : String + +problemType : ProblemType + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## EnumConstantDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[ValueDeclaration](#evaluedeclaration) +[EnumConstantDeclaration](#eenumconstantdeclaration) + +### Relationships +[INITIALIZER](#EnumConstantDeclarationINITIALIZER) +
Inherited Relationships + +[ALIASES](#ValueDeclarationALIASES) + +[TYPE](#ValueDeclarationTYPE) + +[ASSIGNED_TYPES](#ValueDeclarationASSIGNED_TYPES) + +[USAGE](#ValueDeclarationUSAGE) + +[TYPE_OBSERVERS](#ValueDeclarationTYPE_OBSERVERS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### INITIALIZER +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +EnumConstantDeclaration--"INITIALIZER¹"-->EnumConstantDeclarationINITIALIZER[Expression]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## FunctionDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[ValueDeclaration](#evaluedeclaration) +[FunctionDeclaration](#efunctiondeclaration) + +### Children +[MethodDeclaration](#emethoddeclaration) + +### Relationships +[THROWS_TYPES](#FunctionDeclarationTHROWS_TYPES) +[OVERRIDES](#FunctionDeclarationOVERRIDES) +[BODY](#FunctionDeclarationBODY) +[RECORDS](#FunctionDeclarationRECORDS) +[DEFINES](#FunctionDeclarationDEFINES) +[RETURN_TYPES](#FunctionDeclarationRETURN_TYPES) +[PARAMETERS](#FunctionDeclarationPARAMETERS) +
Inherited Relationships + +[ALIASES](#ValueDeclarationALIASES) + +[TYPE](#ValueDeclarationTYPE) + +[ASSIGNED_TYPES](#ValueDeclarationASSIGNED_TYPES) + +[USAGE](#ValueDeclarationUSAGE) + +[TYPE_OBSERVERS](#ValueDeclarationTYPE_OBSERVERS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### THROWS_TYPES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +FunctionDeclaration--"THROWS_TYPES*"-->FunctionDeclarationTHROWS_TYPES[Type]:::outer +``` +#### OVERRIDES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +FunctionDeclaration--"OVERRIDES*"-->FunctionDeclarationOVERRIDES[FunctionDeclaration]:::outer +``` +#### BODY +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +FunctionDeclaration--"BODY¹"-->FunctionDeclarationBODY[Statement]:::outer +``` +#### RECORDS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +FunctionDeclaration--"RECORDS*"-->FunctionDeclarationRECORDS[RecordDeclaration]:::outer +``` +#### DEFINES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +FunctionDeclaration--"DEFINES¹"-->FunctionDeclarationDEFINES[FunctionDeclaration]:::outer +``` +#### RETURN_TYPES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +FunctionDeclaration--"RETURN_TYPES*"-->FunctionDeclarationRETURN_TYPES[Type]:::outer +``` +#### PARAMETERS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +FunctionDeclaration--"PARAMETERS*"-->FunctionDeclarationPARAMETERS[ParameterDeclaration]:::outer +``` +### Properties +isDefinition : boolean + +
Inherited Properties +code : String + +file : String + +isInferred : boolean + +argumentIndex : int + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +
+ +## MethodDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[ValueDeclaration](#evaluedeclaration) +[FunctionDeclaration](#efunctiondeclaration) +[MethodDeclaration](#emethoddeclaration) + +### Children +[ConstructorDeclaration](#econstructordeclaration) + +### Relationships +[RECORD_DECLARATION](#MethodDeclarationRECORD_DECLARATION) +[RECEIVER](#MethodDeclarationRECEIVER) +
Inherited Relationships + +[THROWS_TYPES](#FunctionDeclarationTHROWS_TYPES) + +[OVERRIDES](#FunctionDeclarationOVERRIDES) + +[BODY](#FunctionDeclarationBODY) + +[RECORDS](#FunctionDeclarationRECORDS) + +[DEFINES](#FunctionDeclarationDEFINES) + +[RETURN_TYPES](#FunctionDeclarationRETURN_TYPES) + +[PARAMETERS](#FunctionDeclarationPARAMETERS) + +[ALIASES](#ValueDeclarationALIASES) + +[TYPE](#ValueDeclarationTYPE) + +[ASSIGNED_TYPES](#ValueDeclarationASSIGNED_TYPES) + +[USAGE](#ValueDeclarationUSAGE) + +[TYPE_OBSERVERS](#ValueDeclarationTYPE_OBSERVERS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### RECORD_DECLARATION +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +MethodDeclaration--"RECORD_DECLARATION¹"-->MethodDeclarationRECORD_DECLARATION[RecordDeclaration]:::outer +``` +#### RECEIVER +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +MethodDeclaration--"RECEIVER¹"-->MethodDeclarationRECEIVER[VariableDeclaration]:::outer +``` +### Properties +isStatic : boolean + +
Inherited Properties +code : String + +file : String + +isInferred : boolean + +isDefinition : boolean + +argumentIndex : int + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +
+ +## ConstructorDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[ValueDeclaration](#evaluedeclaration) +[FunctionDeclaration](#efunctiondeclaration) +[MethodDeclaration](#emethoddeclaration) +[ConstructorDeclaration](#econstructordeclaration) + +### Relationships +
Inherited Relationships + +[RECORD_DECLARATION](#MethodDeclarationRECORD_DECLARATION) + +[RECEIVER](#MethodDeclarationRECEIVER) + +[THROWS_TYPES](#FunctionDeclarationTHROWS_TYPES) + +[OVERRIDES](#FunctionDeclarationOVERRIDES) + +[BODY](#FunctionDeclarationBODY) + +[RECORDS](#FunctionDeclarationRECORDS) + +[DEFINES](#FunctionDeclarationDEFINES) + +[RETURN_TYPES](#FunctionDeclarationRETURN_TYPES) + +[PARAMETERS](#FunctionDeclarationPARAMETERS) + +[ALIASES](#ValueDeclarationALIASES) + +[TYPE](#ValueDeclarationTYPE) + +[ASSIGNED_TYPES](#ValueDeclarationASSIGNED_TYPES) + +[USAGE](#ValueDeclarationUSAGE) + +[TYPE_OBSERVERS](#ValueDeclarationTYPE_OBSERVERS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +
Inherited Properties +isStatic : boolean + +code : String + +file : String + +isInferred : boolean + +isDefinition : boolean + +argumentIndex : int + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +
+ +## TypeParameterDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[ValueDeclaration](#evaluedeclaration) +[TypeParameterDeclaration](#etypeparameterdeclaration) + +### Relationships +[DEFAULT](#TypeParameterDeclarationDEFAULT) +
Inherited Relationships + +[ALIASES](#ValueDeclarationALIASES) + +[TYPE](#ValueDeclarationTYPE) + +[ASSIGNED_TYPES](#ValueDeclarationASSIGNED_TYPES) + +[USAGE](#ValueDeclarationUSAGE) + +[TYPE_OBSERVERS](#ValueDeclarationTYPE_OBSERVERS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### DEFAULT +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TypeParameterDeclaration--"DEFAULT¹"-->TypeParameterDeclarationDEFAULT[Type]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## ParameterDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[ValueDeclaration](#evaluedeclaration) +[ParameterDeclaration](#eparameterdeclaration) + +### Relationships +[DEFAULT](#ParameterDeclarationDEFAULT) +
Inherited Relationships + +[ALIASES](#ValueDeclarationALIASES) + +[TYPE](#ValueDeclarationTYPE) + +[ASSIGNED_TYPES](#ValueDeclarationASSIGNED_TYPES) + +[USAGE](#ValueDeclarationUSAGE) + +[TYPE_OBSERVERS](#ValueDeclarationTYPE_OBSERVERS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### DEFAULT +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +ParameterDeclaration--"DEFAULT¹"-->ParameterDeclarationDEFAULT[Expression]:::outer +``` +### Properties +isVariadic : boolean + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## TemplateDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[TemplateDeclaration](#etemplatedeclaration) + +### Children +[RecordTemplateDeclaration](#erecordtemplatedeclaration) +[FunctionTemplateDeclaration](#efunctiontemplatedeclaration) + +### Relationships +[PARAMETERS](#TemplateDeclarationPARAMETERS) +
Inherited Relationships + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### PARAMETERS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TemplateDeclaration--"PARAMETERS*"-->TemplateDeclarationPARAMETERS[Declaration]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## RecordTemplateDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[TemplateDeclaration](#etemplatedeclaration) +[RecordTemplateDeclaration](#erecordtemplatedeclaration) + +### Relationships +[REALIZATION](#RecordTemplateDeclarationREALIZATION) +
Inherited Relationships + +[PARAMETERS](#TemplateDeclarationPARAMETERS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### REALIZATION +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +RecordTemplateDeclaration--"REALIZATION*"-->RecordTemplateDeclarationREALIZATION[RecordDeclaration]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## FunctionTemplateDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[TemplateDeclaration](#etemplatedeclaration) +[FunctionTemplateDeclaration](#efunctiontemplatedeclaration) + +### Relationships +[REALIZATION](#FunctionTemplateDeclarationREALIZATION) +
Inherited Relationships + +[PARAMETERS](#TemplateDeclarationPARAMETERS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### REALIZATION +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +FunctionTemplateDeclaration--"REALIZATION*"-->FunctionTemplateDeclarationREALIZATION[FunctionDeclaration]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## RecordDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[RecordDeclaration](#erecorddeclaration) + +### Children +[EnumDeclaration](#eenumdeclaration) + +### Relationships +[IMPORTS](#RecordDeclarationIMPORTS) +[CONSTRUCTORS](#RecordDeclarationCONSTRUCTORS) +[FIELDS](#RecordDeclarationFIELDS) +[TEMPLATES](#RecordDeclarationTEMPLATES) +[STATIC_IMPORTS](#RecordDeclarationSTATIC_IMPORTS) +[RECORDS](#RecordDeclarationRECORDS) +[SUPER_TYPE_DECLARATIONS](#RecordDeclarationSUPER_TYPE_DECLARATIONS) +[STATEMENTS](#RecordDeclarationSTATEMENTS) +[METHODS](#RecordDeclarationMETHODS) +
Inherited Relationships + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### IMPORTS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +RecordDeclaration--"IMPORTS*"-->RecordDeclarationIMPORTS[Declaration]:::outer +``` +#### CONSTRUCTORS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +RecordDeclaration--"CONSTRUCTORS*"-->RecordDeclarationCONSTRUCTORS[ConstructorDeclaration]:::outer +``` +#### FIELDS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +RecordDeclaration--"FIELDS*"-->RecordDeclarationFIELDS[FieldDeclaration]:::outer +``` +#### TEMPLATES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +RecordDeclaration--"TEMPLATES*"-->RecordDeclarationTEMPLATES[TemplateDeclaration]:::outer +``` +#### STATIC_IMPORTS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +RecordDeclaration--"STATIC_IMPORTS*"-->RecordDeclarationSTATIC_IMPORTS[ValueDeclaration]:::outer +``` +#### RECORDS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +RecordDeclaration--"RECORDS*"-->RecordDeclarationRECORDS[RecordDeclaration]:::outer +``` +#### SUPER_TYPE_DECLARATIONS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +RecordDeclaration--"SUPER_TYPE_DECLARATIONS*"-->RecordDeclarationSUPER_TYPE_DECLARATIONS[RecordDeclaration]:::outer +``` +#### STATEMENTS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +RecordDeclaration--"STATEMENTS*"-->RecordDeclarationSTATEMENTS[Statement]:::outer +``` +#### METHODS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +RecordDeclaration--"METHODS*"-->RecordDeclarationMETHODS[MethodDeclaration]:::outer +``` +### Properties +kind : String + +importStatements : List + +staticImportStatements : List + +
Inherited Properties +code : String + +file : String + +isInferred : boolean + +argumentIndex : int + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +
+ +## EnumDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[RecordDeclaration](#erecorddeclaration) +[EnumDeclaration](#eenumdeclaration) + +### Relationships +[ENTRIES](#EnumDeclarationENTRIES) +
Inherited Relationships + +[IMPORTS](#RecordDeclarationIMPORTS) + +[CONSTRUCTORS](#RecordDeclarationCONSTRUCTORS) + +[FIELDS](#RecordDeclarationFIELDS) + +[TEMPLATES](#RecordDeclarationTEMPLATES) + +[STATIC_IMPORTS](#RecordDeclarationSTATIC_IMPORTS) + +[RECORDS](#RecordDeclarationRECORDS) + +[SUPER_TYPE_DECLARATIONS](#RecordDeclarationSUPER_TYPE_DECLARATIONS) + +[STATEMENTS](#RecordDeclarationSTATEMENTS) + +[METHODS](#RecordDeclarationMETHODS) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### ENTRIES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +EnumDeclaration--"ENTRIES*"-->EnumDeclarationENTRIES[EnumConstantDeclaration]:::outer +``` +### Properties +
Inherited Properties +code : String + +file : String + +isInferred : boolean + +kind : String + +argumentIndex : int + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +importStatements : List + +staticImportStatements : List + +
+ +## TypedefDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[TypedefDeclaration](#etypedefdeclaration) + +### Relationships +[TYPE](#TypedefDeclarationTYPE) +[ALIAS](#TypedefDeclarationALIAS) +
Inherited Relationships + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### TYPE +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TypedefDeclaration--"TYPE¹"-->TypedefDeclarationTYPE[Type]:::outer +``` +#### ALIAS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TypedefDeclaration--"ALIAS¹"-->TypedefDeclarationALIAS[Type]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## NamespaceDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[NamespaceDeclaration](#enamespacedeclaration) + +### Relationships +[DECLARATIONS](#NamespaceDeclarationDECLARATIONS) +[STATEMENTS](#NamespaceDeclarationSTATEMENTS) +
Inherited Relationships + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### DECLARATIONS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +NamespaceDeclaration--"DECLARATIONS*"-->NamespaceDeclarationDECLARATIONS[Declaration]:::outer +``` +#### STATEMENTS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +NamespaceDeclaration--"STATEMENTS*"-->NamespaceDeclarationSTATEMENTS[Statement]:::outer +``` +### Properties +path : String + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## DeclarationSequence +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[DeclarationSequence](#edeclarationsequence) + +### Relationships +[CHILDREN](#DeclarationSequenceCHILDREN) +
Inherited Relationships + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### CHILDREN +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +DeclarationSequence--"CHILDREN*"-->DeclarationSequenceCHILDREN[Declaration]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## TranslationUnitDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[TranslationUnitDeclaration](#etranslationunitdeclaration) + +### Relationships +[DECLARATIONS](#TranslationUnitDeclarationDECLARATIONS) +[NAMESPACES](#TranslationUnitDeclarationNAMESPACES) +[STATEMENTS](#TranslationUnitDeclarationSTATEMENTS) +[INCLUDES](#TranslationUnitDeclarationINCLUDES) +
Inherited Relationships + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### DECLARATIONS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TranslationUnitDeclaration--"DECLARATIONS*"-->TranslationUnitDeclarationDECLARATIONS[Declaration]:::outer +``` +#### NAMESPACES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TranslationUnitDeclaration--"NAMESPACES*"-->TranslationUnitDeclarationNAMESPACES[NamespaceDeclaration]:::outer +``` +#### STATEMENTS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TranslationUnitDeclaration--"STATEMENTS*"-->TranslationUnitDeclarationSTATEMENTS[Statement]:::outer +``` +#### INCLUDES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +TranslationUnitDeclaration--"INCLUDES*"-->TranslationUnitDeclarationINCLUDES[IncludeDeclaration]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## UsingDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[UsingDeclaration](#eusingdeclaration) + +### Relationships +
Inherited Relationships + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +qualifiedName : String + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## IncludeDeclaration +**Labels**:[Node](#enode) +[Declaration](#edeclaration) +[IncludeDeclaration](#eincludedeclaration) + +### Relationships +[INCLUDES](#IncludeDeclarationINCLUDES) +[PROBLEMS](#IncludeDeclarationPROBLEMS) +
Inherited Relationships + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### INCLUDES +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +IncludeDeclaration--"INCLUDES*"-->IncludeDeclarationINCLUDES[IncludeDeclaration]:::outer +``` +#### PROBLEMS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +IncludeDeclaration--"PROBLEMS*"-->IncludeDeclarationPROBLEMS[ProblemDeclaration]:::outer +``` +### Properties +filename : String + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## Type +**Labels**:[Node](#enode) +[Type](#etype) + +### Children +[ProblemType](#eproblemtype) +[UnknownType](#eunknowntype) +[ObjectType](#eobjecttype) +[ParameterizedType](#eparameterizedtype) +[PointerType](#epointertype) +[AutoType](#eautotype) +[FunctionPointerType](#efunctionpointertype) +[TupleType](#etupletype) +[IncompleteType](#eincompletetype) +[ReferenceType](#ereferencetype) +[FunctionType](#efunctiontype) + +### Relationships +[SUPER_TYPE](#TypeSUPER_TYPE) +
Inherited Relationships + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### SUPER_TYPE +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +Type--"SUPER_TYPE*"-->TypeSUPER_TYPE[Type]:::outer +``` +### Properties +isPrimitive : boolean + +typeOrigin : Origin + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ +## ProblemType +**Labels**:[Node](#enode) +[Type](#etype) +[ProblemType](#eproblemtype) + +### Relationships +
Inherited Relationships + +[SUPER_TYPE](#TypeSUPER_TYPE) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
+ +## UnknownType +**Labels**:[Node](#enode) +[Type](#etype) +[UnknownType](#eunknowntype) + +### Relationships +
Inherited Relationships + +[SUPER_TYPE](#TypeSUPER_TYPE) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +typeOrigin : Origin + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +
+ +## ObjectType +**Labels**:[Node](#enode) +[Type](#etype) +[ObjectType](#eobjecttype) + +### Children +[NumericType](#enumerictype) +[StringType](#estringtype) + +### Relationships +[GENERICS](#ObjectTypeGENERICS) +[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) +
Inherited Relationships + +[SUPER_TYPE](#TypeSUPER_TYPE) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### GENERICS +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +ObjectType--"GENERICS*"-->ObjectTypeGENERICS[Type]:::outer +``` +#### RECORD_DECLARATION +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +ObjectType--"RECORD_DECLARATION¹"-->ObjectTypeRECORD_DECLARATION[RecordDeclaration]:::outer +``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
+ +## NumericType +**Labels**:[Node](#enode) +[Type](#etype) +[ObjectType](#eobjecttype) +[NumericType](#enumerictype) + +### Children +[IntegerType](#eintegertype) +[FloatingPointType](#efloatingpointtype) +[BooleanType](#ebooleantype) + +### Relationships +
Inherited Relationships + +[GENERICS](#ObjectTypeGENERICS) + +[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) + +[SUPER_TYPE](#TypeSUPER_TYPE) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +modifier : Modifier + +bitWidth : Integer + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
+ +## IntegerType +**Labels**:[Node](#enode) +[Type](#etype) +[ObjectType](#eobjecttype) +[NumericType](#enumerictype) +[IntegerType](#eintegertype) + +### Relationships +
Inherited Relationships + +[GENERICS](#ObjectTypeGENERICS) + +[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) + +[SUPER_TYPE](#TypeSUPER_TYPE) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +
Inherited Properties +code : String + +modifier : Modifier + +argumentIndex : int + +file : String + +isImplicit : boolean + +bitWidth : Integer + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
+ +## FloatingPointType +**Labels**:[Node](#enode) +[Type](#etype) +[ObjectType](#eobjecttype) +[NumericType](#enumerictype) +[FloatingPointType](#efloatingpointtype) + +### Relationships +
Inherited Relationships + +[GENERICS](#ObjectTypeGENERICS) + +[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) + +[SUPER_TYPE](#TypeSUPER_TYPE) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +
Inherited Properties +code : String + +modifier : Modifier + +argumentIndex : int + +file : String + +isImplicit : boolean + +bitWidth : Integer + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
+ +## BooleanType +**Labels**:[Node](#enode) +[Type](#etype) +[ObjectType](#eobjecttype) +[NumericType](#enumerictype) +[BooleanType](#ebooleantype) + +### Relationships +
Inherited Relationships + +[GENERICS](#ObjectTypeGENERICS) + +[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) + +[SUPER_TYPE](#TypeSUPER_TYPE) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +
Inherited Properties +code : String + +modifier : Modifier + +argumentIndex : int + +file : String + +isImplicit : boolean + +bitWidth : Integer + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
+ +## StringType +**Labels**:[Node](#enode) +[Type](#etype) +[ObjectType](#eobjecttype) +[StringType](#estringtype) + +### Relationships +
Inherited Relationships + +[GENERICS](#ObjectTypeGENERICS) + +[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) + +[SUPER_TYPE](#TypeSUPER_TYPE) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
+ +## ParameterizedType +**Labels**:[Node](#enode) +[Type](#etype) +[ParameterizedType](#eparameterizedtype) + +### Relationships +
Inherited Relationships + +[SUPER_TYPE](#TypeSUPER_TYPE) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
+ +## PointerType +**Labels**:[Node](#enode) +[Type](#etype) +[PointerType](#epointertype) + +### Relationships +[ELEMENT_TYPE](#PointerTypeELEMENT_TYPE) +
Inherited Relationships + +[SUPER_TYPE](#TypeSUPER_TYPE) + +[EOG](#NodeEOG) + +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + +[ANNOTATIONS](#NodeANNOTATIONS) + +[PDG](#NodePDG) + +[AST](#NodeAST) + +[SCOPE](#NodeSCOPE) + +
+ +#### ELEMENT_TYPE +```mermaid +flowchart LR + classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; +PointerType--"ELEMENT_TYPE¹"-->PointerTypeELEMENT_TYPE[Type]:::outer +``` +### Properties +pointerOrigin : PointerOrigin + +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String -[TYPEDEFS](#NodeTYPEDEFS) +nameDelimiter : String -## BooleanType -**Labels**:[Node](#enode) -[Type](#etype) -[ObjectType](#eobjecttype) -[NumericType](#enumerictype) -[BooleanType](#ebooleantype) +comment : String -### Relationships -[GENERICS](#ObjectTypeGENERICS) +artifact : String -[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) +startLine : int -[SUPER_TYPE](#TypeSUPER_TYPE) +endLine : int -[DFG](#NodeDFG) +startColumn : int -[EOG](#NodeEOG) +endColumn : int -[ANNOTATIONS](#NodeANNOTATIONS) +isPrimitive : boolean -[AST](#NodeAST) +isInferred : boolean -[SCOPE](#NodeSCOPE) +typeOrigin : Origin -[TYPEDEFS](#NodeTYPEDEFS) +
-## StringType +## AutoType **Labels**:[Node](#enode) [Type](#etype) -[ObjectType](#eobjecttype) -[StringType](#estringtype) +[AutoType](#eautotype) ### Relationships -[GENERICS](#ObjectTypeGENERICS) - -[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) +
Inherited Relationships [SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) - [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-## ParameterizedType -**Labels**:[Node](#enode) -[Type](#etype) -[ParameterizedType](#eparameterizedtype) +### Properties +
Inherited Properties +code : String -### Relationships -[SUPER_TYPE](#TypeSUPER_TYPE) +argumentIndex : int -[DFG](#NodeDFG) +file : String -[EOG](#NodeEOG) +isImplicit : boolean -[ANNOTATIONS](#NodeANNOTATIONS) +fullName : String -[AST](#NodeAST) +localName : String -[SCOPE](#NodeSCOPE) +name : String -[TYPEDEFS](#NodeTYPEDEFS) +nameDelimiter : String -## PointerType -**Labels**:[Node](#enode) -[Type](#etype) -[PointerType](#epointertype) +comment : String -### Relationships -[ELEMENT_TYPE](#PointerTypeELEMENT_TYPE) +artifact : String -[SUPER_TYPE](#TypeSUPER_TYPE) +startLine : int -[DFG](#NodeDFG) +endLine : int -[EOG](#NodeEOG) +startColumn : int -[ANNOTATIONS](#NodeANNOTATIONS) +endColumn : int -[AST](#NodeAST) +isPrimitive : boolean -[SCOPE](#NodeSCOPE) +isInferred : boolean -[TYPEDEFS](#NodeTYPEDEFS) +typeOrigin : Origin + +
-#### ELEMENT_TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -PointerType--"ELEMENT_TYPE¹"-->PointerTypeELEMENT_TYPE[Type]:::outer -``` ## FunctionPointerType **Labels**:[Node](#enode) [Type](#etype) @@ -3094,22 +6541,26 @@ PointerType--"ELEMENT_TYPE¹"-->PointerTypeELEMENT_TYPE[Type[PARAMETERS](#FunctionPointerTypePARAMETERS) - [RETURN_TYPE](#FunctionPointerTypeRETURN_TYPE) +
Inherited Relationships [SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) - [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
#### PARAMETERS ```mermaid @@ -3123,6 +6574,44 @@ flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; FunctionPointerType--"RETURN_TYPE¹"-->FunctionPointerTypeRETURN_TYPE[Type]:::outer ``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
+ ## TupleType **Labels**:[Node](#enode) [Type](#etype) @@ -3130,20 +6619,25 @@ FunctionPointerType--"RETURN_TYPE¹"-->FunctionPointerTypeRETURN_TYPE[Type]:::outer ``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
+ ## IncompleteType **Labels**:[Node](#enode) [Type](#etype) [IncompleteType](#eincompletetype) ### Relationships -[SUPER_TYPE](#TypeSUPER_TYPE) +
Inherited Relationships -[DFG](#NodeDFG) +[SUPER_TYPE](#TypeSUPER_TYPE) [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
+ +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
## ReferenceType **Labels**:[Node](#enode) @@ -3177,28 +6753,71 @@ TupleType--"TYPES*"-->TupleTypeTYPES[Type]:::outer [ReferenceType](#ereferencetype) ### Relationships -[REFERENCE](#ReferenceTypeREFERENCE) +[ELEMENT_TYPE](#ReferenceTypeELEMENT_TYPE) +
Inherited Relationships [SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) - [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### REFERENCE +#### ELEMENT_TYPE ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ReferenceType--"REFERENCE¹"-->ReferenceTypeREFERENCE[Type]:::outer +ReferenceType--"ELEMENT_TYPE¹"-->ReferenceTypeELEMENT_TYPE[Type]:::outer ``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
+ ## FunctionType **Labels**:[Node](#enode) [Type](#etype) @@ -3206,22 +6825,26 @@ ReferenceType--"REFERENCE¹"-->ReferenceTypeREFERENCE[Type] ### Relationships [RETURN_TYPES](#FunctionTypeRETURN_TYPES) - [PARAMETERS](#FunctionTypePARAMETERS) +
Inherited Relationships [SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) - [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
#### RETURN_TYPES ```mermaid @@ -3235,24 +6858,67 @@ flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; FunctionType--"PARAMETERS*"-->FunctionTypePARAMETERS[Type]:::outer ``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isPrimitive : boolean + +isInferred : boolean + +typeOrigin : Origin + +
+ ## AnnotationMember **Labels**:[Node](#enode) [AnnotationMember](#eannotationmember) ### Relationships [VALUE](#AnnotationMemberVALUE) - -[DFG](#NodeDFG) +
Inherited Relationships [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
#### VALUE ```mermaid @@ -3260,40 +6926,77 @@ flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; AnnotationMember--"VALUE¹"-->AnnotationMemberVALUE[Expression]:::outer ``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ ## Component **Labels**:[Node](#enode) [Component](#ecomponent) ### Relationships +[INCOMING_INTERACTIONS](#ComponentINCOMING_INTERACTIONS) [OUTGOING_INTERACTIONS](#ComponentOUTGOING_INTERACTIONS) +[TRANSLATION_UNITS](#ComponentTRANSLATION_UNITS) +
Inherited Relationships -[INCOMING_INTERACTIONS](#ComponentINCOMING_INTERACTIONS) +[EOG](#NodeEOG) -[TRANSLATION_UNITS](#ComponentTRANSLATION_UNITS) +[CDG](#NodeCDG) [DFG](#NodeDFG) -[EOG](#NodeEOG) - [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
-#### OUTGOING_INTERACTIONS +#### INCOMING_INTERACTIONS ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Component--"OUTGOING_INTERACTIONS*"-->ComponentOUTGOING_INTERACTIONS[Node]:::outer +Component--"INCOMING_INTERACTIONS*"-->ComponentINCOMING_INTERACTIONS[Node]:::outer ``` -#### INCOMING_INTERACTIONS +#### OUTGOING_INTERACTIONS ```mermaid flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Component--"INCOMING_INTERACTIONS*"-->ComponentINCOMING_INTERACTIONS[Node]:::outer +Component--"OUTGOING_INTERACTIONS*"-->ComponentOUTGOING_INTERACTIONS[Node]:::outer ``` #### TRANSLATION_UNITS ```mermaid @@ -3301,24 +7004,63 @@ flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; Component--"TRANSLATION_UNITS*"-->ComponentTRANSLATION_UNITS[TranslationUnitDeclaration]:::outer ``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ ## Annotation **Labels**:[Node](#enode) [Annotation](#eannotation) ### Relationships [MEMBERS](#AnnotationMEMBERS) - -[DFG](#NodeDFG) +
Inherited Relationships [EOG](#NodeEOG) +[CDG](#NodeCDG) + +[DFG](#NodeDFG) + [ANNOTATIONS](#NodeANNOTATIONS) +[PDG](#NodePDG) + [AST](#NodeAST) [SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) +
#### MEMBERS ```mermaid @@ -3326,3 +7068,37 @@ flowchart LR classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; Annotation--"MEMBERS*"-->AnnotationMEMBERS[AnnotationMember]:::outer ``` +### Properties +
Inherited Properties +code : String + +argumentIndex : int + +file : String + +isImplicit : boolean + +fullName : String + +localName : String + +name : String + +nameDelimiter : String + +comment : String + +artifact : String + +startLine : int + +endLine : int + +startColumn : int + +endColumn : int + +isInferred : boolean + +
+ diff --git a/docs/docs/CPG/specs/schema.md b/docs/docs/CPG/specs/schema.md deleted file mode 100644 index 3b91b95eb8..0000000000 --- a/docs/docs/CPG/specs/schema.md +++ /dev/null @@ -1,10952 +0,0 @@ -# CPG Schema -This file shows all node labels and relationships between them that are persisted from the in memory CPG to the Neo4j database. The specification is generated automatically and always up to date. -# Node -## Children -[Statement](#estatement) [Declaration](#edeclaration) [Type](#etype) [AnnotationMember](#eannotationmember) [Component](#ecomponent) [Annotation](#eannotation) -## Relationships -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### DFG -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Node--"DFG*"-->NodeDFG[Node]:::outer -``` -### EOG -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Node--"EOG*"-->NodeEOG[Node]:::outer -``` -### ANNOTATIONS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Node--"ANNOTATIONS*"-->NodeANNOTATIONS[Annotation]:::outer -``` -### AST -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Node--"AST*"-->NodeAST[Node]:::outer -``` -### SCOPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Node--"SCOPE¹"-->NodeSCOPE[Node]:::outer -``` -### TYPEDEFS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Node--"TYPEDEFS*"-->NodeTYPEDEFS[TypedefDeclaration]:::outer -``` -# Statement -**Labels**:[Node](#enode) [Statement](#estatement) -## Children -[AssertStatement](#eassertstatement) [DoStatement](#edostatement) [CaseStatement](#ecasestatement) [ReturnStatement](#ereturnstatement) [Expression](#eexpression) [IfStatement](#eifstatement) [DeclarationStatement](#edeclarationstatement) [ForStatement](#eforstatement) [CatchClause](#ecatchclause) [SwitchStatement](#eswitchstatement) [GotoStatement](#egotostatement) [WhileStatement](#ewhilestatement) [BlockStatement](#ecompoundstatement) [ContinueStatement](#econtinuestatement) [DefaultStatement](#edefaultstatement) [SynchronizedStatement](#esynchronizedstatement) [TryStatement](#etrystatement) [ForEachStatement](#eforeachstatement) [LabelStatement](#elabelstatement) [BreakStatement](#ebreakstatement) [EmptyStatement](#eemptystatement) -## Relationships -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### LOCALS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Statement--"LOCALS*"-->StatementLOCALS[VariableDeclaration]:::outer -``` -# AssertStatement -**Labels**:[Node](#enode) [Statement](#estatement) [AssertStatement](#eassertstatement) -## Relationships -[CONDITION](#AssertStatementCONDITION) -[MESSAGE](#AssertStatementMESSAGE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### CONDITION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -AssertStatement--"CONDITION¹"-->AssertStatementCONDITION[Expression]:::outer -``` -### MESSAGE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -AssertStatement--"MESSAGE¹"-->AssertStatementMESSAGE[Statement]:::outer -``` -# DoStatement -**Labels**:[Node](#enode) [Statement](#estatement) [DoStatement](#edostatement) -## Relationships -[CONDITION](#DoStatementCONDITION) -[STATEMENT](#DoStatementSTATEMENT) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### CONDITION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -DoStatement--"CONDITION¹"-->DoStatementCONDITION[Expression]:::outer -``` -### STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -DoStatement--"STATEMENT¹"-->DoStatementSTATEMENT[Statement]:::outer -``` -# CaseStatement -**Labels**:[Node](#enode) [Statement](#estatement) [CaseStatement](#ecasestatement) -## Relationships -[CASE_EXPRESSION](#CaseStatementCASE_EXPRESSION) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### CASE_EXPRESSION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CaseStatement--"CASE_EXPRESSION¹"-->CaseStatementCASE_EXPRESSION[Expression]:::outer -``` -# ReturnStatement -**Labels**:[Node](#enode) [Statement](#estatement) [ReturnStatement](#ereturnstatement) -## Relationships -[RETURN_VALUES](#ReturnStatementRETURN_VALUES) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### RETURN_VALUES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ReturnStatement--"RETURN_VALUES*"-->ReturnStatementRETURN_VALUES[Expression]:::outer -``` -# Expression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) -## Children -[NewExpression](#enewexpression) [LambdaExpression](#elambdaexpression) [UnaryOperator](#eunaryoperator) [ArrayRangeExpression](#earrayrangeexpression) [CallExpression](#ecallexpression) [DesignatedInitializerExpression](#edesignatedinitializerexpression) [KeyValueExpression](#ekeyvalueexpression) [AssignExpression](#eassignexpression) [CastExpression](#ecastexpression) [NewArrayExpression](#earraycreationexpression) [SubscriptionExpression](#earraysubscriptionexpression) [TypeExpression](#etypeexpression) [BinaryOperator](#ebinaryoperator) [ConditionalExpression](#econditionalexpression) [Reference](#edeclaredreferenceexpression) [InitializerListExpression](#einitializerlistexpression) [DeleteExpression](#edeleteexpression) [BlockStatementExpression](#ecompoundstatementexpression) [ProblemExpression](#eproblemexpression) [Literal](#eliteral) [TypeIdExpression](#etypeidexpression) [ExpressionList](#eexpressionlist) -## Relationships -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### POSSIBLE_SUB_TYPES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Expression--"POSSIBLE_SUB_TYPES*"-->ExpressionPOSSIBLE_SUB_TYPES[Type]:::outer -``` -### TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Expression--"TYPE¹"-->ExpressionTYPE[Type]:::outer -``` -# NewExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [NewExpression](#enewexpression) -## Relationships -[INITIALIZER](#NewExpressionINITIALIZER) -[TEMPLATE_PARAMETERS](#NewExpressionTEMPLATE_PARAMETERS) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### INITIALIZER -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -NewExpression--"INITIALIZER¹"-->NewExpressionINITIALIZER[Expression]:::outer -``` -### TEMPLATE_PARAMETERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -NewExpression--"TEMPLATE_PARAMETERS*"-->NewExpressionTEMPLATE_PARAMETERS[Node]:::outer -``` -# LambdaExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [LambdaExpression](#elambdaexpression) -## Relationships -[MUTABLE_VARIABLES](#LambdaExpressionMUTABLE_VARIABLES) -[FUNCTION](#LambdaExpressionFUNCTION) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### MUTABLE_VARIABLES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -LambdaExpression--"MUTABLE_VARIABLES*"-->LambdaExpressionMUTABLE_VARIABLES[ValueDeclaration]:::outer -``` -### FUNCTION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -LambdaExpression--"FUNCTION¹"-->LambdaExpressionFUNCTION[FunctionDeclaration]:::outer -``` -# UnaryOperator -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [UnaryOperator](#eunaryoperator) -## Relationships -[INPUT](#UnaryOperatorINPUT) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### INPUT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -UnaryOperator--"INPUT¹"-->UnaryOperatorINPUT[Expression]:::outer -``` -# ArrayRangeExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [ArrayRangeExpression](#earrayrangeexpression) -## Relationships -[CEILING](#ArrayRangeExpressionCEILING) -[STEP](#ArrayRangeExpressionSTEP) -[FLOOR](#ArrayRangeExpressionFLOOR) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### CEILING -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ArrayRangeExpression--"CEILING¹"-->ArrayRangeExpressionCEILING[Expression]:::outer -``` -### STEP -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ArrayRangeExpression--"STEP¹"-->ArrayRangeExpressionSTEP[Expression]:::outer -``` -### FLOOR -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ArrayRangeExpression--"FLOOR¹"-->ArrayRangeExpressionFLOOR[Expression]:::outer -``` -# CallExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [CallExpression](#ecallexpression) -## Children -[ConstructorCallExpression](#eexplicitconstructorinvocation) [ConstructExpression](#econstructexpression) [MemberCallExpression](#emembercallexpression) -## Relationships -[CALLEE](#CallExpressionCALLEE) -[INVOKES](#CallExpressionINVOKES) -[TEMPLATE_INSTANTIATION](#CallExpressionTEMPLATE_INSTANTIATION) -[ARGUMENTS](#CallExpressionARGUMENTS) -[TEMPLATE_PARAMETERS](#CallExpressionTEMPLATE_PARAMETERS) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### CALLEE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CallExpression--"CALLEE¹"-->CallExpressionCALLEE[Expression]:::outer -``` -### INVOKES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CallExpression--"INVOKES*"-->CallExpressionINVOKES[FunctionDeclaration]:::outer -``` -### TEMPLATE_INSTANTIATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CallExpression--"TEMPLATE_INSTANTIATION¹"-->CallExpressionTEMPLATE_INSTANTIATION[TemplateDeclaration]:::outer -``` -### ARGUMENTS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CallExpression--"ARGUMENTS*"-->CallExpressionARGUMENTS[Expression]:::outer -``` -### TEMPLATE_PARAMETERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CallExpression--"TEMPLATE_PARAMETERS*"-->CallExpressionTEMPLATE_PARAMETERS[Node]:::outer -``` -# ConstructorCallExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [CallExpression](#ecallexpression) [ConstructorCallExpression](#eexplicitconstructorinvocation) -## Relationships -[CALLEE](#CallExpressionCALLEE) -[INVOKES](#CallExpressionINVOKES) -[TEMPLATE_INSTANTIATION](#CallExpressionTEMPLATE_INSTANTIATION) -[ARGUMENTS](#CallExpressionARGUMENTS) -[TEMPLATE_PARAMETERS](#CallExpressionTEMPLATE_PARAMETERS) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# ConstructExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [CallExpression](#ecallexpression) [ConstructExpression](#econstructexpression) -## Relationships -[INSTANTIATES](#ConstructExpressionINSTANTIATES) -[CONSTRUCTOR](#ConstructExpressionCONSTRUCTOR) -[ANOYMOUS_CLASS](#ConstructExpressionANOYMOUS_CLASS) -[CALLEE](#CallExpressionCALLEE) -[INVOKES](#CallExpressionINVOKES) -[TEMPLATE_INSTANTIATION](#CallExpressionTEMPLATE_INSTANTIATION) -[ARGUMENTS](#CallExpressionARGUMENTS) -[TEMPLATE_PARAMETERS](#CallExpressionTEMPLATE_PARAMETERS) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### INSTANTIATES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ConstructExpression--"INSTANTIATES¹"-->ConstructExpressionINSTANTIATES[Declaration]:::outer -``` -### CONSTRUCTOR -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ConstructExpression--"CONSTRUCTOR¹"-->ConstructExpressionCONSTRUCTOR[ConstructorDeclaration]:::outer -``` -### ANOYMOUS_CLASS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ConstructExpression--"ANOYMOUS_CLASS¹"-->ConstructExpressionANOYMOUS_CLASS[RecordDeclaration]:::outer -``` -# MemberCallExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [CallExpression](#ecallexpression) [MemberCallExpression](#emembercallexpression) -## Relationships -[CALLEE](#CallExpressionCALLEE) -[INVOKES](#CallExpressionINVOKES) -[TEMPLATE_INSTANTIATION](#CallExpressionTEMPLATE_INSTANTIATION) -[ARGUMENTS](#CallExpressionARGUMENTS) -[TEMPLATE_PARAMETERS](#CallExpressionTEMPLATE_PARAMETERS) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# DesignatedInitializerExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [DesignatedInitializerExpression](#edesignatedinitializerexpression) -## Relationships -[LHS](#DesignatedInitializerExpressionLHS) -[RHS](#DesignatedInitializerExpressionRHS) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### LHS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -DesignatedInitializerExpression--"LHS*"-->DesignatedInitializerExpressionLHS[Expression]:::outer -``` -### RHS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -DesignatedInitializerExpression--"RHS¹"-->DesignatedInitializerExpressionRHS[Expression]:::outer -``` -# KeyValueExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [KeyValueExpression](#ekeyvalueexpression) -## Relationships -[VALUE](#KeyValueExpressionVALUE) -[KEY](#KeyValueExpressionKEY) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### VALUE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -KeyValueExpression--"VALUE¹"-->KeyValueExpressionVALUE[Expression]:::outer -``` -### KEY -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -KeyValueExpression--"KEY¹"-->KeyValueExpressionKEY[Expression]:::outer -``` -# AssignExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [AssignExpression](#eassignexpression) -## Relationships -[DECLARATIONS](#AssignExpressionDECLARATIONS) -[LHS](#AssignExpressionLHS) -[RHS](#AssignExpressionRHS) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### DECLARATIONS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -AssignExpression--"DECLARATIONS*"-->AssignExpressionDECLARATIONS[VariableDeclaration]:::outer -``` -### LHS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -AssignExpression--"LHS*"-->AssignExpressionLHS[Expression]:::outer -``` -### RHS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -AssignExpression--"RHS*"-->AssignExpressionRHS[Expression]:::outer -``` -# CastExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [CastExpression](#ecastexpression) -## Relationships -[CAST_TYPE](#CastExpressionCAST_TYPE) -[EXPRESSION](#CastExpressionEXPRESSION) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### CAST_TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CastExpression--"CAST_TYPE¹"-->CastExpressionCAST_TYPE[Type]:::outer -``` -### EXPRESSION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CastExpression--"EXPRESSION¹"-->CastExpressionEXPRESSION[Expression]:::outer -``` -# NewArrayExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [NewArrayExpression](#earraycreationexpression) -## Relationships -[INITIALIZER](#NewArrayExpressionINITIALIZER) -[DIMENSIONS](#NewArrayExpressionDIMENSIONS) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### INITIALIZER -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -NewArrayExpression--"INITIALIZER¹"-->NewArrayExpressionINITIALIZER[Expression]:::outer -``` -### DIMENSIONS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -NewArrayExpression--"DIMENSIONS*"-->NewArrayExpressionDIMENSIONS[Expression]:::outer -``` -# SubscriptionExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [SubscriptionExpression](#earraysubscriptionexpression) -## Relationships -[ARRAY_EXPRESSION](#SubscriptionExpressionARRAY_EXPRESSION) -[SUBSCRIPT_EXPRESSION](#SubscriptionExpressionSUBSCRIPT_EXPRESSION) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### ARRAY_EXPRESSION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SubscriptionExpression--"ARRAY_EXPRESSION¹"-->SubscriptionExpressionARRAY_EXPRESSION[Expression]:::outer -``` -### SUBSCRIPT_EXPRESSION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SubscriptionExpression--"SUBSCRIPT_EXPRESSION¹"-->SubscriptionExpressionSUBSCRIPT_EXPRESSION[Expression]:::outer -``` -# TypeExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [TypeExpression](#etypeexpression) -## Relationships -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# BinaryOperator -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [BinaryOperator](#ebinaryoperator) -## Relationships -[LHS](#BinaryOperatorLHS) -[RHS](#BinaryOperatorRHS) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### LHS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -BinaryOperator--"LHS¹"-->BinaryOperatorLHS[Expression]:::outer -``` -### RHS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -BinaryOperator--"RHS¹"-->BinaryOperatorRHS[Expression]:::outer -``` -# ConditionalExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [ConditionalExpression](#econditionalexpression) -## Relationships -[ELSE_EXPR](#ConditionalExpressionELSE_EXPR) -[THEN_EXPR](#ConditionalExpressionTHEN_EXPR) -[CONDITION](#ConditionalExpressionCONDITION) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### ELSE_EXPR -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ConditionalExpression--"ELSE_EXPR¹"-->ConditionalExpressionELSE_EXPR[Expression]:::outer -``` -### THEN_EXPR -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ConditionalExpression--"THEN_EXPR¹"-->ConditionalExpressionTHEN_EXPR[Expression]:::outer -``` -### CONDITION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ConditionalExpression--"CONDITION¹"-->ConditionalExpressionCONDITION[Expression]:::outer -``` -# Reference -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [Reference](#edeclaredreferenceexpression) -## Children -[MemberExpression](#ememberexpression) -## Relationships -[REFERS_TO](#ReferenceREFERS_TO) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### REFERS_TO -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Reference--"REFERS_TO¹"-->ReferenceREFERS_TO[Declaration]:::outer -``` -# MemberExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [Reference](#edeclaredreferenceexpression) [MemberExpression](#ememberexpression) -## Relationships -[BASE](#MemberExpressionBASE) -[REFERS_TO](#ReferenceREFERS_TO) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### BASE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -MemberExpression--"BASE¹"-->MemberExpressionBASE[Expression]:::outer -``` -# InitializerListExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [InitializerListExpression](#einitializerlistexpression) -## Relationships -[INITIALIZERS](#InitializerListExpressionINITIALIZERS) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### INITIALIZERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -InitializerListExpression--"INITIALIZERS*"-->InitializerListExpressionINITIALIZERS[Expression]:::outer -``` -# DeleteExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [DeleteExpression](#edeleteexpression) -## Relationships -[OPERAND](#DeleteExpressionOPERAND) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### OPERAND -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -DeleteExpression--"OPERAND¹"-->DeleteExpressionOPERAND[Expression]:::outer -``` -# BlockStatementExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [BlockStatementExpression](#ecompoundstatementexpression) -## Relationships -[STATEMENT](#BlockStatementExpressionSTATEMENT) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -BlockStatementExpression--"STATEMENT¹"-->BlockStatementExpressionSTATEMENT[Statement]:::outer -``` -# ProblemExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [ProblemExpression](#eproblemexpression) -## Relationships -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# Literal -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [Literal](#eliteral) -## Relationships -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# TypeIdExpression -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [TypeIdExpression](#etypeidexpression) -## Relationships -[REFERENCED_TYPE](#TypeIdExpressionREFERENCED_TYPE) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### REFERENCED_TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TypeIdExpression--"REFERENCED_TYPE¹"-->TypeIdExpressionREFERENCED_TYPE[Type]:::outer -``` -# ExpressionList -**Labels**:[Node](#enode) [Statement](#estatement) [Expression](#eexpression) [ExpressionList](#eexpressionlist) -## Relationships -[SUBEXPR](#ExpressionListSUBEXPR) -[POSSIBLE_SUB_TYPES](#ExpressionPOSSIBLE_SUB_TYPES) -[TYPE](#ExpressionTYPE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### SUBEXPR -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ExpressionList--"SUBEXPR*"-->ExpressionListSUBEXPR[Statement]:::outer -``` -# IfStatement -**Labels**:[Node](#enode) [Statement](#estatement) [IfStatement](#eifstatement) -## Relationships -[CONDITION_DECLARATION](#IfStatementCONDITION_DECLARATION) -[INITIALIZER_STATEMENT](#IfStatementINITIALIZER_STATEMENT) -[THEN_STATEMENT](#IfStatementTHEN_STATEMENT) -[CONDITION](#IfStatementCONDITION) -[ELSE_STATEMENT](#IfStatementELSE_STATEMENT) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### CONDITION_DECLARATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IfStatement--"CONDITION_DECLARATION¹"-->IfStatementCONDITION_DECLARATION[Declaration]:::outer -``` -### INITIALIZER_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IfStatement--"INITIALIZER_STATEMENT¹"-->IfStatementINITIALIZER_STATEMENT[Statement]:::outer -``` -### THEN_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IfStatement--"THEN_STATEMENT¹"-->IfStatementTHEN_STATEMENT[Statement]:::outer -``` -### CONDITION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IfStatement--"CONDITION¹"-->IfStatementCONDITION[Expression]:::outer -``` -### ELSE_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IfStatement--"ELSE_STATEMENT¹"-->IfStatementELSE_STATEMENT[Statement]:::outer -``` -# DeclarationStatement -**Labels**:[Node](#enode) [Statement](#estatement) [DeclarationStatement](#edeclarationstatement) -## Children -[ASMDeclarationStatement](#easmdeclarationstatement) -## Relationships -[DECLARATIONS](#DeclarationStatementDECLARATIONS) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### DECLARATIONS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -DeclarationStatement--"DECLARATIONS*"-->DeclarationStatementDECLARATIONS[Declaration]:::outer -``` -# ASMDeclarationStatement -**Labels**:[Node](#enode) [Statement](#estatement) [DeclarationStatement](#edeclarationstatement) [ASMDeclarationStatement](#easmdeclarationstatement) -## Relationships -[DECLARATIONS](#DeclarationStatementDECLARATIONS) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# ForStatement -**Labels**:[Node](#enode) [Statement](#estatement) [ForStatement](#eforstatement) -## Relationships -[CONDITION_DECLARATION](#ForStatementCONDITION_DECLARATION) -[INITIALIZER_STATEMENT](#ForStatementINITIALIZER_STATEMENT) -[ITERATION_STATEMENT](#ForStatementITERATION_STATEMENT) -[CONDITION](#ForStatementCONDITION) -[STATEMENT](#ForStatementSTATEMENT) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### CONDITION_DECLARATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForStatement--"CONDITION_DECLARATION¹"-->ForStatementCONDITION_DECLARATION[Declaration]:::outer -``` -### INITIALIZER_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForStatement--"INITIALIZER_STATEMENT¹"-->ForStatementINITIALIZER_STATEMENT[Statement]:::outer -``` -### ITERATION_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForStatement--"ITERATION_STATEMENT¹"-->ForStatementITERATION_STATEMENT[Statement]:::outer -``` -### CONDITION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForStatement--"CONDITION¹"-->ForStatementCONDITION[Expression]:::outer -``` -### STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForStatement--"STATEMENT¹"-->ForStatementSTATEMENT[Statement]:::outer -``` -# CatchClause -**Labels**:[Node](#enode) [Statement](#estatement) [CatchClause](#ecatchclause) -## Relationships -[PARAMETER](#CatchClausePARAMETER) -[BODY](#CatchClauseBODY) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### PARAMETER -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CatchClause--"PARAMETER¹"-->CatchClausePARAMETER[VariableDeclaration]:::outer -``` -### BODY -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -CatchClause--"BODY¹"-->CatchClauseBODY[BlockStatement]:::outer -``` -# SwitchStatement -**Labels**:[Node](#enode) [Statement](#estatement) [SwitchStatement](#eswitchstatement) -## Relationships -[INITIALIZER_STATEMENT](#SwitchStatementINITIALIZER_STATEMENT) -[SELECTOR_DECLARATION](#SwitchStatementSELECTOR_DECLARATION) -[STATEMENT](#SwitchStatementSTATEMENT) -[SELECTOR](#SwitchStatementSELECTOR) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### INITIALIZER_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SwitchStatement--"INITIALIZER_STATEMENT¹"-->SwitchStatementINITIALIZER_STATEMENT[Statement]:::outer -``` -### SELECTOR_DECLARATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SwitchStatement--"SELECTOR_DECLARATION¹"-->SwitchStatementSELECTOR_DECLARATION[Declaration]:::outer -``` -### STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SwitchStatement--"STATEMENT¹"-->SwitchStatementSTATEMENT[Statement]:::outer -``` -### SELECTOR -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SwitchStatement--"SELECTOR¹"-->SwitchStatementSELECTOR[Expression]:::outer -``` -# GotoStatement -**Labels**:[Node](#enode) [Statement](#estatement) [GotoStatement](#egotostatement) -## Relationships -[TARGET_LABEL](#GotoStatementTARGET_LABEL) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### TARGET_LABEL -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -GotoStatement--"TARGET_LABEL¹"-->GotoStatementTARGET_LABEL[LabelStatement]:::outer -``` -# WhileStatement -**Labels**:[Node](#enode) [Statement](#estatement) [WhileStatement](#ewhilestatement) -## Relationships -[CONDITION_DECLARATION](#WhileStatementCONDITION_DECLARATION) -[CONDITION](#WhileStatementCONDITION) -[STATEMENT](#WhileStatementSTATEMENT) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### CONDITION_DECLARATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -WhileStatement--"CONDITION_DECLARATION¹"-->WhileStatementCONDITION_DECLARATION[Declaration]:::outer -``` -### CONDITION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -WhileStatement--"CONDITION¹"-->WhileStatementCONDITION[Expression]:::outer -``` -### STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -WhileStatement--"STATEMENT¹"-->WhileStatementSTATEMENT[Statement]:::outer -``` -# BlockStatement -**Labels**:[Node](#enode) [Statement](#estatement) [BlockStatement](#ecompoundstatement) -## Relationships -[STATEMENTS](#BlockStatementSTATEMENTS) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### STATEMENTS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -BlockStatement--"STATEMENTS*"-->BlockStatementSTATEMENTS[Statement]:::outer -``` -# ContinueStatement -**Labels**:[Node](#enode) [Statement](#estatement) [ContinueStatement](#econtinuestatement) -## Relationships -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# DefaultStatement -**Labels**:[Node](#enode) [Statement](#estatement) [DefaultStatement](#edefaultstatement) -## Relationships -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# SynchronizedStatement -**Labels**:[Node](#enode) [Statement](#estatement) [SynchronizedStatement](#esynchronizedstatement) -## Relationships -[BLOCK_STATEMENT](#SynchronizedStatementBLOCK_STATEMENT) -[EXPRESSION](#SynchronizedStatementEXPRESSION) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### BLOCK_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SynchronizedStatement--"BLOCK_STATEMENT¹"-->SynchronizedStatementBLOCK_STATEMENT[BlockStatement]:::outer -``` -### EXPRESSION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -SynchronizedStatement--"EXPRESSION¹"-->SynchronizedStatementEXPRESSION[Expression]:::outer -``` -# TryStatement -**Labels**:[Node](#enode) [Statement](#estatement) [TryStatement](#etrystatement) -## Relationships -[RESOURCES](#TryStatementRESOURCES) -[FINALLY_BLOCK](#TryStatementFINALLY_BLOCK) -[TRY_BLOCK](#TryStatementTRY_BLOCK) -[CATCH_CLAUSES](#TryStatementCATCH_CLAUSES) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### RESOURCES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TryStatement--"RESOURCES*"-->TryStatementRESOURCES[Statement]:::outer -``` -### FINALLY_BLOCK -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TryStatement--"FINALLY_BLOCK¹"-->TryStatementFINALLY_BLOCK[BlockStatement]:::outer -``` -### TRY_BLOCK -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TryStatement--"TRY_BLOCK¹"-->TryStatementTRY_BLOCK[BlockStatement]:::outer -``` -### CATCH_CLAUSES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TryStatement--"CATCH_CLAUSES*"-->TryStatementCATCH_CLAUSES[CatchClause]:::outer -``` -# ForEachStatement -**Labels**:[Node](#enode) [Statement](#estatement) [ForEachStatement](#eforeachstatement) -## Relationships -[STATEMENT](#ForEachStatementSTATEMENT) -[VARIABLE](#ForEachStatementVARIABLE) -[ITERABLE](#ForEachStatementITERABLE) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForEachStatement--"STATEMENT¹"-->ForEachStatementSTATEMENT[Statement]:::outer -``` -### VARIABLE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForEachStatement--"VARIABLE¹"-->ForEachStatementVARIABLE[Statement]:::outer -``` -### ITERABLE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ForEachStatement--"ITERABLE¹"-->ForEachStatementITERABLE[Statement]:::outer -``` -# LabelStatement -**Labels**:[Node](#enode) [Statement](#estatement) [LabelStatement](#elabelstatement) -## Relationships -[SUB_STATEMENT](#LabelStatementSUB_STATEMENT) -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### SUB_STATEMENT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -LabelStatement--"SUB_STATEMENT¹"-->LabelStatementSUB_STATEMENT[Statement]:::outer -``` -# BreakStatement -**Labels**:[Node](#enode) [Statement](#estatement) [BreakStatement](#ebreakstatement) -## Relationships -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# EmptyStatement -**Labels**:[Node](#enode) [Statement](#estatement) [EmptyStatement](#eemptystatement) -## Relationships -[LOCALS](#StatementLOCALS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# Declaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) -## Children -[ValueDeclaration](#evaluedeclaration) [TemplateDeclaration](#etemplatedeclaration) [EnumDeclaration](#eenumdeclaration) [TypedefDeclaration](#etypedefdeclaration) [UsingDirective](#eusingdirective) [NamespaceDeclaration](#enamespacedeclaration) [RecordDeclaration](#erecorddeclaration) [DeclarationSequence](#edeclarationsequence) [TranslationUnitDeclaration](#etranslationunitdeclaration) [IncludeDeclaration](#eincludedeclaration) -## Relationships -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# ValueDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [ValueDeclaration](#evaluedeclaration) -## Children -[FieldDeclaration](#efielddeclaration) [VariableDeclaration](#evariabledeclaration) [ProblemDeclaration](#eproblemdeclaration) [EnumConstantDeclaration](#eenumconstantdeclaration) [FunctionDeclaration](#efunctiondeclaration) [ParameterDeclaration](#eparamvariabledeclaration) [TypeParameterDeclaration](#etypeparamdeclaration) -## Relationships -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) -[TYPE](#ValueDeclarationTYPE) -[USAGE](#ValueDeclarationUSAGE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### POSSIBLE_SUB_TYPES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ValueDeclaration--"POSSIBLE_SUB_TYPES*"-->ValueDeclarationPOSSIBLE_SUB_TYPES[Type]:::outer -``` -### TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ValueDeclaration--"TYPE¹"-->ValueDeclarationTYPE[Type]:::outer -``` -### USAGE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ValueDeclaration--"USAGE*"-->ValueDeclarationUSAGE[Reference]:::outer -``` -# FieldDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [ValueDeclaration](#evaluedeclaration) [FieldDeclaration](#efielddeclaration) -## Relationships -[INITIALIZER](#FieldDeclarationINITIALIZER) -[DEFINES](#FieldDeclarationDEFINES) -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) -[TYPE](#ValueDeclarationTYPE) -[USAGE](#ValueDeclarationUSAGE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### INITIALIZER -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FieldDeclaration--"INITIALIZER¹"-->FieldDeclarationINITIALIZER[Expression]:::outer -``` -### DEFINES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FieldDeclaration--"DEFINES¹"-->FieldDeclarationDEFINES[FieldDeclaration]:::outer -``` -# VariableDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [ValueDeclaration](#evaluedeclaration) [VariableDeclaration](#evariabledeclaration) -## Relationships -[INITIALIZER](#VariableDeclarationINITIALIZER) -[TEMPLATE_PARAMETERS](#VariableDeclarationTEMPLATE_PARAMETERS) -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) -[TYPE](#ValueDeclarationTYPE) -[USAGE](#ValueDeclarationUSAGE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### INITIALIZER -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -VariableDeclaration--"INITIALIZER¹"-->VariableDeclarationINITIALIZER[Expression]:::outer -``` -### TEMPLATE_PARAMETERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -VariableDeclaration--"TEMPLATE_PARAMETERS*"-->VariableDeclarationTEMPLATE_PARAMETERS[Node]:::outer -``` -# ProblemDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [ValueDeclaration](#evaluedeclaration) [ProblemDeclaration](#eproblemdeclaration) -## Relationships -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) -[TYPE](#ValueDeclarationTYPE) -[USAGE](#ValueDeclarationUSAGE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# EnumConstantDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [ValueDeclaration](#evaluedeclaration) [EnumConstantDeclaration](#eenumconstantdeclaration) -## Relationships -[INITIALIZER](#EnumConstantDeclarationINITIALIZER) -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) -[TYPE](#ValueDeclarationTYPE) -[USAGE](#ValueDeclarationUSAGE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### INITIALIZER -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -EnumConstantDeclaration--"INITIALIZER¹"-->EnumConstantDeclarationINITIALIZER[Expression]:::outer -``` -# FunctionDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [ValueDeclaration](#evaluedeclaration) [FunctionDeclaration](#efunctiondeclaration) -## Children -[MethodDeclaration](#emethoddeclaration) -## Relationships -[THROWS_TYPES](#FunctionDeclarationTHROWS_TYPES) -[OVERRIDES](#FunctionDeclarationOVERRIDES) -[BODY](#FunctionDeclarationBODY) -[RECORDS](#FunctionDeclarationRECORDS) -[RETURN_TYPES](#FunctionDeclarationRETURN_TYPES) -[PARAMETERS](#FunctionDeclarationPARAMETERS) -[DEFINES](#FunctionDeclarationDEFINES) -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) -[TYPE](#ValueDeclarationTYPE) -[USAGE](#ValueDeclarationUSAGE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### THROWS_TYPES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"THROWS_TYPES*"-->FunctionDeclarationTHROWS_TYPES[Type]:::outer -``` -### OVERRIDES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"OVERRIDES*"-->FunctionDeclarationOVERRIDES[FunctionDeclaration]:::outer -``` -### BODY -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"BODY¹"-->FunctionDeclarationBODY[Statement]:::outer -``` -### RECORDS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"RECORDS*"-->FunctionDeclarationRECORDS[RecordDeclaration]:::outer -``` -### RETURN_TYPES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"RETURN_TYPES*"-->FunctionDeclarationRETURN_TYPES[Type]:::outer -``` -### PARAMETERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"PARAMETERS*"-->FunctionDeclarationPARAMETERS[ParameterDeclaration]:::outer -``` -### DEFINES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionDeclaration--"DEFINES¹"-->FunctionDeclarationDEFINES[FunctionDeclaration]:::outer -``` -# MethodDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [ValueDeclaration](#evaluedeclaration) [FunctionDeclaration](#efunctiondeclaration) [MethodDeclaration](#emethoddeclaration) -## Children -[ConstructorDeclaration](#econstructordeclaration) -## Relationships -[RECEIVER](#MethodDeclarationRECEIVER) -[RECORD_DECLARATION](#MethodDeclarationRECORD_DECLARATION) -[THROWS_TYPES](#FunctionDeclarationTHROWS_TYPES) -[OVERRIDES](#FunctionDeclarationOVERRIDES) -[BODY](#FunctionDeclarationBODY) -[RECORDS](#FunctionDeclarationRECORDS) -[RETURN_TYPES](#FunctionDeclarationRETURN_TYPES) -[PARAMETERS](#FunctionDeclarationPARAMETERS) -[DEFINES](#FunctionDeclarationDEFINES) -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) -[TYPE](#ValueDeclarationTYPE) -[USAGE](#ValueDeclarationUSAGE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### RECEIVER -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -MethodDeclaration--"RECEIVER¹"-->MethodDeclarationRECEIVER[VariableDeclaration]:::outer -``` -### RECORD_DECLARATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -MethodDeclaration--"RECORD_DECLARATION¹"-->MethodDeclarationRECORD_DECLARATION[RecordDeclaration]:::outer -``` -# ConstructorDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [ValueDeclaration](#evaluedeclaration) [FunctionDeclaration](#efunctiondeclaration) [MethodDeclaration](#emethoddeclaration) [ConstructorDeclaration](#econstructordeclaration) -## Relationships -[RECEIVER](#MethodDeclarationRECEIVER) -[RECORD_DECLARATION](#MethodDeclarationRECORD_DECLARATION) -[THROWS_TYPES](#FunctionDeclarationTHROWS_TYPES) -[OVERRIDES](#FunctionDeclarationOVERRIDES) -[BODY](#FunctionDeclarationBODY) -[RECORDS](#FunctionDeclarationRECORDS) -[RETURN_TYPES](#FunctionDeclarationRETURN_TYPES) -[PARAMETERS](#FunctionDeclarationPARAMETERS) -[DEFINES](#FunctionDeclarationDEFINES) -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) -[TYPE](#ValueDeclarationTYPE) -[USAGE](#ValueDeclarationUSAGE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# ParameterDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [ValueDeclaration](#evaluedeclaration) [ParameterDeclaration](#eparamvariabledeclaration) -## Relationships -[DEFAULT](#ParameterDeclarationDEFAULT) -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) -[TYPE](#ValueDeclarationTYPE) -[USAGE](#ValueDeclarationUSAGE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### DEFAULT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ParameterDeclaration--"DEFAULT¹"-->ParameterDeclarationDEFAULT[Expression]:::outer -``` -# TypeParameterDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [ValueDeclaration](#evaluedeclaration) [TypeParameterDeclaration](#etypeparamdeclaration) -## Relationships -[DEFAULT](#TypeParameterDeclarationDEFAULT) -[POSSIBLE_SUB_TYPES](#ValueDeclarationPOSSIBLE_SUB_TYPES) -[TYPE](#ValueDeclarationTYPE) -[USAGE](#ValueDeclarationUSAGE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### DEFAULT -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TypeParameterDeclaration--"DEFAULT¹"-->TypeParameterDeclarationDEFAULT[Type]:::outer -``` -# TemplateDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [TemplateDeclaration](#etemplatedeclaration) -## Children -[ClassTemplateDeclaration](#eclasstemplatedeclaration) [FunctionTemplateDeclaration](#efunctiontemplatedeclaration) -## Relationships -[PARAMETERS](#TemplateDeclarationPARAMETERS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### PARAMETERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TemplateDeclaration--"PARAMETERS*"-->TemplateDeclarationPARAMETERS[Declaration]:::outer -``` -# ClassTemplateDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [TemplateDeclaration](#etemplatedeclaration) [ClassTemplateDeclaration](#eclasstemplatedeclaration) -## Relationships -[REALIZATION](#ClassTemplateDeclarationREALIZATION) -[PARAMETERS](#TemplateDeclarationPARAMETERS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### REALIZATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ClassTemplateDeclaration--"REALIZATION*"-->ClassTemplateDeclarationREALIZATION[RecordDeclaration]:::outer -``` -# FunctionTemplateDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [TemplateDeclaration](#etemplatedeclaration) [FunctionTemplateDeclaration](#efunctiontemplatedeclaration) -## Relationships -[REALIZATION](#FunctionTemplateDeclarationREALIZATION) -[PARAMETERS](#TemplateDeclarationPARAMETERS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### REALIZATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionTemplateDeclaration--"REALIZATION*"-->FunctionTemplateDeclarationREALIZATION[FunctionDeclaration]:::outer -``` -# EnumDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [EnumDeclaration](#eenumdeclaration) -## Relationships -[ENTRIES](#EnumDeclarationENTRIES) -[SUPER_TYPE_DECLARATIONS](#EnumDeclarationSUPER_TYPE_DECLARATIONS) -[SUPER_TYPES](#EnumDeclarationSUPER_TYPES) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### ENTRIES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -EnumDeclaration--"ENTRIES*"-->EnumDeclarationENTRIES[EnumConstantDeclaration]:::outer -``` -### SUPER_TYPE_DECLARATIONS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -EnumDeclaration--"SUPER_TYPE_DECLARATIONS*"-->EnumDeclarationSUPER_TYPE_DECLARATIONS[RecordDeclaration]:::outer -``` -### SUPER_TYPES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -EnumDeclaration--"SUPER_TYPES*"-->EnumDeclarationSUPER_TYPES[Type]:::outer -``` -# TypedefDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [TypedefDeclaration](#etypedefdeclaration) -## Relationships -[ALIAS](#TypedefDeclarationALIAS) -[TYPE](#TypedefDeclarationTYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### ALIAS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TypedefDeclaration--"ALIAS¹"-->TypedefDeclarationALIAS[Type]:::outer -``` -### TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TypedefDeclaration--"TYPE¹"-->TypedefDeclarationTYPE[Type]:::outer -``` -# UsingDirective -**Labels**:[Node](#enode) [Declaration](#edeclaration) [UsingDirective](#eusingdirective) -## Relationships -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# NamespaceDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [NamespaceDeclaration](#enamespacedeclaration) -## Relationships -[STATEMENTS](#NamespaceDeclarationSTATEMENTS) -[DECLARATIONS](#NamespaceDeclarationDECLARATIONS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### STATEMENTS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -NamespaceDeclaration--"STATEMENTS*"-->NamespaceDeclarationSTATEMENTS[Statement]:::outer -``` -### DECLARATIONS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -NamespaceDeclaration--"DECLARATIONS*"-->NamespaceDeclarationDECLARATIONS[Declaration]:::outer -``` -# RecordDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [RecordDeclaration](#erecorddeclaration) -## Relationships -[IMPORTS](#RecordDeclarationIMPORTS) -[CONSTRUCTORS](#RecordDeclarationCONSTRUCTORS) -[FIELDS](#RecordDeclarationFIELDS) -[TEMPLATES](#RecordDeclarationTEMPLATES) -[STATIC_IMPORTS](#RecordDeclarationSTATIC_IMPORTS) -[RECORDS](#RecordDeclarationRECORDS) -[SUPER_TYPE_DECLARATIONS](#RecordDeclarationSUPER_TYPE_DECLARATIONS) -[STATEMENTS](#RecordDeclarationSTATEMENTS) -[METHODS](#RecordDeclarationMETHODS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### IMPORTS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"IMPORTS*"-->RecordDeclarationIMPORTS[Declaration]:::outer -``` -### CONSTRUCTORS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"CONSTRUCTORS*"-->RecordDeclarationCONSTRUCTORS[ConstructorDeclaration]:::outer -``` -### FIELDS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"FIELDS*"-->RecordDeclarationFIELDS[FieldDeclaration]:::outer -``` -### TEMPLATES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"TEMPLATES*"-->RecordDeclarationTEMPLATES[TemplateDeclaration]:::outer -``` -### STATIC_IMPORTS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"STATIC_IMPORTS*"-->RecordDeclarationSTATIC_IMPORTS[ValueDeclaration]:::outer -``` -### RECORDS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"RECORDS*"-->RecordDeclarationRECORDS[RecordDeclaration]:::outer -``` -### SUPER_TYPE_DECLARATIONS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"SUPER_TYPE_DECLARATIONS*"-->RecordDeclarationSUPER_TYPE_DECLARATIONS[RecordDeclaration]:::outer -``` -### STATEMENTS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"STATEMENTS*"-->RecordDeclarationSTATEMENTS[Statement]:::outer -``` -### METHODS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -RecordDeclaration--"METHODS*"-->RecordDeclarationMETHODS[MethodDeclaration]:::outer -``` -# DeclarationSequence -**Labels**:[Node](#enode) [Declaration](#edeclaration) [DeclarationSequence](#edeclarationsequence) -## Relationships -[CHILDREN](#DeclarationSequenceCHILDREN) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### CHILDREN -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -DeclarationSequence--"CHILDREN*"-->DeclarationSequenceCHILDREN[Declaration]:::outer -``` -# TranslationUnitDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [TranslationUnitDeclaration](#etranslationunitdeclaration) -## Relationships -[NAMESPACES](#TranslationUnitDeclarationNAMESPACES) -[DECLARATIONS](#TranslationUnitDeclarationDECLARATIONS) -[STATEMENTS](#TranslationUnitDeclarationSTATEMENTS) -[INCLUDES](#TranslationUnitDeclarationINCLUDES) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### NAMESPACES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TranslationUnitDeclaration--"NAMESPACES*"-->TranslationUnitDeclarationNAMESPACES[NamespaceDeclaration]:::outer -``` -### DECLARATIONS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TranslationUnitDeclaration--"DECLARATIONS*"-->TranslationUnitDeclarationDECLARATIONS[Declaration]:::outer -``` -### STATEMENTS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TranslationUnitDeclaration--"STATEMENTS*"-->TranslationUnitDeclarationSTATEMENTS[Statement]:::outer -``` -### INCLUDES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TranslationUnitDeclaration--"INCLUDES*"-->TranslationUnitDeclarationINCLUDES[IncludeDeclaration]:::outer -``` -# IncludeDeclaration -**Labels**:[Node](#enode) [Declaration](#edeclaration) [IncludeDeclaration](#eincludedeclaration) -## Relationships -[INCLUDES](#IncludeDeclarationINCLUDES) -[PROBLEMS](#IncludeDeclarationPROBLEMS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### INCLUDES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IncludeDeclaration--"INCLUDES*"-->IncludeDeclarationINCLUDES[IncludeDeclaration]:::outer -``` -### PROBLEMS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -IncludeDeclaration--"PROBLEMS*"-->IncludeDeclarationPROBLEMS[ProblemDeclaration]:::outer -``` -# Type -**Labels**:[Node](#enode) [Type](#etype) -## Children -[UnknownType](#eunknowntype) [ObjectType](#eobjecttype) [ParameterizedType](#eparameterizedtype) [PointerType](#epointertype) [FunctionPointerType](#efunctionpointertype) [TupleType](#etupletype) [IncompleteType](#eincompletetype) [ReferenceType](#ereferencetype) [FunctionType](#efunctiontype) -## Relationships -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### SUPER_TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Type--"SUPER_TYPE*"-->TypeSUPER_TYPE[Type]:::outer -``` -# UnknownType -**Labels**:[Node](#enode) [Type](#etype) [UnknownType](#eunknowntype) -## Relationships -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# ObjectType -**Labels**:[Node](#enode) [Type](#etype) [ObjectType](#eobjecttype) -## Children -[NumericType](#enumerictype) [StringType](#estringtype) -## Relationships -[GENERICS](#ObjectTypeGENERICS) -[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### GENERICS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ObjectType--"GENERICS*"-->ObjectTypeGENERICS[Type]:::outer -``` -### RECORD_DECLARATION -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ObjectType--"RECORD_DECLARATION¹"-->ObjectTypeRECORD_DECLARATION[RecordDeclaration]:::outer -``` -# NumericType -**Labels**:[Node](#enode) [Type](#etype) [ObjectType](#eobjecttype) [NumericType](#enumerictype) -## Children -[IntegerType](#eintegertype) [FloatingPointType](#efloatingpointtype) [BooleanType](#ebooleantype) -## Relationships -[GENERICS](#ObjectTypeGENERICS) -[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# IntegerType -**Labels**:[Node](#enode) [Type](#etype) [ObjectType](#eobjecttype) [NumericType](#enumerictype) [IntegerType](#eintegertype) -## Relationships -[GENERICS](#ObjectTypeGENERICS) -[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# FloatingPointType -**Labels**:[Node](#enode) [Type](#etype) [ObjectType](#eobjecttype) [NumericType](#enumerictype) [FloatingPointType](#efloatingpointtype) -## Relationships -[GENERICS](#ObjectTypeGENERICS) -[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# BooleanType -**Labels**:[Node](#enode) [Type](#etype) [ObjectType](#eobjecttype) [NumericType](#enumerictype) [BooleanType](#ebooleantype) -## Relationships -[GENERICS](#ObjectTypeGENERICS) -[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# StringType -**Labels**:[Node](#enode) [Type](#etype) [ObjectType](#eobjecttype) [StringType](#estringtype) -## Relationships -[GENERICS](#ObjectTypeGENERICS) -[RECORD_DECLARATION](#ObjectTypeRECORD_DECLARATION) -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# ParameterizedType -**Labels**:[Node](#enode) [Type](#etype) [ParameterizedType](#eparameterizedtype) -## Relationships -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# PointerType -**Labels**:[Node](#enode) [Type](#etype) [PointerType](#epointertype) -## Relationships -[ELEMENT_TYPE](#PointerTypeELEMENT_TYPE) -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### ELEMENT_TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -PointerType--"ELEMENT_TYPE¹"-->PointerTypeELEMENT_TYPE[Type]:::outer -``` -# FunctionPointerType -**Labels**:[Node](#enode) [Type](#etype) [FunctionPointerType](#efunctionpointertype) -## Relationships -[PARAMETERS](#FunctionPointerTypePARAMETERS) -[RETURN_TYPE](#FunctionPointerTypeRETURN_TYPE) -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### PARAMETERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionPointerType--"PARAMETERS*"-->FunctionPointerTypePARAMETERS[Type]:::outer -``` -### RETURN_TYPE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionPointerType--"RETURN_TYPE¹"-->FunctionPointerTypeRETURN_TYPE[Type]:::outer -``` -# TupleType -**Labels**:[Node](#enode) [Type](#etype) [TupleType](#etupletype) -## Relationships -[TYPES](#TupleTypeTYPES) -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### TYPES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -TupleType--"TYPES*"-->TupleTypeTYPES[Type]:::outer -``` -# IncompleteType -**Labels**:[Node](#enode) [Type](#etype) [IncompleteType](#eincompletetype) -## Relationships -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -# ReferenceType -**Labels**:[Node](#enode) [Type](#etype) [ReferenceType](#ereferencetype) -## Relationships -[REFERENCE](#ReferenceTypeREFERENCE) -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### REFERENCE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -ReferenceType--"REFERENCE¹"-->ReferenceTypeREFERENCE[Type]:::outer -``` -# FunctionType -**Labels**:[Node](#enode) [Type](#etype) [FunctionType](#efunctiontype) -## Relationships -[RETURN_TYPES](#FunctionTypeRETURN_TYPES) -[PARAMETERS](#FunctionTypePARAMETERS) -[SUPER_TYPE](#TypeSUPER_TYPE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### RETURN_TYPES -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionType--"RETURN_TYPES*"-->FunctionTypeRETURN_TYPES[Type]:::outer -``` -### PARAMETERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -FunctionType--"PARAMETERS*"-->FunctionTypePARAMETERS[Type]:::outer -``` -# AnnotationMember -**Labels**:[Node](#enode) [AnnotationMember](#eannotationmember) -## Relationships -[VALUE](#AnnotationMemberVALUE) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### VALUE -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -AnnotationMember--"VALUE¹"-->AnnotationMemberVALUE[Expression]:::outer -``` -# Component -**Labels**:[Node](#enode) [Component](#ecomponent) -## Relationships -[OUTGOING_INTERACTIONS](#ComponentOUTGOING_INTERACTIONS) -[INCOMING_INTERACTIONS](#ComponentINCOMING_INTERACTIONS) -[TRANSLATION_UNITS](#ComponentTRANSLATION_UNITS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### OUTGOING_INTERACTIONS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Component--"OUTGOING_INTERACTIONS*"-->ComponentOUTGOING_INTERACTIONS[Node]:::outer -``` -### INCOMING_INTERACTIONS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Component--"INCOMING_INTERACTIONS*"-->ComponentINCOMING_INTERACTIONS[Node]:::outer -``` -### TRANSLATION_UNITS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Component--"TRANSLATION_UNITS*"-->ComponentTRANSLATION_UNITS[TranslationUnitDeclaration]:::outer -``` -# Annotation -**Labels**:[Node](#enode) [Annotation](#eannotation) -## Relationships -[MEMBERS](#AnnotationMEMBERS) -[DFG](#NodeDFG) -[EOG](#NodeEOG) -[ANNOTATIONS](#NodeANNOTATIONS) -[AST](#NodeAST) -[SCOPE](#NodeSCOPE) -[TYPEDEFS](#NodeTYPEDEFS) -### MEMBERS -```mermaid -flowchart LR - classDef outer fill:#fff,stroke:#ddd,stroke-dasharray:5 5; classDef special fill:#afa,stroke:#5a5,stroke-dasharray:5 5; -Annotation--"MEMBERS*"-->AnnotationMEMBERS[AnnotationMember]:::outer -```