Skip to content

Commit 04fd505

Browse files
committed
[asl] Improve an error location for declare_type
Following suggestion by @HadrienRenaud
1 parent 55f3b20 commit 04fd505

File tree

5 files changed

+22
-22
lines changed

5 files changed

+22
-22
lines changed

asllib/Typing.ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3903,7 +3903,7 @@ module Annotate (C : ANNOTATE_CONFIG) : S = struct
39033903
let here x = add_pos_from ~loc:ty x in
39043904
let+ () = check_var_not_in_genv ~loc genv name in
39053905
let env = with_empty_local genv in
3906-
let t1, ses_t = annotate_type ~decl:true ~loc env ty in
3906+
let t1, ses_t = annotate_type ~decl:true ~loc:(to_pos ty) env ty in
39073907
let env1, t2, s' =
39083908
match s with
39093909
(* AnnotateExtraFields( *)

asllib/tests/ASLTypingReference.t/run.t

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,9 @@ ASL Typing Tests / annotating types:
189189
ASL Type error: cannot declare already declared element "GREEN".
190190
[1]
191191
$ aslref --no-exec TypingRule.TEnumDecl.bad2.asl
192-
File TypingRule.TEnumDecl.bad2.asl, line 4, characters 0 to 67:
192+
File TypingRule.TEnumDecl.bad2.asl, line 4, characters 24 to 47:
193193
type SubEnumIllegal1 of enumeration {LOW, HIGH} subtypes SuperEnum;
194-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
194+
^^^^^^^^^^^^^^^^^^^^^^^
195195
ASL Type error: cannot declare already declared element "LOW".
196196
[1]
197197
$ aslref --no-exec TypingRule.TEnumDecl.bad3.asl
@@ -202,18 +202,18 @@ ASL Typing Tests / annotating types:
202202
provided enumeration {TOP, BOTTOM}.
203203
[1]
204204
$ aslref --no-exec TypingRule.TEnumDecl.bad4.asl
205-
File TypingRule.TEnumDecl.bad4.asl, line 1, characters 0 to 49:
205+
File TypingRule.TEnumDecl.bad4.asl, line 1, characters 14 to 48:
206206
type Color of enumeration { GREEN, ORANGE, RED };
207-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
207+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
208208
ASL Type error: cannot declare already declared element "RED".
209209
[1]
210210
$ aslref --no-exec TypingRule.Subtype.asl
211211
$ aslref --no-exec TypingRule.GetVariableEnum.asl
212212
$ aslref TypingRule.TRecordDecl.asl
213213
$ aslref TypingRule.TRecordDecl.bad.asl
214-
File TypingRule.TRecordDecl.bad.asl, line 1, characters 0 to 58:
214+
File TypingRule.TRecordDecl.bad.asl, line 1, characters 17 to 57:
215215
type MyRecord of record {v: integer, b: boolean, v: real};
216-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
216+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
217217
ASL Type error: cannot declare already declared element "v".
218218
[1]
219219
$ aslref TypingRule.TExceptionDecl.asl
@@ -716,9 +716,9 @@ ASL Typing Tests / annotating types:
716716
[1]
717717
$ aslref --no-exec TypingRule.DeclareType.asl
718718
$ aslref TypingRule.AnnotateExtraFields.bad.asl
719-
File TypingRule.AnnotateExtraFields.bad.asl, line 1, characters 0 to 40:
719+
File TypingRule.AnnotateExtraFields.bad.asl, line 1, characters 15 to 39:
720720
type SubRecord subtypes Record with {-};
721-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
721+
^^^^^^^^^^^^^^^^^^^^^^^^
722722
ASL Static error: Undefined identifier: 'Record'
723723
[1]
724724
$ aslref --no-exec TypingRule.DeclaredType.asl

asllib/tests/bad-types.t

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Bad fields
2222
> EOF
2323

2424
$ aslref bad-types2.asl
25-
File bad-types2.asl, line 1, character 0 to line 4, character 2:
25+
File bad-types2.asl, line 1, character 10 to line 4, character 1:
2626
type t of bits(12) {
2727
[10: 3] a,
2828
[2+:1] a,
@@ -39,7 +39,7 @@ Overlapping slices
3939
> EOF
4040

4141
$ aslref bad-types3.asl
42-
File bad-types3.asl, line 1, character 0 to line 4, character 2:
42+
File bad-types3.asl, line 1, character 10 to line 4, character 1:
4343
type t of bits(64) {
4444
[23: 0] a,
4545
[10: 0, 3+: 2] b,
@@ -56,7 +56,7 @@ Bad slices
5656
> EOF
5757

5858
$ aslref bad-types4.asl
59-
File bad-types4.asl, line 1, character 0 to line 4, character 2:
59+
File bad-types4.asl, line 1, character 10 to line 4, character 1:
6060
type t of bits(12) {
6161
[10: 3] a,
6262
[14:12] b,
@@ -72,7 +72,7 @@ Bad slices
7272
> EOF
7373

7474
$ aslref bad-types5.asl
75-
File bad-types5.asl, line 1, character 0 to line 4, character 2:
75+
File bad-types5.asl, line 1, character 10 to line 4, character 1:
7676
type t of bits(12) {
7777
[10: 3] a,
7878
[-2+:1] b,
@@ -91,7 +91,7 @@ Bad slices
9191
> EOF
9292

9393
$ aslref bad-types6.asl
94-
File bad-types6.asl, line 1, character 0 to line 7, character 2:
94+
File bad-types6.asl, line 1, character 10 to line 7, character 1:
9595
type t of bits(12) {
9696
[10: 3] a,
9797
[7+:3] b {

asllib/tests/recursive.t/run.t

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@
4040
[1]
4141

4242
$ aslref recursive-type.asl
43-
File recursive-type.asl, line 1, characters 0 to 35:
43+
File recursive-type.asl, line 1, characters 13 to 34:
4444
type tree of (tree, integer, tree);
45-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
45+
^^^^^^^^^^^^^^^^^^^^^
4646
ASL Static error: Undefined identifier: 'tree'
4747
[1]
4848

asllib/tests/regressions.t/run.t

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Type-checking errors:
2929
[1]
3030

3131
$ aslref duplicate_record_fields.asl
32-
File duplicate_record_fields.asl, line 1, character 0 to line 5, character 2:
32+
File duplicate_record_fields.asl, line 1, character 17 to line 5, character 1:
3333
type MyRecord of record {
3434
i: integer,
3535
j: boolean,
@@ -39,17 +39,17 @@ Type-checking errors:
3939
[1]
4040

4141
$ aslref duplicate_enumeration_items.asl
42-
File duplicate_enumeration_items.asl, line 1, characters 0 to 34:
42+
File duplicate_enumeration_items.asl, line 1, characters 10 to 33:
4343
type t of enumeration { i, j, i };
44-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44+
^^^^^^^^^^^^^^^^^^^^^^^
4545
ASL Type error: cannot declare already declared element "i".
4646
[1]
4747

4848
$ aslref constant-zeros.asl
4949

5050
Bad types:
5151
$ aslref overlapping-slices.asl
52-
File overlapping-slices.asl, line 1, character 0 to line 4, character 2:
52+
File overlapping-slices.asl, line 1, character 10 to line 4, character 1:
5353
type t of bits(64) {
5454
[23: 0] a,
5555
[10: 0, 3+: 2] b,
@@ -622,8 +622,8 @@ Inherit integer constraints on left-hand sides
622622
[1]
623623

624624
$ aslref inherit-integer-constraints-bad-type.asl
625-
File inherit-integer-constraints-bad-type.asl, line 1, character 0 to line 4,
626-
character 2:
625+
File inherit-integer-constraints-bad-type.asl, line 1, character 16 to
626+
line 4, character 1:
627627
type badtype of record {
628628
a : integer{},
629629
c : integer

0 commit comments

Comments
 (0)