@@ -47,12 +47,31 @@ public enum Verbosity {
47
47
48
48
public class WarningMessage {
49
49
public final Verbosity verbosity ;
50
- public final String message ;
50
+ private final String fileName ;
51
+ private final Integer lineNumber ;
52
+ private final String message ;
51
53
52
- public WarningMessage (Verbosity verbosity , String message ) {
54
+ public WarningMessage (Verbosity verbosity , String fileName , Integer lineNumber , String message ) {
53
55
this .verbosity = verbosity ;
56
+ this .fileName = fileName ;
57
+ this .lineNumber = lineNumber ;
54
58
this .message = message ;
55
59
}
60
+
61
+ public String getWarningMessage () {
62
+ StringBuilder buffer = new StringBuilder (100 );
63
+ if (fileName != null ) {
64
+ buffer .append (fileName );
65
+ if (lineNumber != null ) {
66
+ buffer .append (':' ).append (lineNumber ).append (": " );
67
+ } else {
68
+ buffer .append (' ' );
69
+ }
70
+ }
71
+ buffer .append ("warning: " ).append (message ).append ('\n' );
72
+ return buffer .toString ();
73
+ }
74
+
56
75
}
57
76
58
77
@ Override
@@ -62,29 +81,22 @@ public void warn(String message) {
62
81
63
82
/** Prints a warning, unless $VERBOSE is nil. */
64
83
public void warn (String fileName , int lineNumber , String message ) {
65
- warnings .add (new WarningMessage (Verbosity .NON_VERBOSE , makeWarningMessage ( fileName , lineNumber , message ) ));
84
+ warnings .add (new WarningMessage (Verbosity .NON_VERBOSE , fileName , lineNumber , message ));
66
85
}
67
86
68
87
/** Prints a warning, unless $VERBOSE is nil. */
69
88
public void warn (String fileName , String message ) {
70
- StringBuilder buffer = new StringBuilder (100 );
71
- if (fileName != null ) {
72
- buffer .append (fileName ).append (' ' );
73
- }
74
- buffer .append ("warning: " ).append (message ).append ('\n' );
75
- warnings .add (new WarningMessage (Verbosity .NON_VERBOSE , buffer .toString ()));
76
- }
77
-
78
- private String makeWarningMessage (String fileName , int lineNumber , String message ) {
79
- StringBuilder buffer = new StringBuilder (100 );
80
- buffer .append (fileName ).append (':' ).append (lineNumber ).append (": " );
81
- buffer .append ("warning: " ).append (message ).append ('\n' );
82
- return buffer .toString ();
89
+ warnings .add (new WarningMessage (Verbosity .NON_VERBOSE , fileName , null , message ));
83
90
}
84
91
85
- /** Prints a warning, only in verbose mode . */
92
+ /** Prints a warning, only if $VERBOSE is true . */
86
93
public void warning (String fileName , int lineNumber , String message ) {
87
- warnings .add (new WarningMessage (Verbosity .VERBOSE , makeWarningMessage (fileName , lineNumber , message )));
94
+ warnings .add (
95
+ new WarningMessage (
96
+ Verbosity .VERBOSE ,
97
+ fileName ,
98
+ lineNumber ,
99
+ message ));
88
100
}
89
101
90
102
}
0 commit comments