1
1
open Ast_mapper ;
2
2
3
- open Ast_helper ;
4
-
5
3
open Asttypes ;
6
4
7
5
open Parsetree ;
8
6
9
- open Longident ;
10
-
11
- let isInFormattedMessage = ref (false );
12
-
13
7
let wrapper = argv => {
14
8
... default_mapper,
15
- label_declaration: (mapper, expr) => {
16
- if (isInFormattedMessage^ ) {
17
- print_endline(">>> HURRA" );
18
- };
19
- print_endline(">>> Label " );
20
- default_mapper. label_declaration(mapper, expr);
21
- },
22
9
expr: (mapper, expr) =>
23
10
switch (expr) {
24
- | {pexp_desc : Pexp_ident ({txt , loc}) , pexp_attributes : attributes } =>
25
- switch ( Longident . flatten(txt)) {
26
- | [ "ReactIntl" , "FormattedMessage" , "make" ] =>
27
- print_endline( ">>> FormattedMessage" );
28
- isInFormattedMessage := true ;
29
- | _ => ()
30
- } ;
31
- if (isInFormattedMessage ^ ) {
32
- print_endline( ">>> HURRAAAAAAAAAAAAAAA" ) ;
33
- } ;
34
- let res = default_mapper . expr(mapper , expr) ;
35
- isInFormattedMessage := false ;
36
- res ;
11
+ | {
12
+ pexp_desc :
13
+ Pexp_apply (
14
+ {pexp_desc : Pexp_ident ({txt : Ldot ( Ldot ( Lident ( "ReactIntl" ) , " FormattedMessage" ), "make" ) , loc})} ,
15
+ [
16
+ ( "id" , {pexp_desc : Pexp_constant ( Const_string ( id , _ ))}) ,
17
+ ( "defaultMessage" , {pexp_desc : Pexp_constant ( Const_string ( defaultMessage , _ ))}) ,
18
+ ... _ ,
19
+ ] ,
20
+ ) ,
21
+ } =>
22
+ print_endline(id ++ ": " ++ defaultMessage) ;
23
+ default_mapper . expr(mapper , expr) ;
37
24
| expr => default_mapper. expr(mapper, expr)
38
25
},
39
26
};
0 commit comments