From c3f5dcca7c5616696d20c89cadb7215e78fdf9d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20AMIARD?= Date: Tue, 7 Nov 2023 14:29:59 +0100 Subject: [PATCH 1/4] Remove the 'with' token from formalsubpdecls And put it in the wrapper --- ada/grammar.py | 6 +-- .../generic_formal_subp_body/test.out | 2 +- testsuite/tests/parser/formal_subp_decl/input | 2 +- .../tests/parser/formal_subp_decl/test.out | 12 ++--- .../tests/parser/formal_subp_decl_0/input | 2 +- .../tests/parser/formal_subp_decl_0/test.out | 46 +++++++++---------- testsuite/tests/parser/generic_enum/test.out | 4 +- .../primitive_subp_tagged_type/test.out | 8 ++-- 8 files changed, 41 insertions(+), 41 deletions(-) diff --git a/ada/grammar.py b/ada/grammar.py index 6a6d8e713..f6c937c82 100644 --- a/ada/grammar.py +++ b/ada/grammar.py @@ -412,7 +412,7 @@ def end_named_block(): A.pragma, GenericFormalObjDecl(A.object_decl), GenericFormalTypeDecl(A.formal_type_decl), - GenericFormalSubpDecl(A.formal_subp_decl), + GenericFormalSubpDecl("with", A.formal_subp_decl), GenericFormalPackage("with", A.generic_instantiation) ), @@ -443,13 +443,13 @@ def end_named_block(): formal_subp_decl=Or( AbstractFormalSubpDecl( - "with", Overriding.alt_unspecified(), A.subp_spec, + Overriding.alt_unspecified(), A.subp_spec, "is", res("abstract"), Opt(Or(A.box_expr, A.name, A.null_literal)), A.aspect_spec, sc() ), ConcreteFormalSubpDecl( - "with", Overriding.alt_unspecified(), A.subp_spec, + Overriding.alt_unspecified(), A.subp_spec, Opt("is", Or(A.box_expr, A.name, A.null_literal)), A.aspect_spec, ";" ), diff --git a/testsuite/tests/navigation/generic_formal_subp_body/test.out b/testsuite/tests/navigation/generic_formal_subp_body/test.out index 54db49280..84596e56e 100644 --- a/testsuite/tests/navigation/generic_formal_subp_body/test.out +++ b/testsuite/tests/navigation/generic_formal_subp_body/test.out @@ -1,6 +1,6 @@ foo.ads ####### - has no body + has no body Done. diff --git a/testsuite/tests/parser/formal_subp_decl/input b/testsuite/tests/parser/formal_subp_decl/input index bc03829cc..f243f53f3 100644 --- a/testsuite/tests/parser/formal_subp_decl/input +++ b/testsuite/tests/parser/formal_subp_decl/input @@ -1 +1 @@ -with procedure P is abstract; +procedure P is abstract; diff --git a/testsuite/tests/parser/formal_subp_decl/test.out b/testsuite/tests/parser/formal_subp_decl/test.out index 4a01a2912..0faf35b3b 100644 --- a/testsuite/tests/parser/formal_subp_decl/test.out +++ b/testsuite/tests/parser/formal_subp_decl/test.out @@ -1,14 +1,14 @@ -AbstractFormalSubpDecl[1:1-1:30] +AbstractFormalSubpDecl[1:1-1:25] |f_overriding: -| OverridingUnspecified[1:5-1:5] +| OverridingUnspecified[1:1-1:1] |f_subp_spec: -| SubpSpec[1:6-1:17] +| SubpSpec[1:1-1:12] | |f_subp_kind: -| | SubpKindProcedure[1:6-1:15] +| | SubpKindProcedure[1:1-1:10] | |f_subp_name: -| | DefiningName[1:16-1:17] +| | DefiningName[1:11-1:12] | | |f_name: -| | | Id[1:16-1:17]: P +| | | Id[1:11-1:12]: P | |f_subp_params: | |f_subp_returns: |f_default_expr: diff --git a/testsuite/tests/parser/formal_subp_decl_0/input b/testsuite/tests/parser/formal_subp_decl_0/input index 0b7fc4a51..027cc781c 100644 --- a/testsuite/tests/parser/formal_subp_decl_0/input +++ b/testsuite/tests/parser/formal_subp_decl_0/input @@ -1 +1 @@ -with function Pouet (X, Y: Element_T) return Element_T is abstract <>; \ No newline at end of file +function Pouet (X, Y: Element_T) return Element_T is abstract <>; diff --git a/testsuite/tests/parser/formal_subp_decl_0/test.out b/testsuite/tests/parser/formal_subp_decl_0/test.out index 766279903..5cafbeae5 100644 --- a/testsuite/tests/parser/formal_subp_decl_0/test.out +++ b/testsuite/tests/parser/formal_subp_decl_0/test.out @@ -1,47 +1,47 @@ -AbstractFormalSubpDecl[1:1-1:71] +AbstractFormalSubpDecl[1:1-1:66] |f_overriding: -| OverridingUnspecified[1:5-1:5] +| OverridingUnspecified[1:1-1:1] |f_subp_spec: -| SubpSpec[1:6-1:55] +| SubpSpec[1:1-1:50] | |f_subp_kind: -| | SubpKindFunction[1:6-1:14] +| | SubpKindFunction[1:1-1:9] | |f_subp_name: -| | DefiningName[1:15-1:20] +| | DefiningName[1:10-1:15] | | |f_name: -| | | Id[1:15-1:20]: Pouet +| | | Id[1:10-1:15]: Pouet | |f_subp_params: -| | Params[1:21-1:38] +| | Params[1:16-1:33] | | |f_params: -| | | ParamSpecList[1:22-1:37] -| | | | ParamSpec[1:22-1:37] +| | | ParamSpecList[1:17-1:32] +| | | | ParamSpec[1:17-1:32] | | | | |f_ids: -| | | | | DefiningNameList[1:22-1:26] -| | | | | | DefiningName[1:22-1:23] +| | | | | DefiningNameList[1:17-1:21] +| | | | | | DefiningName[1:17-1:18] | | | | | | |f_name: -| | | | | | | Id[1:22-1:23]: X -| | | | | | DefiningName[1:25-1:26] +| | | | | | | Id[1:17-1:18]: X +| | | | | | DefiningName[1:20-1:21] | | | | | | |f_name: -| | | | | | | Id[1:25-1:26]: Y +| | | | | | | Id[1:20-1:21]: Y | | | | |f_has_aliased: -| | | | | AliasedAbsent[1:27-1:27] +| | | | | AliasedAbsent[1:22-1:22] | | | | |f_mode: -| | | | | ModeDefault[1:27-1:27] +| | | | | ModeDefault[1:22-1:22] | | | | |f_type_expr: -| | | | | SubtypeIndication[1:28-1:37] +| | | | | SubtypeIndication[1:23-1:32] | | | | | |f_has_not_null: -| | | | | | NotNullAbsent[1:27-1:27] +| | | | | | NotNullAbsent[1:22-1:22] | | | | | |f_name: -| | | | | | Id[1:28-1:37]: Element_T +| | | | | | Id[1:23-1:32]: Element_T | | | | | |f_constraint: | | | | |f_default_expr: | | | | |f_aspects: | |f_subp_returns: -| | SubtypeIndication[1:46-1:55] +| | SubtypeIndication[1:41-1:50] | | |f_has_not_null: -| | | NotNullAbsent[1:45-1:45] +| | | NotNullAbsent[1:40-1:40] | | |f_name: -| | | Id[1:46-1:55]: Element_T +| | | Id[1:41-1:50]: Element_T | | |f_constraint: |f_default_expr: -| BoxExpr[1:68-1:70] +| BoxExpr[1:63-1:65] |f_aspects: diff --git a/testsuite/tests/parser/generic_enum/test.out b/testsuite/tests/parser/generic_enum/test.out index 66fa20bd7..0ceec9d69 100644 --- a/testsuite/tests/parser/generic_enum/test.out +++ b/testsuite/tests/parser/generic_enum/test.out @@ -77,7 +77,7 @@ CompilationUnit[1:1-24:10] | | | | | | | AdaNodeList[6:7-7:42] | | | | | | | | GenericFormalSubpDecl[6:7-6:40] | | | | | | | | |f_decl: -| | | | | | | | | ConcreteFormalSubpDecl[6:7-6:40] +| | | | | | | | | ConcreteFormalSubpDecl[6:12-6:40] | | | | | | | | | |f_overriding: | | | | | | | | | | OverridingUnspecified[6:11-6:11] | | | | | | | | | |f_subp_spec: @@ -101,7 +101,7 @@ CompilationUnit[1:1-24:10] | | | | | | | | | |f_aspects: | | | | | | | | GenericFormalSubpDecl[7:7-7:42] | | | | | | | | |f_decl: -| | | | | | | | | ConcreteFormalSubpDecl[7:7-7:42] +| | | | | | | | | ConcreteFormalSubpDecl[7:12-7:42] | | | | | | | | | |f_overriding: | | | | | | | | | | OverridingUnspecified[7:11-7:11] | | | | | | | | | |f_subp_spec: diff --git a/testsuite/tests/properties/primitive_subp_tagged_type/test.out b/testsuite/tests/properties/primitive_subp_tagged_type/test.out index be14002b5..46f762370 100644 --- a/testsuite/tests/properties/primitive_subp_tagged_type/test.out +++ b/testsuite/tests/properties/primitive_subp_tagged_type/test.out @@ -4,14 +4,14 @@ Working on node Eval 'node.p_subp_spec_or_null().p_primitive_subp_tagged_type()' Result: None -Working on node -================================================================= +Working on node +================================================================== Eval 'node.p_subp_spec_or_null().p_primitive_subp_tagged_type()' Result: None -Working on node -================================================================= +Working on node +================================================================== Eval 'node.p_subp_spec_or_null().p_primitive_subp_tagged_type()' Result: None From b990a5a7119b0cdd6e3cab1135453e6469cf2538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20AMIARD?= Date: Tue, 7 Nov 2023 14:30:44 +0100 Subject: [PATCH 2/4] Move xref_entry_point in generic formals Before they were on the formal wrapper, now they're on the wrapped entities, which makes more sense. Also clean up xref code for incomplete formal types. --- ada/ast.py | 15 +------ .../attr_function_renaming/test.adb | 2 +- .../attr_function_renaming/test.out | 20 +++++++++- .../formal_pkg_with_box_expr/test.out | 4 -- .../formal_procedure_with_default/test.adb | 2 +- .../formal_procedure_with_default/test.out | 16 +++++++- .../generic_formal_subp_decl/test.adb | 4 +- .../generic_formal_subp_decl/test.out | 40 +++++++++++++++++-- .../generic_subp_named_param_2/test.out | 16 ++++---- .../incomplete_type_decl/test.adb | 6 +-- .../incomplete_type_decl/test.out | 16 -------- .../prepost_formal_subp/test.out | 4 ++ 12 files changed, 89 insertions(+), 56 deletions(-) diff --git a/ada/ast.py b/ada/ast.py index b7c81cbc2..10e882434 100644 --- a/ada/ast.py +++ b/ada/ast.py @@ -12914,6 +12914,7 @@ class FormalSubpDecl(ClassicSubpDecl): defining_names = Property(Entity.subp_spec.name.singleton) + xref_entry_point = Property(True) xref_equation = Property( Entity.default_expr.then(lambda e: e.match( lambda _=T.NullLiteral: LogicTrue(), @@ -13070,9 +13071,6 @@ class GenericFormal(BaseFormalParamDecl): defining_names = Property(Entity.decl.defining_names) type_expression = Property(Entity.decl.type_expression) - xref_entry_point = Property(True) - xref_equation = Property(Entity.decl.xref_equation) - class GenericFormalObjDecl(GenericFormal): """ @@ -23738,9 +23736,6 @@ def discriminants_list( ignore(stop_recurse_at) return Entity.discriminants.abstract_formal_params - xref_stop_resolution = Property(True) - xref_equation = Property(LogicTrue()) - class IncompleteTaggedTypeDecl(IncompleteTypeDecl): """ @@ -23760,13 +23755,7 @@ class IncompleteFormalTypeDecl(IncompleteTypeDecl): default_type = Field(type=T.Name) is_tagged_type = Property(Not(Self.is_tagged.is_null)) - - xref_stop_resolution = Property(Self.default_type.is_null) - xref_equation = Property(If( - Entity.xref_stop_resolution, - Entity.super(), - Entity.default_type.sub_equation - )) + xref_equation = Property(Entity.default_type.sub_equation) class Params(AdaNode): diff --git a/testsuite/tests/name_resolution/attr_function_renaming/test.adb b/testsuite/tests/name_resolution/attr_function_renaming/test.adb index 385c9754b..5ef34bd3d 100644 --- a/testsuite/tests/name_resolution/attr_function_renaming/test.adb +++ b/testsuite/tests/name_resolution/attr_function_renaming/test.adb @@ -4,7 +4,7 @@ procedure Test is generic with procedure Bar (X : Integer) return String is Integer'Image; - pragma Test_Statement; + pragma Test_Block; package Test is end Test; begin diff --git a/testsuite/tests/name_resolution/attr_function_renaming/test.out b/testsuite/tests/name_resolution/attr_function_renaming/test.out index a7bba7344..423be9cee 100644 --- a/testsuite/tests/name_resolution/attr_function_renaming/test.out +++ b/testsuite/tests/name_resolution/attr_function_renaming/test.out @@ -17,8 +17,8 @@ Expr: type: None expected type: None -Resolving xrefs for node -************************************************************************** +Resolving xrefs for node +**************************************************************************** Expr: references: @@ -33,5 +33,21 @@ Expr: type: None expected type: None +Resolving xrefs for node +****************************************************** + +Expr: + references: + type: None + expected type: None + +Resolving xrefs for node +************************************************************* + +Expr: + references: + type: None + expected type: None + Done. diff --git a/testsuite/tests/name_resolution/formal_pkg_with_box_expr/test.out b/testsuite/tests/name_resolution/formal_pkg_with_box_expr/test.out index 834dc201b..d7d18b9d7 100644 --- a/testsuite/tests/name_resolution/formal_pkg_with_box_expr/test.out +++ b/testsuite/tests/name_resolution/formal_pkg_with_box_expr/test.out @@ -1,10 +1,6 @@ Analyzing test.adb ################## -Resolving xrefs for node -**************************************************************************** - - Resolving xrefs for node ************************************************************************************ diff --git a/testsuite/tests/name_resolution/formal_procedure_with_default/test.adb b/testsuite/tests/name_resolution/formal_procedure_with_default/test.adb index 5d82fd4d8..873350ce2 100644 --- a/testsuite/tests/name_resolution/formal_procedure_with_default/test.adb +++ b/testsuite/tests/name_resolution/formal_procedure_with_default/test.adb @@ -11,7 +11,7 @@ procedure What is type T is private; with package Bla is new Boo (T); with procedure Whatever (Self : T) is Bla.Baa; - pragma Test_Statement; + pragma Test_Block; package Wat is end Wat; begin diff --git a/testsuite/tests/name_resolution/formal_procedure_with_default/test.out b/testsuite/tests/name_resolution/formal_procedure_with_default/test.out index adc482fce..31d51d5a1 100644 --- a/testsuite/tests/name_resolution/formal_procedure_with_default/test.out +++ b/testsuite/tests/name_resolution/formal_procedure_with_default/test.out @@ -1,8 +1,8 @@ Analyzing test.adb ################## -Resolving xrefs for node -********************************************************************************* +Resolving xrefs for node +*********************************************************************************** Expr: references: <| DefiningName "Baa" test.adb:7:17-7:20 [test.adb:12:12] |> @@ -17,5 +17,17 @@ Expr: type: None expected type: None +Resolving xrefs for node +******************************************************** + + +Resolving xrefs for node +****************************************************************** + +Expr: + references: + type: None + expected type: None + Done. diff --git a/testsuite/tests/name_resolution/generic_formal_subp_decl/test.adb b/testsuite/tests/name_resolution/generic_formal_subp_decl/test.adb index 0dbd4487d..1a1e46625 100644 --- a/testsuite/tests/name_resolution/generic_formal_subp_decl/test.adb +++ b/testsuite/tests/name_resolution/generic_formal_subp_decl/test.adb @@ -2,9 +2,9 @@ procedure Test is generic type T is (<>); with function FI (I: T) return String is T'Image; - pragma Test_Statement; + pragma Test_Block; with function FV (S: String) return T is T'Value; - pragma Test_Statement; + pragma Test_Block; package P is procedure P is null; end P; diff --git a/testsuite/tests/name_resolution/generic_formal_subp_decl/test.out b/testsuite/tests/name_resolution/generic_formal_subp_decl/test.out index 5713b062d..2e35f2cd3 100644 --- a/testsuite/tests/name_resolution/generic_formal_subp_decl/test.out +++ b/testsuite/tests/name_resolution/generic_formal_subp_decl/test.out @@ -1,8 +1,8 @@ Analyzing test.adb ################## -Resolving xrefs for node -************************************************************************* +Resolving xrefs for node +*************************************************************************** Expr: references: @@ -17,8 +17,24 @@ Expr: type: None expected type: None -Resolving xrefs for node -************************************************************************* +Resolving xrefs for node +****************************************************** + +Expr: + references: + type: None + expected type: None + +Resolving xrefs for node +************************************************************* + +Expr: + references: + type: None + expected type: None + +Resolving xrefs for node +*************************************************************************** Expr: references: @@ -33,5 +49,21 @@ Expr: type: None expected type: None +Resolving xrefs for node +****************************************************** + +Expr: + references: + type: None + expected type: None + +Resolving xrefs for node +************************************************************* + +Expr: + references: + type: None + expected type: None + Done. diff --git a/testsuite/tests/name_resolution/generic_subp_named_param_2/test.out b/testsuite/tests/name_resolution/generic_subp_named_param_2/test.out index 2c5df5fa5..b342001e0 100644 --- a/testsuite/tests/name_resolution/generic_subp_named_param_2/test.out +++ b/testsuite/tests/name_resolution/generic_subp_named_param_2/test.out @@ -15,8 +15,8 @@ Expr: Traversing generic node <| GenericSubpDecl ["Gen"] test.adb:2:4-4:18 [test.adb:15:4] |> *************************************************************************************** -Resolving xrefs for node <| GenericFormalSubpDecl ["Foo"] test.adb:3:7-3:46 [test.adb:15:4] |> -********************************************************************************************** +Resolving xrefs for node <| ConcreteFormalSubpDecl ["Foo"] test.adb:3:12-3:46 [test.adb:15:4] |> +************************************************************************************************ Resolving xrefs for node <| SubpSpec test.adb:3:12-3:45 [test.adb:15:4] |> @@ -121,8 +121,8 @@ Expr: Traversing generic node <| GenericSubpDecl ["G2"] test_2.adb:11:4-13:17 [test_2.adb:23:4] |> ******************************************************************************************** -Resolving xrefs for node <| GenericFormalSubpDecl ["Bar"] test_2.adb:12:7-12:40 [test_2.adb:23:4] |> -**************************************************************************************************** +Resolving xrefs for node <| ConcreteFormalSubpDecl ["Bar"] test_2.adb:12:12-12:40 [test_2.adb:23:4] |> +****************************************************************************************************** Resolving xrefs for node <| SubpSpec test_2.adb:12:12-12:39 [test_2.adb:23:4] |> @@ -162,8 +162,8 @@ Expr: <| Id "Bar" test_2.adb:16:31-16:34 [test_2.adb:23:4] |> Traversing generic node <| GenericSubpDecl ["G1"] test_2.adb:2:4-4:17 [test_2.adb:23:4, test_2.adb:16:7] |> *********************************************************************************************************** -Resolving xrefs for node <| GenericFormalSubpDecl ["Foo"] test_2.adb:3:7-3:40 [test_2.adb:23:4, test_2.adb:16:7] |> -******************************************************************************************************************* +Resolving xrefs for node <| ConcreteFormalSubpDecl ["Foo"] test_2.adb:3:12-3:40 [test_2.adb:23:4, test_2.adb:16:7] |> +********************************************************************************************************************* Resolving xrefs for node <| SubpSpec test_2.adb:3:12-3:39 [test_2.adb:23:4, test_2.adb:16:7] |> @@ -261,8 +261,8 @@ Expr: Traversing generic node <| GenericSubpDecl ["Gen"] test_3.adb:4:4-6:18 [test_3.adb:15:4] |> ******************************************************************************************* -Resolving xrefs for node <| GenericFormalSubpDecl ["Foo"] test_3.adb:5:7-5:43 [test_3.adb:15:4] |> -************************************************************************************************** +Resolving xrefs for node <| ConcreteFormalSubpDecl ["Foo"] test_3.adb:5:12-5:43 [test_3.adb:15:4] |> +**************************************************************************************************** Resolving xrefs for node <| SubpSpec test_3.adb:5:12-5:42 [test_3.adb:15:4] |> diff --git a/testsuite/tests/name_resolution/incomplete_type_decl/test.adb b/testsuite/tests/name_resolution/incomplete_type_decl/test.adb index 3b1d06d99..11af39ff6 100644 --- a/testsuite/tests/name_resolution/incomplete_type_decl/test.adb +++ b/testsuite/tests/name_resolution/incomplete_type_decl/test.adb @@ -2,14 +2,14 @@ procedure Test is generic type T; - pragma Test_Statement; + pragma Test_Block; -- A generic formal incomplete type decl: nothing to resolve package P1 is end P1; package P2 is type T; - pragma Test_Statement; + pragma Test_Block; -- An incomplete type decl: nothing to resolve type T is new Integer; @@ -19,7 +19,7 @@ procedure Test is type T is tagged or use Positive; -- Interestingly, this formal incomplete type decl is not accepted by -- GNAT without the `is tagged` keywords, but the RM (12.5) allows it. - pragma Test_Statement; + pragma Test_Block; -- A generic formal incomplete type decl with a default value (an Ada -- 2022 feature): resolve the identifier referring to the default type -- to use. diff --git a/testsuite/tests/name_resolution/incomplete_type_decl/test.out b/testsuite/tests/name_resolution/incomplete_type_decl/test.out index 6f7f04b46..70eb7953b 100644 --- a/testsuite/tests/name_resolution/incomplete_type_decl/test.out +++ b/testsuite/tests/name_resolution/incomplete_type_decl/test.out @@ -1,21 +1,5 @@ Analyzing test.adb ################## -Resolving xrefs for node -************************************************************************ - - -Resolving xrefs for node -*********************************************************************** - - -Resolving xrefs for node -************************************************************************** - -Expr: - references: - type: - expected type: None - Done. diff --git a/testsuite/tests/name_resolution/prepost_formal_subp/test.out b/testsuite/tests/name_resolution/prepost_formal_subp/test.out index 50797c1e1..48bef51f3 100644 --- a/testsuite/tests/name_resolution/prepost_formal_subp/test.out +++ b/testsuite/tests/name_resolution/prepost_formal_subp/test.out @@ -1,6 +1,10 @@ Analyzing pp_formal.ads ####################### +Resolving xrefs for node +****************************************************************************** + + Resolving xrefs for node ********************************************************** From 3e0586f82fce0c98a77a17b3b5a69c1e951eceff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20AMIARD?= Date: Tue, 7 Nov 2023 14:33:37 +0100 Subject: [PATCH 3/4] Implement defaults for generic formal functions --- ada/grammar.py | 3 ++ .../generic_formal_fn_default_val/test.ads | 6 ++++ .../generic_formal_fn_default_val/test.out | 32 +++++++++++++++++++ .../generic_formal_fn_default_val/test.yaml | 2 ++ 4 files changed, 43 insertions(+) create mode 100644 testsuite/tests/name_resolution/generic_formal_fn_default_val/test.ads create mode 100644 testsuite/tests/name_resolution/generic_formal_fn_default_val/test.out create mode 100644 testsuite/tests/name_resolution/generic_formal_fn_default_val/test.yaml diff --git a/ada/grammar.py b/ada/grammar.py index f6c937c82..d947073c0 100644 --- a/ada/grammar.py +++ b/ada/grammar.py @@ -453,6 +453,9 @@ def end_named_block(): Opt("is", Or(A.box_expr, A.name, A.null_literal)), A.aspect_spec, ";" ), + # In the case of generic formal functions with a default expression, we + # just use an expression function node. + A.expr_fn, ), renaming_clause=RenamingClause("renames", A.name), diff --git a/testsuite/tests/name_resolution/generic_formal_fn_default_val/test.ads b/testsuite/tests/name_resolution/generic_formal_fn_default_val/test.ads new file mode 100644 index 000000000..4f4e2dee9 --- /dev/null +++ b/testsuite/tests/name_resolution/generic_formal_fn_default_val/test.ads @@ -0,0 +1,6 @@ +generic + type T; + with function Copy (Self : T) return T is (Self); + pragma Test_Block; +package Test is +end Test; diff --git a/testsuite/tests/name_resolution/generic_formal_fn_default_val/test.out b/testsuite/tests/name_resolution/generic_formal_fn_default_val/test.out new file mode 100644 index 000000000..a03b01745 --- /dev/null +++ b/testsuite/tests/name_resolution/generic_formal_fn_default_val/test.out @@ -0,0 +1,32 @@ +Analyzing test.ads +################## + +Resolving xrefs for node +****************************************************************** + +Expr: + type: + expected type: +Expr: + references: + type: + expected type: + +Resolving xrefs for node +***************************************************** + +Expr: + references: + type: None + expected type: None + +Resolving xrefs for node +**************************************************************** + +Expr: + references: + type: None + expected type: None + + +Done. diff --git a/testsuite/tests/name_resolution/generic_formal_fn_default_val/test.yaml b/testsuite/tests/name_resolution/generic_formal_fn_default_val/test.yaml new file mode 100644 index 000000000..4191d1d2a --- /dev/null +++ b/testsuite/tests/name_resolution/generic_formal_fn_default_val/test.yaml @@ -0,0 +1,2 @@ +driver: name-resolution +input_sources: [test.ads] From fe467e5f96ca33ed6df4fc09c0631dae323d059c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Th=C3=A9venoux?= Date: Tue, 9 Apr 2024 11:56:01 +0200 Subject: [PATCH 4/4] Ada unparser to defaults for generic formal functions changes --- extensions/default_unparsing_config.json | 78 +- .../doc-baseline.json | 216 +- .../non_empty_formal_part/doc-baseline.json | 2886 +++++++++-------- .../non_empty_formal_part/doc-baseline.json | 2752 ++++++++-------- 4 files changed, 2978 insertions(+), 2954 deletions(-) diff --git a/extensions/default_unparsing_config.json b/extensions/default_unparsing_config.json index 91cce8291..73a4208d3 100644 --- a/extensions/default_unparsing_config.json +++ b/extensions/default_unparsing_config.json @@ -1170,38 +1170,29 @@ }, "ConcreteFormalSubpDecl": { "node": { - "kind": "align", - "width": 2, - "contents": { - "kind": "group", - "document": [ - { - "kind": "text", - "text": "with" - }, - "line", - { - "kind": "recurse_field", - "field": "f_overriding" - }, - { - "kind": "recurse_field", - "field": "f_subp_spec" - }, - { - "kind": "recurse_field", - "field": "f_default_expr" - }, - { - "kind": "recurse_field", - "field": "f_aspects" - }, - { - "kind": "text", - "text": ";" - } - ] - } + "kind": "group", + "document": [ + { + "kind": "recurse_field", + "field": "f_overriding" + }, + { + "kind": "recurse_field", + "field": "f_subp_spec" + }, + { + "kind": "recurse_field", + "field": "f_default_expr" + }, + { + "kind": "recurse_field", + "field": "f_aspects" + }, + { + "kind": "text", + "text": ";" + } + ] }, "fields": { "f_aspects": [ @@ -2581,13 +2572,22 @@ }, "GenericFormalSubpDecl": { "node": { - "kind": "group", - "document": [ - { - "kind": "recurse_field", - "field": "f_decl" - } - ] + "kind": "align", + "width": 2, + "contents": { + "kind": "group", + "document": [ + { + "kind": "text", + "text": "with" + }, + "line", + { + "kind": "recurse_field", + "field": "f_decl" + } + ] + } } }, "GenericFormalTypeDecl": { diff --git a/testsuite/tests/unparsing/generic_formal_subp_decl/doc-baseline.json b/testsuite/tests/unparsing/generic_formal_subp_decl/doc-baseline.json index 5b549638d..5e82207cb 100644 --- a/testsuite/tests/unparsing/generic_formal_subp_decl/doc-baseline.json +++ b/testsuite/tests/unparsing/generic_formal_subp_decl/doc-baseline.json @@ -1,105 +1,111 @@ -{ - "id": 12, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 11, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 10, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 9, - "kind": "list", - "list": [ - { - "id": 0, - "kind": "text", - "text": "with" - }, - { - "id": 1, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 7, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 6, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 5, - "kind": "list", - "list": [ - { - "id": 2, - "kind": "text", - "text": "procedure Foo" - }, - { - "id": 4, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 3, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - { - "id": 8, - "kind": "text", - "text": " is Bar;" - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - "break": false, - "expandedStates": null - } -} +{ + "id": 13, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 12, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 11, + "kind": "list", + "list": [ + { + "id": 0, + "kind": "text", + "text": "with" + }, + { + "id": 1, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 10, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 9, + "kind": "list", + "list": [ + { + "id": 7, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 6, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 5, + "kind": "list", + "list": [ + { + "id": 2, + "kind": "text", + "text": "procedure Foo" + }, + { + "id": 4, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 3, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + { + "id": 8, + "kind": "text", + "text": " is Bar;" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } +} diff --git a/testsuite/tests/unparsing/generic_package_decl/non_empty_formal_part/doc-baseline.json b/testsuite/tests/unparsing/generic_package_decl/non_empty_formal_part/doc-baseline.json index 1ffb7a7cf..ed47b7ae3 100644 --- a/testsuite/tests/unparsing/generic_package_decl/non_empty_formal_part/doc-baseline.json +++ b/testsuite/tests/unparsing/generic_package_decl/non_empty_formal_part/doc-baseline.json @@ -1,1437 +1,1449 @@ -{ - "id": 179, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 178, - "kind": "list", - "list": [ - { - "id": 101, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 100, - "kind": "list", - "list": [ - { - "id": 0, - "kind": "text", - "text": "generic" - }, - { - "id": 99, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 98, - "kind": "command", - "command": { - "command": "indent", - "indentContents": { - "id": 97, - "kind": "list", - "list": [ - { - "id": 3, - "kind": "list", - "list": [ - { - "id": 1, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": true - } - }, - { - "id": 2, - "kind": "command", - "command": { - "command": "breakParent" - } - } - ] - }, - { - "id": 48, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 47, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 46, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 45, - "kind": "list", - "list": [ - { - "id": 4, - "kind": "text", - "text": "with" - }, - { - "id": 5, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 43, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 42, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 41, - "kind": "list", - "list": [ - { - "id": 6, - "kind": "text", - "text": "function Bar" - }, - { - "id": 40, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 39, - "kind": "list", - "list": [ - { - "id": 7, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 33, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 32, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 1 - }, - "alignContents": { - "id": 31, - "kind": "list", - "list": [ - { - "id": 8, - "kind": "text", - "text": "(" - }, - { - "id": 29, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "innerRoot" - }, - "alignContents": { - "id": 28, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 27, - "kind": "list", - "list": [ - { - "id": 19, - "kind": "command", - "command": { - "command": "group", - "id": 1, - "groupContents": { - "id": 18, - "kind": "list", - "list": [ - { - "id": 10, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 9, - "kind": "text", - "text": "Baz" - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 11, - "kind": "text", - "text": " :" - }, - { - "id": 17, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 16, - "kind": "list", - "list": [ - { - "id": 12, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 15, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 14, - "kind": "list", - "list": [ - { - "id": 13, - "kind": "text", - "text": "Foo" - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 26, - "kind": "command", - "command": { - "command": "ifBreak", - "ifBreakGroupId": 1, - "breakContents": { - "id": 22, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 4 - }, - "alignContents": { - "id": 21, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 20, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - "flatContents": { - "id": 25, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 24, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 23, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - { - "id": 30, - "kind": "text", - "text": ")" - } - ] - } - } - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 38, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 1 - }, - "alignContents": { - "id": 37, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 36, - "kind": "list", - "list": [ - { - "id": 34, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 35, - "kind": "text", - "text": "return Boolean" - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - { - "id": 44, - "kind": "text", - "text": ";" - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 51, - "kind": "list", - "list": [ - { - "id": 49, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": true - } - }, - { - "id": 50, - "kind": "command", - "command": { - "command": "breakParent" - } - } - ] - }, - { - "id": 96, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 95, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 94, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 93, - "kind": "list", - "list": [ - { - "id": 52, - "kind": "text", - "text": "with" - }, - { - "id": 53, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 91, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 90, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 89, - "kind": "list", - "list": [ - { - "id": 54, - "kind": "text", - "text": "function Baz" - }, - { - "id": 88, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 87, - "kind": "list", - "list": [ - { - "id": 55, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 81, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 80, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 1 - }, - "alignContents": { - "id": 79, - "kind": "list", - "list": [ - { - "id": 56, - "kind": "text", - "text": "(" - }, - { - "id": 77, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "innerRoot" - }, - "alignContents": { - "id": 76, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 75, - "kind": "list", - "list": [ - { - "id": 67, - "kind": "command", - "command": { - "command": "group", - "id": 1, - "groupContents": { - "id": 66, - "kind": "list", - "list": [ - { - "id": 58, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 57, - "kind": "text", - "text": "Qux" - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 59, - "kind": "text", - "text": " :" - }, - { - "id": 65, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 64, - "kind": "list", - "list": [ - { - "id": 60, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 63, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 62, - "kind": "list", - "list": [ - { - "id": 61, - "kind": "text", - "text": "Foo" - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 74, - "kind": "command", - "command": { - "command": "ifBreak", - "ifBreakGroupId": 1, - "breakContents": { - "id": 70, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 4 - }, - "alignContents": { - "id": 69, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 68, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - "flatContents": { - "id": 73, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 72, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 71, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - { - "id": 78, - "kind": "text", - "text": ")" - } - ] - } - } - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 86, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 1 - }, - "alignContents": { - "id": 85, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 84, - "kind": "list", - "list": [ - { - "id": 82, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 83, - "kind": "text", - "text": "return Boolean" - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - { - "id": 92, - "kind": "text", - "text": ";" - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - "break": false, - "expandedStates": null - } - } - ] - } - } - }, - "break": true, - "expandedStates": null - } - } - ] - }, - "break": true, - "expandedStates": null - } - }, - { - "id": 104, - "kind": "list", - "list": [ - { - "id": 102, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": true - } - }, - { - "id": 103, - "kind": "command", - "command": { - "command": "breakParent" - } - } - ] - }, - { - "id": 121, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 120, - "kind": "list", - "list": [ - { - "id": 117, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 116, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 115, - "kind": "list", - "list": [ - { - "id": 105, - "kind": "text", - "text": "package " - }, - { - "id": 112, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "innerRoot" - }, - "alignContents": { - "id": 111, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 110, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 109, - "kind": "list", - "list": [ - { - "id": 106, - "kind": "text", - "text": "Corge" - }, - { - "id": 107, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": true, - "hard": false - } - }, - { - "id": 108, - "kind": "text", - "text": ".Fred" - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - } - }, - { - "id": 114, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 113, - "kind": "list", - "list": [ - ] - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 118, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 119, - "kind": "text", - "text": "is" - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 165, - "kind": "command", - "command": { - "command": "indent", - "indentContents": { - "id": 164, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 163, - "kind": "list", - "list": [ - { - "id": 124, - "kind": "list", - "list": [ - { - "id": 122, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": true - } - }, - { - "id": 123, - "kind": "command", - "command": { - "command": "breakParent" - } - } - ] - }, - { - "id": 162, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 161, - "kind": "list", - "list": [ - { - "id": 159, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 158, - "kind": "list", - "list": [ - { - "id": 157, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 156, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 155, - "kind": "list", - "list": [ - { - "id": 125, - "kind": "text", - "text": "procedure Garply" - }, - { - "id": 154, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 153, - "kind": "list", - "list": [ - { - "id": 126, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 152, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 151, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 1 - }, - "alignContents": { - "id": 150, - "kind": "list", - "list": [ - { - "id": 127, - "kind": "text", - "text": "(" - }, - { - "id": 148, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "innerRoot" - }, - "alignContents": { - "id": 147, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 146, - "kind": "list", - "list": [ - { - "id": 138, - "kind": "command", - "command": { - "command": "group", - "id": 1, - "groupContents": { - "id": 137, - "kind": "list", - "list": [ - { - "id": 129, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 128, - "kind": "text", - "text": "G" - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 130, - "kind": "text", - "text": " :" - }, - { - "id": 136, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 135, - "kind": "list", - "list": [ - { - "id": 131, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 134, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 133, - "kind": "list", - "list": [ - { - "id": 132, - "kind": "text", - "text": "Foo" - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 145, - "kind": "command", - "command": { - "command": "ifBreak", - "ifBreakGroupId": 1, - "breakContents": { - "id": 141, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 4 - }, - "alignContents": { - "id": 140, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 139, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - "flatContents": { - "id": 144, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 143, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 142, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - { - "id": 149, - "kind": "text", - "text": ")" - } - ] - } - } - }, - "break": false, - "expandedStates": null - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 160, - "kind": "text", - "text": ";" - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - }, - "break": true, - "expandedStates": null - } - } - } - }, - { - "id": 168, - "kind": "list", - "list": [ - { - "id": 166, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": true - } - }, - { - "id": 167, - "kind": "command", - "command": { - "command": "breakParent" - } - } - ] - }, - { - "id": 169, - "kind": "text", - "text": "end" - }, - { - "id": 176, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "innerRoot" - }, - "alignContents": { - "id": 175, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 174, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 173, - "kind": "list", - "list": [ - { - "id": 170, - "kind": "text", - "text": " GNATfuzz" - }, - { - "id": 171, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": true, - "hard": false - } - }, - { - "id": 172, - "kind": "text", - "text": ".AFL_Seed_Data_Chunks" - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - } - }, - { - "id": 177, - "kind": "text", - "text": ";" - } - ] - }, - "break": true, - "expandedStates": null - } -} +{ + "id": 181, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 180, + "kind": "list", + "list": [ + { + "id": 103, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 102, + "kind": "list", + "list": [ + { + "id": 0, + "kind": "text", + "text": "generic" + }, + { + "id": 101, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 100, + "kind": "command", + "command": { + "command": "indent", + "indentContents": { + "id": 99, + "kind": "list", + "list": [ + { + "id": 3, + "kind": "list", + "list": [ + { + "id": 1, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": true + } + }, + { + "id": 2, + "kind": "command", + "command": { + "command": "breakParent" + } + } + ] + }, + { + "id": 49, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 48, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 47, + "kind": "list", + "list": [ + { + "id": 4, + "kind": "text", + "text": "with" + }, + { + "id": 5, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 46, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 45, + "kind": "list", + "list": [ + { + "id": 43, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 42, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 41, + "kind": "list", + "list": [ + { + "id": 6, + "kind": "text", + "text": "function Bar" + }, + { + "id": 40, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 39, + "kind": "list", + "list": [ + { + "id": 7, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 33, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 32, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 1 + }, + "alignContents": { + "id": 31, + "kind": "list", + "list": [ + { + "id": 8, + "kind": "text", + "text": "(" + }, + { + "id": 29, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "innerRoot" + }, + "alignContents": { + "id": 28, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 27, + "kind": "list", + "list": [ + { + "id": 19, + "kind": "command", + "command": { + "command": "group", + "id": 1, + "groupContents": { + "id": 18, + "kind": "list", + "list": [ + { + "id": 10, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 9, + "kind": "text", + "text": "Baz" + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 11, + "kind": "text", + "text": " :" + }, + { + "id": 17, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 16, + "kind": "list", + "list": [ + { + "id": 12, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 15, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 14, + "kind": "list", + "list": [ + { + "id": 13, + "kind": "text", + "text": "Foo" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 26, + "kind": "command", + "command": { + "command": "ifBreak", + "ifBreakGroupId": 1, + "breakContents": { + "id": 22, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 4 + }, + "alignContents": { + "id": 21, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 20, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + "flatContents": { + "id": 25, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 24, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 23, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + { + "id": 30, + "kind": "text", + "text": ")" + } + ] + } + } + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 38, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 1 + }, + "alignContents": { + "id": 37, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 36, + "kind": "list", + "list": [ + { + "id": 34, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 35, + "kind": "text", + "text": "return Boolean" + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + { + "id": 44, + "kind": "text", + "text": ";" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + { + "id": 52, + "kind": "list", + "list": [ + { + "id": 50, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": true + } + }, + { + "id": 51, + "kind": "command", + "command": { + "command": "breakParent" + } + } + ] + }, + { + "id": 98, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 97, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 96, + "kind": "list", + "list": [ + { + "id": 53, + "kind": "text", + "text": "with" + }, + { + "id": 54, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 95, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 94, + "kind": "list", + "list": [ + { + "id": 92, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 91, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 90, + "kind": "list", + "list": [ + { + "id": 55, + "kind": "text", + "text": "function Baz" + }, + { + "id": 89, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 88, + "kind": "list", + "list": [ + { + "id": 56, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 82, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 81, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 1 + }, + "alignContents": { + "id": 80, + "kind": "list", + "list": [ + { + "id": 57, + "kind": "text", + "text": "(" + }, + { + "id": 78, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "innerRoot" + }, + "alignContents": { + "id": 77, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 76, + "kind": "list", + "list": [ + { + "id": 68, + "kind": "command", + "command": { + "command": "group", + "id": 1, + "groupContents": { + "id": 67, + "kind": "list", + "list": [ + { + "id": 59, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 58, + "kind": "text", + "text": "Qux" + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 60, + "kind": "text", + "text": " :" + }, + { + "id": 66, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 65, + "kind": "list", + "list": [ + { + "id": 61, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 64, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 63, + "kind": "list", + "list": [ + { + "id": 62, + "kind": "text", + "text": "Foo" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 75, + "kind": "command", + "command": { + "command": "ifBreak", + "ifBreakGroupId": 1, + "breakContents": { + "id": 71, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 4 + }, + "alignContents": { + "id": 70, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 69, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + "flatContents": { + "id": 74, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 73, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 72, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + { + "id": 79, + "kind": "text", + "text": ")" + } + ] + } + } + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 87, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 1 + }, + "alignContents": { + "id": 86, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 85, + "kind": "list", + "list": [ + { + "id": 83, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 84, + "kind": "text", + "text": "return Boolean" + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + { + "id": 93, + "kind": "text", + "text": ";" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + ] + } + } + }, + "break": true, + "expandedStates": null + } + } + ] + }, + "break": true, + "expandedStates": null + } + }, + { + "id": 106, + "kind": "list", + "list": [ + { + "id": 104, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": true + } + }, + { + "id": 105, + "kind": "command", + "command": { + "command": "breakParent" + } + } + ] + }, + { + "id": 123, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 122, + "kind": "list", + "list": [ + { + "id": 119, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 118, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 117, + "kind": "list", + "list": [ + { + "id": 107, + "kind": "text", + "text": "package " + }, + { + "id": 114, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "innerRoot" + }, + "alignContents": { + "id": 113, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 112, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 111, + "kind": "list", + "list": [ + { + "id": 108, + "kind": "text", + "text": "Corge" + }, + { + "id": 109, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": true, + "hard": false + } + }, + { + "id": 110, + "kind": "text", + "text": ".Fred" + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + } + }, + { + "id": 116, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 115, + "kind": "list", + "list": [ + ] + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 120, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 121, + "kind": "text", + "text": "is" + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 167, + "kind": "command", + "command": { + "command": "indent", + "indentContents": { + "id": 166, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 165, + "kind": "list", + "list": [ + { + "id": 126, + "kind": "list", + "list": [ + { + "id": 124, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": true + } + }, + { + "id": 125, + "kind": "command", + "command": { + "command": "breakParent" + } + } + ] + }, + { + "id": 164, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 163, + "kind": "list", + "list": [ + { + "id": 161, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 160, + "kind": "list", + "list": [ + { + "id": 159, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 158, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 157, + "kind": "list", + "list": [ + { + "id": 127, + "kind": "text", + "text": "procedure Garply" + }, + { + "id": 156, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 155, + "kind": "list", + "list": [ + { + "id": 128, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 154, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 153, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 1 + }, + "alignContents": { + "id": 152, + "kind": "list", + "list": [ + { + "id": 129, + "kind": "text", + "text": "(" + }, + { + "id": 150, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "innerRoot" + }, + "alignContents": { + "id": 149, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 148, + "kind": "list", + "list": [ + { + "id": 140, + "kind": "command", + "command": { + "command": "group", + "id": 1, + "groupContents": { + "id": 139, + "kind": "list", + "list": [ + { + "id": 131, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 130, + "kind": "text", + "text": "G" + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 132, + "kind": "text", + "text": " :" + }, + { + "id": 138, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 137, + "kind": "list", + "list": [ + { + "id": 133, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 136, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 135, + "kind": "list", + "list": [ + { + "id": 134, + "kind": "text", + "text": "Foo" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 147, + "kind": "command", + "command": { + "command": "ifBreak", + "ifBreakGroupId": 1, + "breakContents": { + "id": 143, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 4 + }, + "alignContents": { + "id": 142, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 141, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + "flatContents": { + "id": 146, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 145, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 144, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + { + "id": 151, + "kind": "text", + "text": ")" + } + ] + } + } + }, + "break": false, + "expandedStates": null + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 162, + "kind": "text", + "text": ";" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + }, + "break": true, + "expandedStates": null + } + } + } + }, + { + "id": 170, + "kind": "list", + "list": [ + { + "id": 168, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": true + } + }, + { + "id": 169, + "kind": "command", + "command": { + "command": "breakParent" + } + } + ] + }, + { + "id": 171, + "kind": "text", + "text": "end" + }, + { + "id": 178, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "innerRoot" + }, + "alignContents": { + "id": 177, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 176, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 175, + "kind": "list", + "list": [ + { + "id": 172, + "kind": "text", + "text": " GNATfuzz" + }, + { + "id": 173, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": true, + "hard": false + } + }, + { + "id": 174, + "kind": "text", + "text": ".AFL_Seed_Data_Chunks" + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + } + }, + { + "id": 179, + "kind": "text", + "text": ";" + } + ] + }, + "break": true, + "expandedStates": null + } +} diff --git a/testsuite/tests/unparsing/generic_subp_decl/non_empty_formal_part/doc-baseline.json b/testsuite/tests/unparsing/generic_subp_decl/non_empty_formal_part/doc-baseline.json index e38a06c90..8bf175a51 100644 --- a/testsuite/tests/unparsing/generic_subp_decl/non_empty_formal_part/doc-baseline.json +++ b/testsuite/tests/unparsing/generic_subp_decl/non_empty_formal_part/doc-baseline.json @@ -1,1373 +1,1379 @@ -{ - "id": 171, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 170, - "kind": "list", - "list": [ - { - "id": 82, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 81, - "kind": "list", - "list": [ - { - "id": 0, - "kind": "text", - "text": "generic" - }, - { - "id": 80, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 79, - "kind": "command", - "command": { - "command": "indent", - "indentContents": { - "id": 78, - "kind": "list", - "list": [ - { - "id": 3, - "kind": "list", - "list": [ - { - "id": 1, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": true - } - }, - { - "id": 2, - "kind": "command", - "command": { - "command": "breakParent" - } - } - ] - }, - { - "id": 6, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 5, - "kind": "list", - "list": [ - { - "id": 4, - "kind": "text", - "text": "type Foo_Bar_Baz is private;" - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 9, - "kind": "list", - "list": [ - { - "id": 7, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": true - } - }, - { - "id": 8, - "kind": "command", - "command": { - "command": "breakParent" - } - } - ] - }, - { - "id": 77, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 76, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 75, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 74, - "kind": "list", - "list": [ - { - "id": 10, - "kind": "text", - "text": "with" - }, - { - "id": 11, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 72, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 71, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 70, - "kind": "list", - "list": [ - { - "id": 12, - "kind": "text", - "text": "function \">\"" - }, - { - "id": 69, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 68, - "kind": "list", - "list": [ - { - "id": 13, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 62, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 61, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 1 - }, - "alignContents": { - "id": 60, - "kind": "list", - "list": [ - { - "id": 14, - "kind": "text", - "text": "(" - }, - { - "id": 58, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "innerRoot" - }, - "alignContents": { - "id": 57, - "kind": "list", - "list": [ - { - "id": 34, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 33, - "kind": "list", - "list": [ - { - "id": 25, - "kind": "command", - "command": { - "command": "group", - "id": 1, - "groupContents": { - "id": 24, - "kind": "list", - "list": [ - { - "id": 16, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 15, - "kind": "text", - "text": "Left_Left_Left_Left_Left" - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 17, - "kind": "text", - "text": " :" - }, - { - "id": 23, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 22, - "kind": "list", - "list": [ - { - "id": 18, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 21, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 20, - "kind": "list", - "list": [ - { - "id": 19, - "kind": "text", - "text": "Foo_Bar_Baz" - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 32, - "kind": "command", - "command": { - "command": "ifBreak", - "ifBreakGroupId": 1, - "breakContents": { - "id": 28, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 4 - }, - "alignContents": { - "id": 27, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 26, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - "flatContents": { - "id": 31, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 30, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 29, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 35, - "kind": "text", - "text": ";" - }, - { - "id": 36, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 56, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 55, - "kind": "list", - "list": [ - { - "id": 47, - "kind": "command", - "command": { - "command": "group", - "id": 1, - "groupContents": { - "id": 46, - "kind": "list", - "list": [ - { - "id": 38, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 37, - "kind": "text", - "text": "Right_Right_Right_Right_Right" - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 39, - "kind": "text", - "text": " :" - }, - { - "id": 45, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 44, - "kind": "list", - "list": [ - { - "id": 40, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 43, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 42, - "kind": "list", - "list": [ - { - "id": 41, - "kind": "text", - "text": "Foo_Bar_Baz" - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 54, - "kind": "command", - "command": { - "command": "ifBreak", - "ifBreakGroupId": 1, - "breakContents": { - "id": 50, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 4 - }, - "alignContents": { - "id": 49, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 48, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - "flatContents": { - "id": 53, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 52, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 51, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - } - } - }, - { - "id": 59, - "kind": "text", - "text": ")" - } - ] - } - } - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 67, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 1 - }, - "alignContents": { - "id": 66, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 65, - "kind": "list", - "list": [ - { - "id": 63, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 64, - "kind": "text", - "text": "return Boolean" - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - { - "id": 73, - "kind": "text", - "text": " is <>;" - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - "break": false, - "expandedStates": null - } - } - ] - } - } - }, - "break": true, - "expandedStates": null - } - } - ] - }, - "break": true, - "expandedStates": null - } - }, - { - "id": 85, - "kind": "list", - "list": [ - { - "id": 83, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": true - } - }, - { - "id": 84, - "kind": "command", - "command": { - "command": "breakParent" - } - } - ] - }, - { - "id": 168, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 167, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 166, - "kind": "list", - "list": [ - { - "id": 86, - "kind": "text", - "text": "function Perform_Comparison_Check" - }, - { - "id": 165, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 164, - "kind": "list", - "list": [ - { - "id": 87, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 158, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 157, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 1 - }, - "alignContents": { - "id": 156, - "kind": "list", - "list": [ - { - "id": 88, - "kind": "text", - "text": "(" - }, - { - "id": 154, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "innerRoot" - }, - "alignContents": { - "id": 153, - "kind": "list", - "list": [ - { - "id": 108, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 107, - "kind": "list", - "list": [ - { - "id": 99, - "kind": "command", - "command": { - "command": "group", - "id": 1, - "groupContents": { - "id": 98, - "kind": "list", - "list": [ - { - "id": 90, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 89, - "kind": "text", - "text": "Comparing_Value" - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 91, - "kind": "text", - "text": " :" - }, - { - "id": 97, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 96, - "kind": "list", - "list": [ - { - "id": 92, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 95, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 94, - "kind": "list", - "list": [ - { - "id": 93, - "kind": "text", - "text": "Foo_Bar_Baz" - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 106, - "kind": "command", - "command": { - "command": "ifBreak", - "ifBreakGroupId": 1, - "breakContents": { - "id": 102, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 4 - }, - "alignContents": { - "id": 101, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 100, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - "flatContents": { - "id": 105, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 104, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 103, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 109, - "kind": "text", - "text": ";" - }, - { - "id": 110, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 130, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 129, - "kind": "list", - "list": [ - { - "id": 121, - "kind": "command", - "command": { - "command": "group", - "id": 1, - "groupContents": { - "id": 120, - "kind": "list", - "list": [ - { - "id": 112, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 111, - "kind": "text", - "text": "Rule_Value" - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 113, - "kind": "text", - "text": " :" - }, - { - "id": 119, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 118, - "kind": "list", - "list": [ - { - "id": 114, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 117, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 116, - "kind": "list", - "list": [ - { - "id": 115, - "kind": "text", - "text": "Foo_Bar_Baz" - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 128, - "kind": "command", - "command": { - "command": "ifBreak", - "ifBreakGroupId": 1, - "breakContents": { - "id": 124, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 4 - }, - "alignContents": { - "id": 123, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 122, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - "flatContents": { - "id": 127, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 126, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 125, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 131, - "kind": "text", - "text": ";" - }, - { - "id": 132, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 152, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 151, - "kind": "list", - "list": [ - { - "id": 143, - "kind": "command", - "command": { - "command": "group", - "id": 1, - "groupContents": { - "id": 142, - "kind": "list", - "list": [ - { - "id": 134, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 133, - "kind": "text", - "text": "Logic_Operator" - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 135, - "kind": "text", - "text": " :" - }, - { - "id": 141, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 140, - "kind": "list", - "list": [ - { - "id": 136, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 139, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 138, - "kind": "list", - "list": [ - { - "id": 137, - "kind": "text", - "text": "Unbounded_String" - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 150, - "kind": "command", - "command": { - "command": "ifBreak", - "ifBreakGroupId": 1, - "breakContents": { - "id": 146, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 4 - }, - "alignContents": { - "id": 145, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 144, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - "flatContents": { - "id": 149, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 2 - }, - "alignContents": { - "id": 148, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 147, - "kind": "list", - "list": [ - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - } - } - }, - { - "id": 155, - "kind": "text", - "text": ")" - } - ] - } - } - }, - "break": false, - "expandedStates": null - } - }, - { - "id": 163, - "kind": "command", - "command": { - "command": "align", - "alignData": { - "kind": "width", - "n": 1 - }, - "alignContents": { - "id": 162, - "kind": "command", - "command": { - "command": "group", - "id": 0, - "groupContents": { - "id": 161, - "kind": "list", - "list": [ - { - "id": 159, - "kind": "command", - "command": { - "command": "line", - "literal": false, - "soft": false, - "hard": false - } - }, - { - "id": 160, - "kind": "text", - "text": "return Boolean" - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - ] - }, - "break": false, - "expandedStates": null - } - } - } - }, - { - "id": 169, - "kind": "text", - "text": ";" - } - ] - }, - "break": true, - "expandedStates": null - } -} +{ + "id": 172, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 171, + "kind": "list", + "list": [ + { + "id": 83, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 82, + "kind": "list", + "list": [ + { + "id": 0, + "kind": "text", + "text": "generic" + }, + { + "id": 81, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 80, + "kind": "command", + "command": { + "command": "indent", + "indentContents": { + "id": 79, + "kind": "list", + "list": [ + { + "id": 3, + "kind": "list", + "list": [ + { + "id": 1, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": true + } + }, + { + "id": 2, + "kind": "command", + "command": { + "command": "breakParent" + } + } + ] + }, + { + "id": 6, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 5, + "kind": "list", + "list": [ + { + "id": 4, + "kind": "text", + "text": "type Foo_Bar_Baz is private;" + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 9, + "kind": "list", + "list": [ + { + "id": 7, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": true + } + }, + { + "id": 8, + "kind": "command", + "command": { + "command": "breakParent" + } + } + ] + }, + { + "id": 78, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 77, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 76, + "kind": "list", + "list": [ + { + "id": 10, + "kind": "text", + "text": "with" + }, + { + "id": 11, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 75, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 74, + "kind": "list", + "list": [ + { + "id": 72, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 71, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 70, + "kind": "list", + "list": [ + { + "id": 12, + "kind": "text", + "text": "function \">\"" + }, + { + "id": 69, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 68, + "kind": "list", + "list": [ + { + "id": 13, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 62, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 61, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 1 + }, + "alignContents": { + "id": 60, + "kind": "list", + "list": [ + { + "id": 14, + "kind": "text", + "text": "(" + }, + { + "id": 58, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "innerRoot" + }, + "alignContents": { + "id": 57, + "kind": "list", + "list": [ + { + "id": 34, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 33, + "kind": "list", + "list": [ + { + "id": 25, + "kind": "command", + "command": { + "command": "group", + "id": 1, + "groupContents": { + "id": 24, + "kind": "list", + "list": [ + { + "id": 16, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 15, + "kind": "text", + "text": "Left_Left_Left_Left_Left" + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 17, + "kind": "text", + "text": " :" + }, + { + "id": 23, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 22, + "kind": "list", + "list": [ + { + "id": 18, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 21, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 20, + "kind": "list", + "list": [ + { + "id": 19, + "kind": "text", + "text": "Foo_Bar_Baz" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 32, + "kind": "command", + "command": { + "command": "ifBreak", + "ifBreakGroupId": 1, + "breakContents": { + "id": 28, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 4 + }, + "alignContents": { + "id": 27, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 26, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + "flatContents": { + "id": 31, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 30, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 29, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 35, + "kind": "text", + "text": ";" + }, + { + "id": 36, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 56, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 55, + "kind": "list", + "list": [ + { + "id": 47, + "kind": "command", + "command": { + "command": "group", + "id": 1, + "groupContents": { + "id": 46, + "kind": "list", + "list": [ + { + "id": 38, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 37, + "kind": "text", + "text": "Right_Right_Right_Right_Right" + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 39, + "kind": "text", + "text": " :" + }, + { + "id": 45, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 44, + "kind": "list", + "list": [ + { + "id": 40, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 43, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 42, + "kind": "list", + "list": [ + { + "id": 41, + "kind": "text", + "text": "Foo_Bar_Baz" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 54, + "kind": "command", + "command": { + "command": "ifBreak", + "ifBreakGroupId": 1, + "breakContents": { + "id": 50, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 4 + }, + "alignContents": { + "id": 49, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 48, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + "flatContents": { + "id": 53, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 52, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 51, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + } + } + }, + { + "id": 59, + "kind": "text", + "text": ")" + } + ] + } + } + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 67, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 1 + }, + "alignContents": { + "id": 66, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 65, + "kind": "list", + "list": [ + { + "id": 63, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 64, + "kind": "text", + "text": "return Boolean" + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + { + "id": 73, + "kind": "text", + "text": " is <>;" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + ] + } + } + }, + "break": true, + "expandedStates": null + } + } + ] + }, + "break": true, + "expandedStates": null + } + }, + { + "id": 86, + "kind": "list", + "list": [ + { + "id": 84, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": true + } + }, + { + "id": 85, + "kind": "command", + "command": { + "command": "breakParent" + } + } + ] + }, + { + "id": 169, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 168, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 167, + "kind": "list", + "list": [ + { + "id": 87, + "kind": "text", + "text": "function Perform_Comparison_Check" + }, + { + "id": 166, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 165, + "kind": "list", + "list": [ + { + "id": 88, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 159, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 158, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 1 + }, + "alignContents": { + "id": 157, + "kind": "list", + "list": [ + { + "id": 89, + "kind": "text", + "text": "(" + }, + { + "id": 155, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "innerRoot" + }, + "alignContents": { + "id": 154, + "kind": "list", + "list": [ + { + "id": 109, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 108, + "kind": "list", + "list": [ + { + "id": 100, + "kind": "command", + "command": { + "command": "group", + "id": 1, + "groupContents": { + "id": 99, + "kind": "list", + "list": [ + { + "id": 91, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 90, + "kind": "text", + "text": "Comparing_Value" + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 92, + "kind": "text", + "text": " :" + }, + { + "id": 98, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 97, + "kind": "list", + "list": [ + { + "id": 93, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 96, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 95, + "kind": "list", + "list": [ + { + "id": 94, + "kind": "text", + "text": "Foo_Bar_Baz" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 107, + "kind": "command", + "command": { + "command": "ifBreak", + "ifBreakGroupId": 1, + "breakContents": { + "id": 103, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 4 + }, + "alignContents": { + "id": 102, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 101, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + "flatContents": { + "id": 106, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 105, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 104, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 110, + "kind": "text", + "text": ";" + }, + { + "id": 111, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 131, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 130, + "kind": "list", + "list": [ + { + "id": 122, + "kind": "command", + "command": { + "command": "group", + "id": 1, + "groupContents": { + "id": 121, + "kind": "list", + "list": [ + { + "id": 113, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 112, + "kind": "text", + "text": "Rule_Value" + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 114, + "kind": "text", + "text": " :" + }, + { + "id": 120, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 119, + "kind": "list", + "list": [ + { + "id": 115, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 118, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 117, + "kind": "list", + "list": [ + { + "id": 116, + "kind": "text", + "text": "Foo_Bar_Baz" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 129, + "kind": "command", + "command": { + "command": "ifBreak", + "ifBreakGroupId": 1, + "breakContents": { + "id": 125, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 4 + }, + "alignContents": { + "id": 124, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 123, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + "flatContents": { + "id": 128, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 127, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 126, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 132, + "kind": "text", + "text": ";" + }, + { + "id": 133, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 153, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 152, + "kind": "list", + "list": [ + { + "id": 144, + "kind": "command", + "command": { + "command": "group", + "id": 1, + "groupContents": { + "id": 143, + "kind": "list", + "list": [ + { + "id": 135, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 134, + "kind": "text", + "text": "Logic_Operator" + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 136, + "kind": "text", + "text": " :" + }, + { + "id": 142, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 141, + "kind": "list", + "list": [ + { + "id": 137, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 140, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 139, + "kind": "list", + "list": [ + { + "id": 138, + "kind": "text", + "text": "Unbounded_String" + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 151, + "kind": "command", + "command": { + "command": "ifBreak", + "ifBreakGroupId": 1, + "breakContents": { + "id": 147, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 4 + }, + "alignContents": { + "id": 146, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 145, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + "flatContents": { + "id": 150, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 2 + }, + "alignContents": { + "id": 149, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 148, + "kind": "list", + "list": [ + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + } + } + }, + { + "id": 156, + "kind": "text", + "text": ")" + } + ] + } + } + }, + "break": false, + "expandedStates": null + } + }, + { + "id": 164, + "kind": "command", + "command": { + "command": "align", + "alignData": { + "kind": "width", + "n": 1 + }, + "alignContents": { + "id": 163, + "kind": "command", + "command": { + "command": "group", + "id": 0, + "groupContents": { + "id": 162, + "kind": "list", + "list": [ + { + "id": 160, + "kind": "command", + "command": { + "command": "line", + "literal": false, + "soft": false, + "hard": false + } + }, + { + "id": 161, + "kind": "text", + "text": "return Boolean" + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + ] + }, + "break": false, + "expandedStates": null + } + } + } + }, + { + "id": 170, + "kind": "text", + "text": ";" + } + ] + }, + "break": true, + "expandedStates": null + } +}