Switch to a record-based API for Ast_mapper, so that it can be used within the compiler itself (where objects are banned).  The class-based version will be shipped as part of the ppx_tools package.  Only the ifdef example has been adapted in experimental/frisch.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14178 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Cleanup ppx API.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14180 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Adapt js example.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14181 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Functions to close the open recursion in Ast_mapper.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14182 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Adapt one more example.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14183 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Adapt one more example.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14184 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Adapt one more example.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14185 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Get rid of recursion closing functions, being more explicit on the recursion does not hurt.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14186 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Cleanup.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14187 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Keep attributes on value declarations in .cmi files (but clear all the location fields, except if -keep-locs is used, of course).  Use this to report a warning when a value marked as [@@deprecated] is referenced (#5854)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14188 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
experiment on module aliases


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14190 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Keep location and attributes in type, label and constructor declarations.  Deprecated warning when a deprecated type or constructor is referenced.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14191 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Fix tests.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14192 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Fix.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14193 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Keep attributes/locs for class type declarations and class declarations in Types.  Renaming cty -> csig prefix for class signatures to be coherent with Typedtree.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14194 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Keep attributes on module declarations.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Support module aliases.
Namely, you can write "module L = List" in signatures,
and avoid have the compiler use directly List when you write L.
See examples in testsuite/tests/typing-modules/aliases.ml


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14196 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
module translation + bad functor example

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14197 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
do not alias functor parameters + some problems with coercions not fixed yet


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14198 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
now works with nested structures; still problems inside functors

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14199 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02