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

Side by Side Diff: lib/src/compiler/compiler.dart

Issue 2183603003: Working compiler in browser. (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Cleaned up CL with John's comments 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 import 'dart:collection' show HashSet; 5 import 'dart:collection' show HashSet;
6 import 'package:args/args.dart' show ArgParser, ArgResults; 6 import 'package:args/args.dart' show ArgParser, ArgResults;
7 import 'package:analyzer/analyzer.dart' 7 import 'package:analyzer/analyzer.dart'
8 show 8 show
9 AnalysisError, 9 AnalysisError,
10 CompilationUnit, 10 CompilationUnit,
11 CompileTimeErrorCode, 11 CompileTimeErrorCode,
12 ErrorSeverity, 12 ErrorSeverity,
13 StaticWarningCode; 13 StaticWarningCode;
14 import 'package:analyzer/file_system/file_system.dart' show ResourceProvider;
14 import 'package:analyzer/src/generated/engine.dart' show AnalysisContext; 15 import 'package:analyzer/src/generated/engine.dart' show AnalysisContext;
15 import 'package:analyzer/src/generated/java_engine.dart' show AnalysisException; 16 import 'package:analyzer/src/generated/java_engine.dart' show AnalysisException;
16 import 'package:analyzer/src/generated/source_io.dart' show Source, SourceKind; 17 import 'package:analyzer/src/generated/source.dart' show DartUriResolver;
18 import 'package:analyzer/src/generated/source_io.dart'
19 show Source, SourceKind, UriResolver;
17 import 'package:func/func.dart' show Func1; 20 import 'package:func/func.dart' show Func1;
18 import 'package:path/path.dart' as path; 21 import 'package:path/path.dart' as path;
19 22
20 import '../analyzer/context.dart' 23 import '../analyzer/context.dart'
21 show AnalyzerOptions, createAnalysisContextWithSources; 24 show AnalyzerOptions, createAnalysisContextWithSources;
22 import 'extension_types.dart' show ExtensionTypeSet; 25 import 'extension_types.dart' show ExtensionTypeSet;
23 import 'code_generator.dart' show CodeGenerator; 26 import 'code_generator.dart' show CodeGenerator;
24 import 'error_helpers.dart' show errorSeverity, formatError, sortErrors; 27 import 'error_helpers.dart' show errorSeverity, formatError, sortErrors;
25 28
26 /// Compiles a set of Dart files into a single JavaScript module. 29 /// Compiles a set of Dart files into a single JavaScript module.
(...skipping 21 matching lines...) Expand all
48 : context = context, 51 : context = context,
49 _extensionTypes = new ExtensionTypeSet(context) { 52 _extensionTypes = new ExtensionTypeSet(context) {
50 if (!context.analysisOptions.strongMode) { 53 if (!context.analysisOptions.strongMode) {
51 throw new ArgumentError('AnalysisContext must be strong mode'); 54 throw new ArgumentError('AnalysisContext must be strong mode');
52 } 55 }
53 if (!context.sourceFactory.dartSdk.context.analysisOptions.strongMode) { 56 if (!context.sourceFactory.dartSdk.context.analysisOptions.strongMode) {
54 throw new ArgumentError('AnalysisContext must have strong mode SDK'); 57 throw new ArgumentError('AnalysisContext must have strong mode SDK');
55 } 58 }
56 } 59 }
57 60
58 ModuleCompiler(AnalyzerOptions analyzerOptions) 61 ModuleCompiler(AnalyzerOptions analyzerOptions,
59 : this.withContext(createAnalysisContextWithSources(analyzerOptions)); 62 {DartUriResolver sdkResolver,
63 ResourceProvider resourceProvider,
64 List<UriResolver> fileResolvers})
65 : this.withContext(createAnalysisContextWithSources(analyzerOptions,
66 sdkResolver: sdkResolver,
67 fileResolvers: fileResolvers,
68 resourceProvider: resourceProvider));
60 69
61 /// Compiles a single Dart build unit into a JavaScript module. 70 /// Compiles a single Dart build unit into a JavaScript module.
62 /// 71 ///
63 /// *Warning* - this may require resolving the entire world. 72 /// *Warning* - this may require resolving the entire world.
64 /// If that is not desired, the analysis context must be pre-configured using 73 /// If that is not desired, the analysis context must be pre-configured using
65 /// summaries before calling this method. 74 /// summaries before calling this method.
66 JSModuleFile compile(BuildUnit unit, CompilerOptions options) { 75 JSModuleFile compile(BuildUnit unit, CompilerOptions options) {
67 var trees = <CompilationUnit>[]; 76 var trees = <CompilationUnit>[];
68 var errors = <AnalysisError>[]; 77 var errors = <AnalysisError>[];
69 78
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 } 351 }
343 } 352 }
344 353
345 /// (Public for tests) the error code used when a part is missing. 354 /// (Public for tests) the error code used when a part is missing.
346 final missingPartErrorCode = const CompileTimeErrorCode( 355 final missingPartErrorCode = const CompileTimeErrorCode(
347 'MISSING_PART', 'The part was not supplied as an input to the compiler.'); 356 'MISSING_PART', 'The part was not supplied as an input to the compiler.');
348 357
349 /// (Public for tests) the error code used when a part is unused. 358 /// (Public for tests) the error code used when a part is unused.
350 final unusedPartWarningCode = const StaticWarningCode( 359 final unusedPartWarningCode = const StaticWarningCode(
351 'UNUSED_PART', 'The part was not used by any libraries being compiled.'); 360 'UNUSED_PART', 'The part was not used by any libraries being compiled.');
OLDNEW
« no previous file with comments | « lib/src/analyzer/context.dart ('k') | pubspec.lock » ('j') | web/web_command.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698