7 Commits

Author SHA1 Message Date
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