This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
7
unikernel/duniverse/ppxlib/test/location/attributes/dune
Normal file
7
unikernel/duniverse/ppxlib/test/location/attributes/dune
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
(executable
|
||||
(name pp)
|
||||
(libraries ppxlib))
|
||||
|
||||
(cram
|
||||
(applies_to print_attr_loc)
|
||||
(deps pp.exe))
|
||||
18
unikernel/duniverse/ppxlib/test/location/attributes/pp.ml
Normal file
18
unikernel/duniverse/ppxlib/test/location/attributes/pp.ml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
open Ppxlib
|
||||
|
||||
let pp_attr str =
|
||||
let iter =
|
||||
object
|
||||
inherit Ast_traverse.iter as super
|
||||
|
||||
method! attribute v =
|
||||
let loc = loc_of_attribute v in
|
||||
Format.printf "%a %s" Location.print loc v.attr_name.txt;
|
||||
super#attribute v
|
||||
end
|
||||
in
|
||||
iter#structure str;
|
||||
str
|
||||
|
||||
let () = Driver.register_transformation ~impl:pp_attr "print-attributes"
|
||||
let () = Ppxlib.Driver.standalone ()
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
The compiler inserts documentation comments with their location set to
|
||||
`Location.none`. The value for `Location.none` has changed in the compiler (at
|
||||
4.08.0). We provide a function, `loc_of_attribute` to handle deriving better location
|
||||
errors for attributes with a none location.
|
||||
|
||||
$ cat > test.ml << EOF
|
||||
> let v = 1
|
||||
> (** A documentation comment! *)
|
||||
> EOF
|
||||
|
||||
We run an identity driver that prints the locations of attributes.
|
||||
|
||||
$ ./pp.exe --impl test.ml -o ignore.ml
|
||||
File "test.ml", line 2, characters 0-31: ocaml.doc
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue