annotate gcc/ada/sem_ch4.ads @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ------------------------------------------------------------------------------
kono
parents:
diff changeset
2 -- --
kono
parents:
diff changeset
3 -- GNAT COMPILER COMPONENTS --
kono
parents:
diff changeset
4 -- --
kono
parents:
diff changeset
5 -- S E M _ C H 4 --
kono
parents:
diff changeset
6 -- --
kono
parents:
diff changeset
7 -- S p e c --
kono
parents:
diff changeset
8 -- --
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
9 -- Copyright (C) 1992-2018, Free Software Foundation, Inc. --
111
kono
parents:
diff changeset
10 -- --
kono
parents:
diff changeset
11 -- GNAT is free software; you can redistribute it and/or modify it under --
kono
parents:
diff changeset
12 -- terms of the GNU General Public License as published by the Free Soft- --
kono
parents:
diff changeset
13 -- ware Foundation; either version 3, or (at your option) any later ver- --
kono
parents:
diff changeset
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
kono
parents:
diff changeset
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
kono
parents:
diff changeset
16 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
kono
parents:
diff changeset
17 -- for more details. You should have received a copy of the GNU General --
kono
parents:
diff changeset
18 -- Public License distributed with GNAT; see file COPYING3. If not, go to --
kono
parents:
diff changeset
19 -- http://www.gnu.org/licenses for a complete copy of the license. --
kono
parents:
diff changeset
20 -- --
kono
parents:
diff changeset
21 -- GNAT was originally developed by the GNAT team at New York University. --
kono
parents:
diff changeset
22 -- Extensive contributions were provided by Ada Core Technologies Inc. --
kono
parents:
diff changeset
23 -- --
kono
parents:
diff changeset
24 ------------------------------------------------------------------------------
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 with Types; use Types;
kono
parents:
diff changeset
27
kono
parents:
diff changeset
28 package Sem_Ch4 is
kono
parents:
diff changeset
29 procedure Analyze_Aggregate (N : Node_Id);
kono
parents:
diff changeset
30 procedure Analyze_Allocator (N : Node_Id);
kono
parents:
diff changeset
31 procedure Analyze_Arithmetic_Op (N : Node_Id);
kono
parents:
diff changeset
32 procedure Analyze_Call (N : Node_Id);
kono
parents:
diff changeset
33 procedure Analyze_Case_Expression (N : Node_Id);
kono
parents:
diff changeset
34 procedure Analyze_Comparison_Op (N : Node_Id);
kono
parents:
diff changeset
35 procedure Analyze_Concatenation (N : Node_Id);
kono
parents:
diff changeset
36 procedure Analyze_Equality_Op (N : Node_Id);
kono
parents:
diff changeset
37 procedure Analyze_Explicit_Dereference (N : Node_Id);
kono
parents:
diff changeset
38 procedure Analyze_Expression_With_Actions (N : Node_Id);
kono
parents:
diff changeset
39 procedure Analyze_If_Expression (N : Node_Id);
kono
parents:
diff changeset
40 procedure Analyze_Logical_Op (N : Node_Id);
kono
parents:
diff changeset
41 procedure Analyze_Membership_Op (N : Node_Id);
kono
parents:
diff changeset
42 procedure Analyze_Mod (N : Node_Id);
kono
parents:
diff changeset
43 procedure Analyze_Negation (N : Node_Id);
kono
parents:
diff changeset
44 procedure Analyze_Null (N : Node_Id);
kono
parents:
diff changeset
45 procedure Analyze_Qualified_Expression (N : Node_Id);
kono
parents:
diff changeset
46 procedure Analyze_Quantified_Expression (N : Node_Id);
kono
parents:
diff changeset
47 procedure Analyze_Range (N : Node_Id);
kono
parents:
diff changeset
48 procedure Analyze_Reference (N : Node_Id);
kono
parents:
diff changeset
49 procedure Analyze_Selected_Component (N : Node_Id);
kono
parents:
diff changeset
50 procedure Analyze_Short_Circuit (N : Node_Id);
kono
parents:
diff changeset
51 procedure Analyze_Slice (N : Node_Id);
kono
parents:
diff changeset
52 procedure Analyze_Type_Conversion (N : Node_Id);
kono
parents:
diff changeset
53 procedure Analyze_Unary_Op (N : Node_Id);
kono
parents:
diff changeset
54 procedure Analyze_Unchecked_Expression (N : Node_Id);
kono
parents:
diff changeset
55 procedure Analyze_Unchecked_Type_Conversion (N : Node_Id);
kono
parents:
diff changeset
56
kono
parents:
diff changeset
57 procedure Analyze_Indexed_Component_Form (N : Node_Id);
kono
parents:
diff changeset
58 -- Prior to semantic analysis, an indexed component node can denote any
kono
parents:
diff changeset
59 -- of the following syntactic constructs:
kono
parents:
diff changeset
60 -- a) An indexed component of an array
kono
parents:
diff changeset
61 -- b) A function call
kono
parents:
diff changeset
62 -- c) A conversion
kono
parents:
diff changeset
63 -- d) A slice
kono
parents:
diff changeset
64 -- The resolution of the construct requires some semantic information
kono
parents:
diff changeset
65 -- on the prefix and the indexes.
kono
parents:
diff changeset
66
kono
parents:
diff changeset
67 function Try_Object_Operation
kono
parents:
diff changeset
68 (N : Node_Id;
kono
parents:
diff changeset
69 CW_Test_Only : Boolean := False) return Boolean;
kono
parents:
diff changeset
70 -- Ada 2005 (AI-252): Support the object.operation notation. If node N
kono
parents:
diff changeset
71 -- is a call in this notation, it is transformed into a normal subprogram
kono
parents:
diff changeset
72 -- call where the prefix is a parameter, and True is returned. If node
kono
parents:
diff changeset
73 -- N is not of this form, it is unchanged, and False is returned. If
kono
parents:
diff changeset
74 -- CW_Test_Only is true then N is an N_Selected_Component node which
kono
parents:
diff changeset
75 -- is part of a call to an entry or procedure of a tagged concurrent
kono
parents:
diff changeset
76 -- type and this routine is invoked to search for class-wide subprograms
kono
parents:
diff changeset
77 -- conflicting with the target entity.
kono
parents:
diff changeset
78
kono
parents:
diff changeset
79 end Sem_Ch4;