10 Commits

Author SHA1 Message Date
Laurent Thévenoux
35ef292093 Update testsuite baselines
TN: V104-012
2022-09-05 15:21:00 +02:00
Laurent Thévenoux
ed562c09a0 Fix access-to-subprogram Pre/Post aspects support
This patch fixes incorrect support of access-to-subprogram Pre/Post
aspects handling. Aspects were wrongly parsed along with the
access-to-subprogram while they should be parsed along with the
corresponding declaration. Name resolution has been fixed accordingly
too: in Ada 2022, Pre/Post accesses are allowed on
access-to-subprogram, therefore it is now part of the resolution.

TN: V510-008
2022-05-24 10:06:06 +00:00
Laurent Thévenoux
72eb027131 Ada 2022: add AI12-0220 nameres tests
This commit ensures that libadalang is able to support the following
feature introduced in Ada 2022:

Pre/Post for access-to-subprogram types.

See: http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai12s/ai12-0220-1.txt.
2021-11-25 10:25:25 +01:00
Raphaël AMIARD
c7be8883d0 T724-020: Add suport for aspects on formal parameters 2021-08-04 13:35:08 +02:00
Pierre-Marie de Rodat
c8398a760d Update baselines after the introspection API change in Langkit
TN: U203-015
2021-02-09 14:25:03 +01:00
Pierre-Marie de Rodat
4382a22f9c Reorganize the source tree
Move most of "ada/*" to the root directory (this makes sense, as this
repository has been dedicated to Libadalang for years), and rename
"ada/language" to "ada".

TN: T914-010
2020-11-02 16:51:46 +01:00
Raphael Amiard
1351ac3234 libadalang: clean directory structure
* put langkit and libadalang in separate root directories

O611-018

Change-Id: I79200c2b4a109f8291dcde4f8eb7472b8880bd74
2015-06-15 13:03:12 +02:00
Pierre-Marie de Rodat
ca4cc474cc Testsuite: harmonize expected output files
Followup on O414-012

Change-Id: I443c498e15f673449ebbca0fc05d8a893e76bb2e
2015-04-14 12:47:37 +02:00
Raphael Amiard
1c6742115f O313-038: Indentation, first pass
* ada/ada_parser/*.py: Add indentation specifiers (hard coded at
  the moment)

* ada/ada_parser/decl.py: Refactor subprogram parameters into their own
  nodes, to be able to indent them correctly.

* compiler/parsers.py: Add an Indent data type that contains data about
  the two kind of indents that we support for the moment: relative to
  the parent scope's indent level (KIND_REL_POS), and relative to a
  specific token's pos (KIND_TOKEN_POS)

  Alter the Field's constructor to store the data about indentation
  type. Allow a shorcut: passing an integer directly to the field param
  will create an Indent datatype with KIND_REL_POS.

* AST (mako files):

  * Refactor the parser to store sloc ranges as token indices, rather
    than as a source location.

  * This allows us to add a 'snap' mode to the lookup primitive, that
    will snap to surrounding tokens while doing loookup.

  * Add a compute_indent_level method as well as an indent field to
    ASTNodes. Calling compute_indent_level on the top node will compute
    the indent level of every node.

* interactive_main: Add a stub implementation of file indentation, that
  is hard coded in the middle of the main at the moment. It uses the
  node visitor and the compute_indent_level primitive to indent a file.

Change-Id: Id0c294ab80c1773ee4ebee91a61c309632473fb1
2015-03-23 17:05:25 +01:00
Pierre-Marie de Rodat
9b7f2bad0a Move the testsuite to its own directory
Followup on O311-016

Change-Id: I9c1152637fd7538fa345c267e8046def7e947a16
2015-03-11 15:38:57 +01:00