| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 // An update to this file must be followed by regenerating the corresponding | 5 // An update to this file must be followed by regenerating the corresponding |
| 6 // json, dart2js and analyzer file. Use `publish.dart` in the bin directory. | 6 // json, dart2js and analyzer file. Use `publish.dart` in the bin directory. |
| 7 // | 7 // |
| 8 // Every message in this file must have an id. Use `message_id.dart` in the | 8 // Every message in this file must have an id. Use `message_id.dart` in the |
| 9 // bin directory to generate a fresh one. | 9 // bin directory to generate a fresh one. |
| 10 | 10 |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 { | 184 { |
| 185 'fileA.dart': ''' | 185 'fileA.dart': ''' |
| 186 or a map from file to content. | 186 or a map from file to content. |
| 187 again multiline''', | 187 again multiline''', |
| 188 'fileB.dart': ''' | 188 'fileB.dart': ''' |
| 189 with possibly multiple files. | 189 with possibly multiple files. |
| 190 muliline too''' | 190 muliline too''' |
| 191 } | 191 } |
| 192 ]), | 192 ]), |
| 193 | 193 |
| 194 // Const constructors (factory or not) may not have a body. | |
| 195 'CONST_CONSTRUCTOR_OR_FACTORY_WITH_BODY': new Message( | |
| 196 id: 'LGJGHW', | |
| 197 subId: 0, | |
| 198 categories: [Category.parserError], | |
| 199 template: "Const constructor or factory can't have a body.", | |
| 200 howToFix: "Remove the 'const' keyword or the body.", | |
| 201 usedBy: [dart2js], | |
| 202 examples: const [ | |
| 203 r""" | |
| 204 class C { | |
| 205 const C() {} | |
| 206 } | |
| 207 | |
| 208 main() => new C();""", | |
| 209 r""" | |
| 210 class C { | |
| 211 const factory C() {} | |
| 212 } | |
| 213 | |
| 214 main() => new C();""" | |
| 215 ]), | |
| 216 // Const constructors may not have a body. | 194 // Const constructors may not have a body. |
| 217 'CONST_CONSTRUCTOR_WITH_BODY': new Message( | 195 'CONST_CONSTRUCTOR_WITH_BODY': new Message( |
| 218 id: 'LGJGHW', | 196 id: 'LGJGHW', |
| 219 subId: 1, | 197 subId: 0, |
| 220 specializationOf: "CONST_CONSTRUCTOR_OR_FACTORY_WITH_BODY", | 198 specializationOf: "CONST_CONSTRUCTOR_OR_FACTORY_WITH_BODY", |
| 221 categories: [Category.parserError], | 199 categories: [Category.parserError], |
| 222 template: "Const constructor can't have a body.", | 200 template: "Const constructor can't have a body.", |
| 223 howToFix: "Try removing the 'const' keyword or the body.", | 201 howToFix: "Try removing the 'const' keyword or the body.", |
| 224 usedBy: [analyzer], | 202 usedBy: [analyzer, dart2js], |
| 225 examples: const [ | 203 examples: const [ |
| 226 r""" | 204 r""" |
| 227 class C { | 205 class C { |
| 228 const C() {} | 206 const C() {} |
| 229 } | 207 } |
| 230 | 208 |
| 231 main() => new C();""" | 209 main() => new C();""" |
| 232 ]), | 210 ]), |
| 233 // Const constructor factories may only redirect (and must not have a body). | 211 // Const constructor factories may only redirect (and must not have a body). |
| 234 'CONST_FACTORY': new Message( | 212 'CONST_FACTORY': new Message( |
| 235 id: 'LGJGHW', | 213 id: 'LGJGHW', |
| 236 subId: 2, | 214 subId: 1, |
| 237 specializationOf: "CONST_CONSTRUCTOR_OR_FACTORY_WITH_BODY", | 215 specializationOf: "CONST_CONSTRUCTOR_OR_FACTORY_WITH_BODY", |
| 238 categories: [Category.parserError], | 216 categories: [Category.parserError], |
| 239 template: "Only redirecting factory constructors can be declared to " | 217 template: "Only redirecting factory constructors can be declared to " |
| 240 "be 'const'.", | 218 "be 'const'.", |
| 241 howToFix: "Try removing the 'const' keyword or replacing the body with " | 219 howToFix: "Try removing the 'const' keyword or replacing the body with " |
| 242 "'=' followed by a valid target.", | 220 "'=' followed by a valid target.", |
| 243 usedBy: [analyzer], | 221 usedBy: [analyzer, dart2js], |
| 244 examples: const [ | 222 examples: const [ |
| 245 r""" | 223 r""" |
| 246 class C { | 224 class C { |
| 247 const factory C() {} | 225 const factory C() {} |
| 248 } | 226 } |
| 249 | 227 |
| 250 main() => new C();""" | 228 main() => new C();""" |
| 251 ]), | 229 ]), |
| 252 | 230 |
| 253 'EXTRANEOUS_MODIFIER': new Message( | 231 'EXTRANEOUS_MODIFIER': new Message( |
| (...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 897 main() { x = 3; } | 875 main() { x = 3; } |
| 898 """, | 876 """, |
| 899 """ | 877 """ |
| 900 const x = 1; | 878 const x = 1; |
| 901 main() { x = 3; } | 879 main() { x = 3; } |
| 902 """, | 880 """, |
| 903 "get foo => null main() { foo = 5; }", | 881 "get foo => null main() { foo = 5; }", |
| 904 "const foo = 0 main() { foo = 5; }", | 882 "const foo = 0 main() { foo = 5; }", |
| 905 ]), | 883 ]), |
| 906 }; | 884 }; |
| OLD | NEW |