| 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 part of dart2js; | 5 part of dart2js; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * If true, print a warning for each method that was resolved, but not | 8 * If true, print a warning for each method that was resolved, but not |
| 9 * compiled. | 9 * compiled. |
| 10 */ | 10 */ |
| (...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 405 static const SourceString CALL_OPERATOR_NAME = const SourceString('call'); | 405 static const SourceString CALL_OPERATOR_NAME = const SourceString('call'); |
| 406 static const SourceString NO_SUCH_METHOD = const SourceString('noSuchMethod'); | 406 static const SourceString NO_SUCH_METHOD = const SourceString('noSuchMethod'); |
| 407 static const int NO_SUCH_METHOD_ARG_COUNT = 1; | 407 static const int NO_SUCH_METHOD_ARG_COUNT = 1; |
| 408 static const SourceString CREATE_INVOCATION_MIRROR = | 408 static const SourceString CREATE_INVOCATION_MIRROR = |
| 409 const SourceString('createInvocationMirror'); | 409 const SourceString('createInvocationMirror'); |
| 410 static const SourceString INVOKE_ON = const SourceString('_invokeOn'); | 410 static const SourceString INVOKE_ON = const SourceString('_invokeOn'); |
| 411 static const SourceString RUNTIME_TYPE = const SourceString('runtimeType'); | 411 static const SourceString RUNTIME_TYPE = const SourceString('runtimeType'); |
| 412 static const SourceString START_ROOT_ISOLATE = | 412 static const SourceString START_ROOT_ISOLATE = |
| 413 const SourceString('startRootIsolate'); | 413 const SourceString('startRootIsolate'); |
| 414 | 414 |
| 415 static const String UNDETERMINED_BUILD_ID = |
| 416 "build number could not be determined"; |
| 417 |
| 415 final Selector iteratorSelector = | 418 final Selector iteratorSelector = |
| 416 new Selector.getter(const SourceString('iterator'), null); | 419 new Selector.getter(const SourceString('iterator'), null); |
| 417 final Selector currentSelector = | 420 final Selector currentSelector = |
| 418 new Selector.getter(const SourceString('current'), null); | 421 new Selector.getter(const SourceString('current'), null); |
| 419 final Selector moveNextSelector = | 422 final Selector moveNextSelector = |
| 420 new Selector.call(const SourceString('moveNext'), null, 0); | 423 new Selector.call(const SourceString('moveNext'), null, 0); |
| 421 final Selector noSuchMethodSelector = new Selector.call( | 424 final Selector noSuchMethodSelector = new Selector.call( |
| 422 Compiler.NO_SUCH_METHOD, null, Compiler.NO_SUCH_METHOD_ARG_COUNT); | 425 Compiler.NO_SUCH_METHOD, null, Compiler.NO_SUCH_METHOD_ARG_COUNT); |
| 423 final Selector symbolValidatedConstructorSelector = new Selector.call( | 426 final Selector symbolValidatedConstructorSelector = new Selector.call( |
| 424 const SourceString('validated'), null, 1); | 427 const SourceString('validated'), null, 1); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 452 bool generateSourceMap: true, | 455 bool generateSourceMap: true, |
| 453 bool disallowUnsafeEval: false, | 456 bool disallowUnsafeEval: false, |
| 454 this.analyzeAll: false, | 457 this.analyzeAll: false, |
| 455 bool analyzeOnly: false, | 458 bool analyzeOnly: false, |
| 456 bool analyzeSignaturesOnly: false, | 459 bool analyzeSignaturesOnly: false, |
| 457 this.rejectDeprecatedFeatures: false, | 460 this.rejectDeprecatedFeatures: false, |
| 458 this.checkDeprecationInSdk: false, | 461 this.checkDeprecationInSdk: false, |
| 459 this.preserveComments: false, | 462 this.preserveComments: false, |
| 460 this.verbose: false, | 463 this.verbose: false, |
| 461 this.sourceMapUri: null, | 464 this.sourceMapUri: null, |
| 462 this.buildId: "build number could not be determined", | 465 this.buildId: UNDETERMINED_BUILD_ID, |
| 463 outputProvider, | 466 outputProvider, |
| 464 List<String> strips: const []}) | 467 List<String> strips: const []}) |
| 465 : this.analyzeOnly = analyzeOnly || analyzeSignaturesOnly, | 468 : this.analyzeOnly = analyzeOnly || analyzeSignaturesOnly, |
| 466 this.analyzeSignaturesOnly = analyzeSignaturesOnly, | 469 this.analyzeSignaturesOnly = analyzeSignaturesOnly, |
| 467 this.outputProvider = | 470 this.outputProvider = (outputProvider == null) |
| 468 (outputProvider == null) ? NullSink.outputProvider : outputProvider | 471 ? NullSink.outputProvider |
| 469 | 472 : outputProvider { |
| 470 { | |
| 471 world = new World(this); | 473 world = new World(this); |
| 472 | 474 |
| 473 closureMapping.ClosureNamer closureNamer; | 475 closureMapping.ClosureNamer closureNamer; |
| 474 if (emitJavaScript) { | 476 if (emitJavaScript) { |
| 475 js_backend.JavaScriptBackend jsBackend = | 477 js_backend.JavaScriptBackend jsBackend = |
| 476 new js_backend.JavaScriptBackend(this, generateSourceMap, | 478 new js_backend.JavaScriptBackend(this, generateSourceMap, |
| 477 disallowUnsafeEval); | 479 disallowUnsafeEval); |
| 478 closureNamer = jsBackend.namer; | 480 closureNamer = jsBackend.namer; |
| 479 backend = jsBackend; | 481 backend = jsBackend; |
| 480 } else { | 482 } else { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 501 enqueuer = new EnqueueTask(this)]; | 503 enqueuer = new EnqueueTask(this)]; |
| 502 | 504 |
| 503 tasks.addAll(backend.tasks); | 505 tasks.addAll(backend.tasks); |
| 504 metadataHandler = new ConstantHandler( | 506 metadataHandler = new ConstantHandler( |
| 505 this, backend.constantSystem, isMetadata: true); | 507 this, backend.constantSystem, isMetadata: true); |
| 506 } | 508 } |
| 507 | 509 |
| 508 Universe get resolverWorld => enqueuer.resolution.universe; | 510 Universe get resolverWorld => enqueuer.resolution.universe; |
| 509 Universe get codegenWorld => enqueuer.codegen.universe; | 511 Universe get codegenWorld => enqueuer.codegen.universe; |
| 510 | 512 |
| 513 bool get hasBuildId => buildId != UNDETERMINED_BUILD_ID; |
| 514 |
| 511 int getNextFreeClassId() => nextFreeClassId++; | 515 int getNextFreeClassId() => nextFreeClassId++; |
| 512 | 516 |
| 513 void ensure(bool condition) { | 517 void ensure(bool condition) { |
| 514 if (!condition) cancel('failed assertion in leg'); | 518 if (!condition) cancel('failed assertion in leg'); |
| 515 } | 519 } |
| 516 | 520 |
| 517 void unimplemented(String methodName, | 521 void unimplemented(String methodName, |
| 518 {Node node, Token token, HInstruction instruction, | 522 {Node node, Token token, HInstruction instruction, |
| 519 Element element}) { | 523 Element element}) { |
| 520 internalError("$methodName not implemented", | 524 internalError("$methodName not implemented", |
| (...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1332 | 1336 |
| 1333 void close() {} | 1337 void close() {} |
| 1334 | 1338 |
| 1335 toString() => name; | 1339 toString() => name; |
| 1336 | 1340 |
| 1337 /// Convenience method for getting an [api.CompilerOutputProvider]. | 1341 /// Convenience method for getting an [api.CompilerOutputProvider]. |
| 1338 static NullSink outputProvider(String name, String extension) { | 1342 static NullSink outputProvider(String name, String extension) { |
| 1339 return new NullSink('$name.$extension'); | 1343 return new NullSink('$name.$extension'); |
| 1340 } | 1344 } |
| 1341 } | 1345 } |
| OLD | NEW |