11module analysis ::typepal ::FailMessage
22
33/*
4- FailMessages provide a convenient variation on Rascal's standard Message datatype.
4+ FailMessages provide a convenient variation on Rascal's standard Message datatype.
55 In the end, FailMessages are reduced to standard Messages.
66*/
77import Message ;
@@ -13,13 +13,19 @@ data FailMessage(list[CodeAction] fixes = [])
1313 | fm_warning (value src , str msg , list [value ] args )
1414 | fm_info (value src , str msg , list [value ] args )
1515 ;
16-
17- FailMessage error (value src , str msg , value args ..., list [CodeAction ] fixes =[]) = fm_error (src , msg , args , fixes =fixes );
18- FailMessage warning (value src , str msg , value args ..., list [CodeAction ] fixes =[]) = fm_warning (src , msg , args , fixes =fixes );
19- FailMessage info (value src , str msg , value args ..., list [CodeAction ] fixes =[]) = fm_info (src , msg , args , fixes =fixes );
16+
17+ FailMessage error (value src , str msg , value args ..., list [CodeAction ] fixes =[])
18+ = fixes ? ? fm_error (src , msg , args , fixes =fixes ): fm_error (src , msg , args );
19+ FailMessage warning (value src , str msg , value args ..., list [CodeAction ] fixes =[])
20+ = fixes ? ? fm_warning (src , msg , args , fixes =fixes ) : fm_warning (src , msg , args );
21+ FailMessage info (value src , str msg , value args ..., list [CodeAction ] fixes =[])
22+ = fixes ? ? fm_info (src , msg , args , fixes =fixes ) : fm_info (src , msg , args );
2023
2124str escapePercent (str s ) = replaceAll (s , "%" , "%%" );
22-
23- FailMessage convert (error (str msg , loc at , fixes =list [CodeAction ] fixes )) = fm_error (at , escapePercent (msg ), [], fixes =fixes );
24- FailMessage convert (warning (str msg , loc at , fixes =list [CodeAction ] fixes )) = fm_warning (at , escapePercent (msg ), [], fixes =fixes );
25- FailMessage convert (info (str msg , loc at , fixes =list [CodeAction ] fixes )) = fm_info (at , escapePercent (msg ), [], fixes =fixes );
25+
26+ FailMessage convert (error (str msg , loc at , fixes =list [CodeAction ] fixes ))
27+ = fixes ? ? fm_error (at , escapePercent (msg ), [], fixes =fixes ) : fm_error (src , msg , args );
28+ FailMessage convert (warning (str msg , loc at , fixes =list [CodeAction ] fixes ))
29+ = fixes ? ? fm_warning (at , escapePercent (msg ), [], fixes =fixes ) : fm_warning (src , msg , args );
30+ FailMessage convert (info (str msg , loc at , fixes =list [CodeAction ] fixes ))
31+ = fixes ? ? fm_info (at , escapePercent (msg ), [], fixes =fixes ) : fm_info (at , escapePercent (msg ), []);
0 commit comments