Commit Graph

272 Commits

Author SHA1 Message Date
QuentinOchem
f7f0fa8262 fixed null node errors 2022-03-30 13:52:36 -04:00
QuentinOchem
9a7b6e2677 fix issue with executable location 2022-01-13 09:11:41 -05:00
QuentinOchem
723005b24c improved error message 2022-01-12 16:32:21 -05:00
QuentinOchem
30e53c6017 fixed compilation error and libadalang behavior change 2021-11-09 10:41:42 +01:00
QuentinOchem
f4bfa0068d fixed compilation error 2021-11-09 10:41:42 +01:00
QuentinOchem
dd1bf1b382 updated to latest langkit interface 2021-09-08 17:30:30 +02:00
QuentinOchem
25c31ec4e5 updated field name following langit changes 2021-04-15 13:56:30 -04:00
QuentinOchem
8fcba507c1 updated property name following langkit changes 2021-04-15 13:54:05 -04:00
QuentinOchem
9d4140598d updated to latest version of langkit 2021-04-13 16:00:51 -04:00
Raphaël AMIARD
4ed276aee6 U118-054: Adapt to langkit's introspection API changes 2021-03-03 10:08:09 -05:00
QuentinOchem
31fb7f4268 fixed compilation errors and warnings 2021-01-13 10:00:06 -05:00
QuentinOchem
1d1545f43a Added defensive code in properties.
When entering a property evaluation, the type of node should already be
correct has the property object has been pushed. However, under this ticket,
it appears that it wasn't. It's useful to have a proper diagnostic instead
of a crash.

Part of TA05-016
2021-01-13 09:30:20 -05:00
QuentinOchem
30853df9c2 Fixed fold expression evaluation and error message.
The fold expression evaluated missed pushing the new implicit it, which
resulted sometimes in unexpected error down the line.

With this change, we're now getting proper error when e.g. the selector
of a property is wrong. That error message has been fixed to provide more
information of the type found.

Part of TA05-016
2021-01-13 09:30:20 -05:00
QuentinOchem
f215ec84c6 Added Type_Name in W_ objects specifications.
This allows to provide human readable information on expected types.

Part of TA05-016.
2021-01-13 09:30:20 -05:00
Raphaël AMIARD
c522539134 SA28-035: Adapt to Libadalang/Langkit API changes 2021-01-13 09:30:00 -05:00
QuentinOchem
f283d83d2e Fixed bugs with function prefixing filters.
In Handle_Filter, we were switching non Match_None match modes to
Match_Has, while forgetting to keep the previous value otherwise, resulting
in uninitialized data. Now fixed.

In Push_Call_Result of a W_Function, the iteration decision was dismissed
and not transmitted to the parent frame. Moved the transmission after
poping the calling frame.

Tests and fixes TA02-001.
2020-10-09 12:12:26 +02:00
QuentinOchem
3a3cfb8c02 Improvements over previous check in
Renamed Actual_Parameter into Actual_To_Formal_Assoc.
Reorganized call sequence so that only one call to Property_Argument_Types is
necessary.

For T930-056.
2020-10-05 09:18:21 -04:00
QuentinOchem
c52ed61e90 Factorized containers and introduced foreach.
Containers now all derive from an initial W_Container type. A new instrinsic
'foreach' is introduced at that level to iterate over values.

Part of T930-056.
2020-10-05 09:18:21 -04:00
QuentinOchem
d1f8d7153c Implemented wider support for Ada properties and container iteration.
This patch extracts the property-generic processing of input kit into

separate packages. Only support is provided for Ada. A number of parameter
and returned types kinds are now supported (a few are missing and could need
to be completed in the future).

Actual parameter lists have been modified to accomodate a format {index,
value} used in this new processing.

Implements T930-056.
2020-10-05 09:18:21 -04:00
QuentinOchem
71e84e332c documented Compute_Closure 2020-09-29 16:08:33 -04:00
QuentinOchem
5931fde329 finished documentation and refactor of semantic-analysis 2020-09-29 13:09:39 -04:00
QuentinOchem
75d45ff857 minor improvement over previous commit 2020-09-29 12:02:48 -04:00
QuentinOchem
3a93f2b3cf Restructured Process_Generated_Value
The algorithm is now more linear and more compact. This makes it much more
readable and allow to removed duplicate and useless code in the process.
2020-09-29 11:56:29 -04:00
QuentinOchem
0801571bfc Removed two-stages expression evaluations with allocators.
We had an experimental capabilities allowing something like
   child (A or new something ())
to work so that so "A or new someting ()) would first be evaluated on all
child nodes without the allocator as to try to find a match without
allocating, then with the allocator. This ended up only serving very
specific cases - being overall confusing and complicating the code. This
capability is now removed, and the above can be easily refactored into a
more explicit expression:
   child (A) or child (new something ())
2020-09-29 10:43:38 -04:00
QuentinOchem
a8616c3643 finalized documentation and cleanup of runtime packages 2020-09-28 16:23:41 -04:00