Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: site/try/src/compiler_isolate.dart

Issue 2232273004: Delete site/try (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: site/try/src/compiler_isolate.dart
diff --git a/site/try/src/compiler_isolate.dart b/site/try/src/compiler_isolate.dart
deleted file mode 100644
index ea82650574906f068b90b3fb776d05513f770ea4..0000000000000000000000000000000000000000
--- a/site/try/src/compiler_isolate.dart
+++ /dev/null
@@ -1,180 +0,0 @@
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-library compiler_isolate;
-
-import 'dart:async';
-import 'dart:html';
-import 'dart:isolate';
-import 'dart:convert' show JSON;
-
-import 'compilation.dart' show PRIVATE_SCHEME;
-
-import 'package:compiler/compiler.dart' as compiler;
-
-import 'package:compiler/src/old_to_new_api.dart' show
- LegacyCompilerDiagnostics, LegacyCompilerInput;
-
-import 'package:dart2js_incremental/dart2js_incremental.dart' show
- reuseCompiler, OutputProvider;
-
-import 'package:compiler/src/compiler.dart' show
- Compiler;
-
-const bool THROW_ON_ERROR = false;
-
-final cachedSources = new Map<Uri, Future<String>>();
-
-Uri sdkLocation;
-List options = [];
-
-var communicateViaBlobs;
-
-var cachedCompiler;
-
-void notifyDartHtml(SendPort port) {
- // Notify the controlling isolate (Try Dart UI) that the program imports
- // dart:html. This is used to determine how to run the program: in an iframe
- // or in a worker.
- port.send('dart:html');
-}
-
-compile(source, SendPort replyTo) {
- if (sdkLocation == null) {
- // The first message received gives us the URI of this web app.
- if (source.endsWith('/sdk.json')) {
- var request = new HttpRequest();
- request.open('GET', source, async: false);
- request.send(null);
- if (request.status != 200) {
- throw 'SDK not found at $source';
- }
- sdkLocation = Uri.parse('sdk:/sdk/');
- JSON.decode(request.responseText).forEach((file, content) {
- cachedSources[Uri.parse(file)] = new Future<String>.value(content);
- });
- } else {
- sdkLocation = Uri.parse(source);
- }
- replyTo.send(null);
- return;
- }
- if (source is List) {
- String messageType = (source.length > 0) ? source[0] : null;
- var data = (source.length > 1) ? source[1] : null;
- if (messageType == 'options') {
- options = data as List;
- } if (messageType == 'communicateViaBlobs') {
- communicateViaBlobs = data as bool;
- }
- return;
- }
- int charactersRead = 0;
- Future<String> inputProvider(Uri uri) {
- Future<String> future;
- if (uri.scheme == 'sdk') {
- if (uri.path.endsWith('/lib/html/dart2js/html_dart2js.dart')) {
- notifyDartHtml(replyTo);
- }
- future = cachedSources[uri];
- } else if (uri.scheme == 'http' || uri.scheme == 'https') {
- future =
- cachedSources.putIfAbsent(uri, () => HttpRequest.getString('$uri'));
- } else if ('$uri' == '$PRIVATE_SCHEME:/main.dart') {
- future = new Future<String>.value(source);
- } else if (uri.scheme == PRIVATE_SCHEME) {
- future = HttpRequest.getString('project${uri.path}');
- }
- if (future == null) {
- future = new Future<String>.error('$uri: Not found');
- }
- return future.then((String value) {
- charactersRead += value.length;
- return value;
- }).catchError((Event event) {
- var target = event.target;
- if (target is HttpRequest) {
- throw '$uri: ${target.statusText}';
- } else {
- throw event;
- }
- }, test: (error) => error is Event);
- }
- void handler(Uri uri, int begin, int end,
- String message, compiler.Diagnostic kind) {
- replyTo.send(['diagnostic', { 'uri': '$uri',
- 'begin': begin,
- 'end': end,
- 'message': message,
- 'kind': kind.name }]);
- if (THROW_ON_ERROR && kind == compiler.Diagnostic.ERROR) {
- throw new Exception('Throw on error');
- }
- }
- Stopwatch compilationTimer = new Stopwatch()..start();
- OutputProvider outputProvider = new OutputProvider();
- reuseCompiler(
- diagnosticHandler: new LegacyCompilerDiagnostics(handler),
- inputProvider: new LegacyCompilerInput(inputProvider),
- outputProvider: outputProvider,
- options: options,
- cachedCompiler: cachedCompiler,
- libraryRoot: sdkLocation,
- packageRoot: Uri.base.resolve('/packages/'),
- packagesAreImmutable: true).then((Compiler newCompiler) {
- cachedCompiler = newCompiler;
- return cachedCompiler.run(Uri.parse('$PRIVATE_SCHEME:/main.dart'));
- }).then((success) {
- compilationTimer.stop();
- print('Compilation took ${compilationTimer.elapsed}');
- if (cachedCompiler.libraryLoader
- .lookupLibrary(Uri.parse('dart:html')) != null) {
- notifyDartHtml(replyTo);
- }
- String js = outputProvider['.js'];
- if (js == null) {
- if (!options.contains('--analyze-only')) replyTo.send('failed');
- } else {
- var url;
- handler(null, 0, 0,
- 'Compiled ${source.length}/${charactersRead} characters Dart'
- ' -> ${js.length} characters.',
- compiler.Diagnostic.VERBOSE_INFO);
- if (communicateViaBlobs) {
- try {
- // At least Safari and Firefox do not support creating an
- // object URL from a web worker. MDN claims that it will be
- // supported in Firefox 21.
- url = Url.createObjectUrl(new Blob([js], 'application/javascript'));
- } catch (_) {
- // Ignored.
- }
- } else {
- url = null;
- }
- if (url != null) {
- replyTo.send(['url', url]);
- } else {
- replyTo.send(['code', js]);
- }
- }
- }).catchError((e, trace) {
- replyTo.send(['crash', '$e, $trace']);
- }).whenComplete(() {
- replyTo.send('done');
- });
-}
-
-void main(List<String> arguments, SendPort port) {
- ReceivePort replyTo = new ReceivePort();
- port.send(replyTo.sendPort);
- replyTo.listen((message) {
- try {
- List list = message as List;
- compile(list[0], list[1]);
- } catch (exception, stack) {
- port.send('$exception\n$stack');
- }
- });
-}
« dart.gyp ('K') | « site/try/src/compilation_unit.dart ('k') | site/try/src/decoration.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698