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

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

Issue 1949163003: fix for #520, ListMixin should work again (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 7 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
« no previous file with comments | « lib/src/compiler/code_generator.dart ('k') | lib/src/compiler/extension_types.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
(...skipping 24 matching lines...) Expand all
35 /// time. (Currently there is no warm up, but there may be in the future.) 35 /// time. (Currently there is no warm up, but there may be in the future.)
36 /// 36 ///
37 /// The SDK source code is assumed to be immutable for the life of this class. 37 /// The SDK source code is assumed to be immutable for the life of this class.
38 /// 38 ///
39 /// For all other files, it is up to the [AnalysisContext] to decide whether or 39 /// For all other files, it is up to the [AnalysisContext] to decide whether or
40 /// not any caching is performed. By default an analysis context will assume 40 /// not any caching is performed. By default an analysis context will assume
41 /// sources are immutable for the life of the context, and cache information 41 /// sources are immutable for the life of the context, and cache information
42 /// about them. 42 /// about them.
43 class ModuleCompiler { 43 class ModuleCompiler {
44 final AnalysisContext context; 44 final AnalysisContext context;
45 final _extensionTypes = new ExtensionTypeSet(); 45 final ExtensionTypeSet _extensionTypes;
46 46
47 ModuleCompiler.withContext(this.context); 47 ModuleCompiler.withContext(AnalysisContext context)
48 : context = context,
49 _extensionTypes = new ExtensionTypeSet(context) {
50 if (!context.analysisOptions.strongMode) {
51 throw new ArgumentError('AnalysisContext must be strong mode');
52 }
53 if (!context.sourceFactory.dartSdk.context.analysisOptions.strongMode) {
54 throw new ArgumentError('AnalysisContext must have strong mode SDK');
55 }
56 }
48 57
49 ModuleCompiler(AnalyzerOptions analyzerOptions) 58 ModuleCompiler(AnalyzerOptions analyzerOptions)
50 : this.withContext(createAnalysisContextWithSources(analyzerOptions)); 59 : this.withContext(createAnalysisContextWithSources(analyzerOptions));
51 60
52 /// Compiles a single Dart build unit into a JavaScript module. 61 /// Compiles a single Dart build unit into a JavaScript module.
53 /// 62 ///
54 /// *Warning* - this may require resolving the entire world. 63 /// *Warning* - this may require resolving the entire world.
55 /// If that is not desired, the analysis context must be pre-configured using 64 /// If that is not desired, the analysis context must be pre-configured using
56 /// summaries before calling this method. 65 /// summaries before calling this method.
57 JSModuleFile compile(BuildUnit unit, CompilerOptions options) { 66 JSModuleFile compile(BuildUnit unit, CompilerOptions options) {
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 } 300 }
292 } 301 }
293 302
294 /// (Public for tests) the error code used when a part is missing. 303 /// (Public for tests) the error code used when a part is missing.
295 final missingPartErrorCode = const CompileTimeErrorCode( 304 final missingPartErrorCode = const CompileTimeErrorCode(
296 'MISSING_PART', 'The part was not supplied as an input to the compiler.'); 305 'MISSING_PART', 'The part was not supplied as an input to the compiler.');
297 306
298 /// (Public for tests) the error code used when a part is unused. 307 /// (Public for tests) the error code used when a part is unused.
299 final unusedPartWarningCode = const StaticWarningCode( 308 final unusedPartWarningCode = const StaticWarningCode(
300 'UNUSED_PART', 'The part was not used by any libraries being compiled.'); 309 'UNUSED_PART', 'The part was not used by any libraries being compiled.');
OLDNEW
« no previous file with comments | « lib/src/compiler/code_generator.dart ('k') | lib/src/compiler/extension_types.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698