Split allocator test and move to separate file.
This commit is contained in:
parent
5417b9ffc7
commit
e8e2515465
474
test/corpus/allocators.txt
Normal file
474
test/corpus/allocators.txt
Normal file
|
|
@ -0,0 +1,474 @@
|
|||
================================================================================
|
||||
subtype indication (subtype mark: identifier)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new T;
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (identifier)))))))))
|
||||
|
||||
================================================================================
|
||||
subtype indication (subtype mark: selected component)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new X.T;
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (selected_component
|
||||
prefix: (identifier)
|
||||
selector_name: (identifier))))))))))
|
||||
|
||||
================================================================================
|
||||
subtype indication (subtype mark: attribute reference)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new T'Base;
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (identifier)
|
||||
subtype_mark: (tick)
|
||||
subtype_mark: (attribute_designator
|
||||
(identifier))))))))))
|
||||
|
||||
================================================================================
|
||||
subtype indication (null exclusion)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new not null T;
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(null_exclusion)
|
||||
subtype_mark: (identifier)))))))))
|
||||
|
||||
================================================================================
|
||||
subtype indication (constraint: index constraint)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new T (1 .. 10, 1 .. 20);
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (identifier)
|
||||
(index_constraint
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal))))))))))))
|
||||
|
||||
================================================================================
|
||||
subtype indication (constraint: discriminant constraint - numeric literal)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new T (100);
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (identifier)
|
||||
(discriminant_constraint
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))))
|
||||
|
||||
================================================================================
|
||||
subtype indication (constraint: discriminant constraint - discriminant association)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new T (F => 100);
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (identifier)
|
||||
(discriminant_constraint
|
||||
(discriminant_association
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))))))))
|
||||
|
||||
================================================================================
|
||||
subtype indication (constraint: discriminant constraint - identifier)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new T (F);
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (identifier)
|
||||
(discriminant_constraint
|
||||
(expression
|
||||
(term
|
||||
name: (identifier))))))))))))
|
||||
|
||||
================================================================================
|
||||
qualified expression (aggregate: positional array aggregate)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new T'(0, 255, 0);
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
(tick)
|
||||
(positional_array_aggregate
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))))))))
|
||||
|
||||
================================================================================
|
||||
qualified expression (aggregate: record aggregate)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new T'(F => 1);
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
(tick)
|
||||
(record_aggregate
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))))))
|
||||
|
||||
================================================================================
|
||||
qualified expression (aggregate: named array aggregate)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new T'(1 .. 10 => (1 .. 20 => 0.0));
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
(tick)
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(term
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))))))))))
|
||||
|
||||
================================================================================
|
||||
qualified expression (expression: numeric literal)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new T'(55);
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
(tick)
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))))
|
||||
|
||||
================================================================================
|
||||
qualified expression (expression: identifier)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new T'(F);
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
(tick)
|
||||
(expression
|
||||
(term
|
||||
name: (identifier))))))))))))
|
||||
|
||||
================================================================================
|
||||
qualified expression (subtype mark: attribute reference)
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new T'Base'(5);
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
subtype_name: (tick)
|
||||
subtype_name: (attribute_designator
|
||||
(identifier))
|
||||
(tick)
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))))
|
||||
|
||||
================================================================================
|
||||
subpool specification
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
A := new (pkg.pool) T;
|
||||
A := new (pkg.pool) T'(55);
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(subpool_specification
|
||||
subpool_handle_name: (selected_component
|
||||
prefix: (identifier)
|
||||
selector_name: (identifier)))
|
||||
subtype_mark: (identifier)))))
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(subpool_specification
|
||||
subpool_handle_name: (selected_component
|
||||
prefix: (identifier)
|
||||
selector_name: (identifier)))
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
(tick)
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))))
|
||||
|
|
@ -435,238 +435,6 @@ end;
|
|||
(character_literal)))))
|
||||
(null_statement)))))))
|
||||
|
||||
================================================================================
|
||||
Allocators
|
||||
================================================================================
|
||||
|
||||
procedure P is
|
||||
begin
|
||||
-- subtype indication
|
||||
A := new T;
|
||||
A := new not null T;
|
||||
A := new T'Base;
|
||||
A := new T (1 .. 10, 1 .. 20);
|
||||
A := new T (100);
|
||||
A := new T (F => 100);
|
||||
A := new T (F);
|
||||
|
||||
-- qualified expression
|
||||
A := new T'(0, 255, 0);
|
||||
A := new T'(F => 1);
|
||||
A := new T'(1 .. 10 => (1 .. 20 => 0.0));
|
||||
A := new T'(55);
|
||||
A := new T'(F);
|
||||
A := new T'Base'(5);
|
||||
|
||||
-- subpool specification
|
||||
A := new (pkg.pool) T'((F => 1));
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
name: (identifier))
|
||||
(comment)
|
||||
(handled_sequence_of_statements
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (identifier)))))
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(null_exclusion)
|
||||
subtype_mark: (identifier)))))
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (identifier)
|
||||
subtype_mark: (tick)
|
||||
subtype_mark: (attribute_designator
|
||||
(identifier))))))
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (identifier)
|
||||
(index_constraint
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal))))))))
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (identifier)
|
||||
(discriminant_constraint
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (identifier)
|
||||
(discriminant_constraint
|
||||
(discriminant_association
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))))
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
subtype_mark: (identifier)
|
||||
(discriminant_constraint
|
||||
(expression
|
||||
(term
|
||||
name: (identifier))))))))
|
||||
(comment)
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
(tick)
|
||||
(positional_array_aggregate
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))))
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
(tick)
|
||||
(record_aggregate
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
(tick)
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(term
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))))))
|
||||
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
(tick)
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
(tick)
|
||||
(expression
|
||||
(term
|
||||
name: (identifier))))))))
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
subtype_name: (tick)
|
||||
subtype_name: (attribute_designator
|
||||
(identifier))
|
||||
(tick)
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))
|
||||
(comment)
|
||||
(assignment_statement
|
||||
variable_name: (identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(subpool_specification
|
||||
subpool_handle_name: (selected_component
|
||||
prefix: (identifier)
|
||||
selector_name: (identifier)))
|
||||
(qualified_expression
|
||||
subtype_name: (identifier)
|
||||
(tick)
|
||||
(expression
|
||||
(term
|
||||
(record_aggregate
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))))))))
|
||||
|
||||
================================================================================
|
||||
Filtered for loops
|
||||
================================================================================
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user