| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 library mock_compiler; | 5 library mock_compiler; |
| 6 | 6 |
| 7 import "package:expect/expect.dart"; | 7 import "package:expect/expect.dart"; |
| 8 import 'dart:async'; | 8 import 'dart:async'; |
| 9 import 'dart:collection'; | 9 import 'dart:collection'; |
| 10 | 10 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 int maxConcreteTypeSize: 5, | 66 int maxConcreteTypeSize: 5, |
| 67 bool disableTypeInference: false, | 67 bool disableTypeInference: false, |
| 68 bool analyzeAll: false, | 68 bool analyzeAll: false, |
| 69 bool analyzeOnly: false, | 69 bool analyzeOnly: false, |
| 70 bool emitJavaScript: true, | 70 bool emitJavaScript: true, |
| 71 bool preserveComments: false, | 71 bool preserveComments: false, |
| 72 // Our unit tests check code generation output that is | 72 // Our unit tests check code generation output that is |
| 73 // affected by inlining support. | 73 // affected by inlining support. |
| 74 bool disableInlining: true, | 74 bool disableInlining: true, |
| 75 bool trustTypeAnnotations: false, | 75 bool trustTypeAnnotations: false, |
| 76 bool enableEnums: false, |
| 76 int this.expectedWarnings, | 77 int this.expectedWarnings, |
| 77 int this.expectedErrors}) | 78 int this.expectedErrors}) |
| 78 : sourceFiles = new Map<String, SourceFile>(), | 79 : sourceFiles = new Map<String, SourceFile>(), |
| 79 super(enableTypeAssertions: enableTypeAssertions, | 80 super(enableTypeAssertions: enableTypeAssertions, |
| 80 enableMinification: enableMinification, | 81 enableMinification: enableMinification, |
| 81 enableConcreteTypeInference: enableConcreteTypeInference, | 82 enableConcreteTypeInference: enableConcreteTypeInference, |
| 82 maxConcreteTypeSize: maxConcreteTypeSize, | 83 maxConcreteTypeSize: maxConcreteTypeSize, |
| 83 disableTypeInferenceFlag: disableTypeInference, | 84 disableTypeInferenceFlag: disableTypeInference, |
| 84 analyzeAllFlag: analyzeAll, | 85 analyzeAllFlag: analyzeAll, |
| 85 analyzeOnly: analyzeOnly, | 86 analyzeOnly: analyzeOnly, |
| 86 emitJavaScript: emitJavaScript, | 87 emitJavaScript: emitJavaScript, |
| 87 preserveComments: preserveComments, | 88 preserveComments: preserveComments, |
| 88 trustTypeAnnotations: trustTypeAnnotations, | 89 trustTypeAnnotations: trustTypeAnnotations, |
| 89 showPackageWarnings: true) { | 90 showPackageWarnings: true, |
| 91 enableEnums: enableEnums) { |
| 90 this.disableInlining = disableInlining; | 92 this.disableInlining = disableInlining; |
| 91 | 93 |
| 92 deferredLoadTask = new MockDeferredLoadTask(this); | 94 deferredLoadTask = new MockDeferredLoadTask(this); |
| 93 | 95 |
| 94 clearMessages(); | 96 clearMessages(); |
| 95 | 97 |
| 96 registerSource(Compiler.DART_CORE, | 98 registerSource(Compiler.DART_CORE, |
| 97 buildLibrarySource(DEFAULT_CORE_LIBRARY, coreSource)); | 99 buildLibrarySource(DEFAULT_CORE_LIBRARY, coreSource)); |
| 98 registerSource(PATCH_CORE, DEFAULT_PATCH_CORE_SOURCE); | 100 registerSource(PATCH_CORE, DEFAULT_PATCH_CORE_SOURCE); |
| 99 | 101 |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 262 } | 264 } |
| 263 | 265 |
| 264 Element lookupElementIn(ScopeContainerElement container, name) { | 266 Element lookupElementIn(ScopeContainerElement container, name) { |
| 265 Element element = container.localLookup(name); | 267 Element element = container.localLookup(name); |
| 266 return element != null | 268 return element != null |
| 267 ? element | 269 ? element |
| 268 : new ErroneousElementX(null, null, name, container); | 270 : new ErroneousElementX(null, null, name, container); |
| 269 } | 271 } |
| 270 | 272 |
| 271 /// Create a new [MockCompiler] and apply it asynchronously to [f]. | 273 /// Create a new [MockCompiler] and apply it asynchronously to [f]. |
| 272 static Future create(f(MockCompiler compiler)) { | 274 static Future create(f(MockCompiler compiler), |
| 273 MockCompiler compiler = new MockCompiler.internal(); | 275 {bool enableEnums: false}) { |
| 276 MockCompiler compiler = new MockCompiler.internal( |
| 277 enableEnums: enableEnums); |
| 274 return compiler.init().then((_) => f(compiler)); | 278 return compiler.init().then((_) => f(compiler)); |
| 275 } | 279 } |
| 276 } | 280 } |
| 277 | 281 |
| 278 /// A function the checks [message]. If the check fails or if [message] is | 282 /// A function the checks [message]. If the check fails or if [message] is |
| 279 /// `null`, an error string is returned. Otherwise `null` is returned. | 283 /// `null`, an error string is returned. Otherwise `null` is returned. |
| 280 typedef String CheckMessage(Message message); | 284 typedef String CheckMessage(Message message); |
| 281 | 285 |
| 282 CheckMessage checkMessage(MessageKind kind, Map arguments) { | 286 CheckMessage checkMessage(MessageKind kind, Map arguments) { |
| 283 return (Message message) { | 287 return (Message message) { |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 389 MockElement(Element enclosingElement) | 393 MockElement(Element enclosingElement) |
| 390 : super('', ElementKind.FUNCTION, Modifiers.EMPTY, | 394 : super('', ElementKind.FUNCTION, Modifiers.EMPTY, |
| 391 enclosingElement, false); | 395 enclosingElement, false); |
| 392 | 396 |
| 393 get node => null; | 397 get node => null; |
| 394 | 398 |
| 395 parseNode(_) => null; | 399 parseNode(_) => null; |
| 396 | 400 |
| 397 bool get hasNode => false; | 401 bool get hasNode => false; |
| 398 } | 402 } |
| OLD | NEW |