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

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

Issue 1382143005: Limit hints on empty hide on package imports. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 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) 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 dart2js.compiler_base; 5 library dart2js.compiler_base;
6 6
7 import 'dart:async' show 7 import 'dart:async' show
8 EventSink, 8 EventSink,
9 Future; 9 Future;
10 10
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 * URI of the main source map if the compiler is generating source 239 * URI of the main source map if the compiler is generating source
240 * maps. 240 * maps.
241 */ 241 */
242 final Uri sourceMapUri; 242 final Uri sourceMapUri;
243 243
244 /** 244 /**
245 * URI of the main output if the compiler is generating source maps. 245 * URI of the main output if the compiler is generating source maps.
246 */ 246 */
247 final Uri outputUri; 247 final Uri outputUri;
248 248
249 /// Emit terse diagnostics without howToFix.
250 final bool terseDiagnostics;
251
252 /// If `true`, warnings and hints not from user code are reported.
253 final bool showPackageWarnings;
254
255 final bool suppressWarnings;
256 final bool fatalWarnings;
257
258 /// If `true`, some values are cached for reuse in incremental compilation. 249 /// If `true`, some values are cached for reuse in incremental compilation.
259 /// Incremental compilation is basically calling [run] more than once. 250 /// Incremental compilation is basically calling [run] more than once.
260 final bool hasIncrementalSupport; 251 final bool hasIncrementalSupport;
261 252
262 /// If `true` native extension syntax is supported by the frontend. 253 /// If `true` native extension syntax is supported by the frontend.
263 final bool allowNativeExtensions; 254 final bool allowNativeExtensions;
264 255
265 /// Output provider from user of Compiler API. 256 /// Output provider from user of Compiler API.
266 api.CompilerOutput userOutputProvider; 257 api.CompilerOutput userOutputProvider;
267 258
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 bool analyzeOnly: false, 453 bool analyzeOnly: false,
463 this.analyzeMain: false, 454 this.analyzeMain: false,
464 bool analyzeSignaturesOnly: false, 455 bool analyzeSignaturesOnly: false,
465 this.preserveComments: false, 456 this.preserveComments: false,
466 this.useCpsIr: false, 457 this.useCpsIr: false,
467 this.useFrequencyNamer: false, 458 this.useFrequencyNamer: false,
468 this.verbose: false, 459 this.verbose: false,
469 this.sourceMapUri: null, 460 this.sourceMapUri: null,
470 this.outputUri: null, 461 this.outputUri: null,
471 this.buildId: UNDETERMINED_BUILD_ID, 462 this.buildId: UNDETERMINED_BUILD_ID,
472 this.terseDiagnostics: false,
473 this.deferredMapUri: null, 463 this.deferredMapUri: null,
474 this.dumpInfo: false, 464 this.dumpInfo: false,
475 this.showPackageWarnings: false,
476 bool useStartupEmitter: false, 465 bool useStartupEmitter: false,
477 this.useContentSecurityPolicy: false, 466 this.useContentSecurityPolicy: false,
478 this.suppressWarnings: false,
479 this.fatalWarnings: false,
480 bool hasIncrementalSupport: false, 467 bool hasIncrementalSupport: false,
481 this.enableExperimentalMirrors: false, 468 this.enableExperimentalMirrors: false,
482 this.enableAssertMessage: false, 469 this.enableAssertMessage: false,
483 this.allowNativeExtensions: false, 470 this.allowNativeExtensions: false,
484 this.generateCodeWithCompileTimeErrors: false, 471 this.generateCodeWithCompileTimeErrors: false,
485 this.testMode: false, 472 this.testMode: false,
473 DiagnosticOptions diagnosticOptions,
486 api.CompilerOutput outputProvider, 474 api.CompilerOutput outputProvider,
487 List<String> strips: const []}) 475 List<String> strips: const []})
488 : this.disableTypeInferenceFlag = 476 : this.disableTypeInferenceFlag =
489 disableTypeInferenceFlag || !emitJavaScript, 477 disableTypeInferenceFlag || !emitJavaScript,
490 this.analyzeOnly = 478 this.analyzeOnly =
491 analyzeOnly || analyzeSignaturesOnly || analyzeAllFlag, 479 analyzeOnly || analyzeSignaturesOnly || analyzeAllFlag,
492 this.analyzeSignaturesOnly = analyzeSignaturesOnly, 480 this.analyzeSignaturesOnly = analyzeSignaturesOnly,
493 this.analyzeAllFlag = analyzeAllFlag, 481 this.analyzeAllFlag = analyzeAllFlag,
494 this.hasIncrementalSupport = hasIncrementalSupport, 482 this.hasIncrementalSupport = hasIncrementalSupport,
495 cacheStrategy = new CacheStrategy(hasIncrementalSupport), 483 cacheStrategy = new CacheStrategy(hasIncrementalSupport),
496 this.userOutputProvider = outputProvider == null 484 this.userOutputProvider = outputProvider == null
497 ? const NullCompilerOutput() : outputProvider { 485 ? const NullCompilerOutput() : outputProvider {
498 if (hasIncrementalSupport) { 486 if (hasIncrementalSupport) {
499 // TODO(ahe): This is too much. Any method from platform and package 487 // TODO(ahe): This is too much. Any method from platform and package
500 // libraries can be inlined. 488 // libraries can be inlined.
501 disableInlining = true; 489 disableInlining = true;
502 } 490 }
503 world = new World(this); 491 world = new World(this);
504 // TODO(johnniwinther): Initialize core types in [initializeCoreClasses] and 492 // TODO(johnniwinther): Initialize core types in [initializeCoreClasses] and
505 // make its field final. 493 // make its field final.
506 _reporter = new _CompilerDiagnosticReporter(this, 494 _reporter = new _CompilerDiagnosticReporter(this, diagnosticOptions);
507 new DiagnosticOptions(
508 suppressWarnings: suppressWarnings,
509 terseDiagnostics: terseDiagnostics,
510 showPackageWarnings: showPackageWarnings));
511 _parsing = new _CompilerParsing(this); 495 _parsing = new _CompilerParsing(this);
512 _resolution = new _CompilerResolution(this); 496 _resolution = new _CompilerResolution(this);
513 _coreTypes = new _CompilerCoreTypes(_resolution); 497 _coreTypes = new _CompilerCoreTypes(_resolution);
514 types = new Types(this); 498 types = new Types(this);
515 tracer = new Tracer(this, this.outputProvider); 499 tracer = new Tracer(this, this.outputProvider);
516 500
517 if (verbose) { 501 if (verbose) {
518 progress = new Stopwatch()..start(); 502 progress = new Stopwatch()..start();
519 } 503 }
520 504
(...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after
1200 message: 'Element $element is not analyzable.')); 1184 message: 'Element $element is not analyzable.'));
1201 assert(invariant(element, element.isDeclaration)); 1185 assert(invariant(element, element.isDeclaration));
1202 ResolutionEnqueuer world = enqueuer.resolution; 1186 ResolutionEnqueuer world = enqueuer.resolution;
1203 if (world.hasBeenResolved(element)) { 1187 if (world.hasBeenResolved(element)) {
1204 return const WorldImpact(); 1188 return const WorldImpact();
1205 } 1189 }
1206 assert(parser != null); 1190 assert(parser != null);
1207 Node tree = parser.parse(element); 1191 Node tree = parser.parse(element);
1208 assert(invariant(element, !element.isSynthesized || tree == null)); 1192 assert(invariant(element, !element.isSynthesized || tree == null));
1209 WorldImpact worldImpact = resolver.resolve(element); 1193 WorldImpact worldImpact = resolver.resolve(element);
1210 if (tree != null && !analyzeSignaturesOnly && !suppressWarnings) { 1194 if (tree != null &&
1195 !analyzeSignaturesOnly &&
1196 !reporter.options.suppressWarnings) {
1211 // Only analyze nodes with a corresponding [TreeElements]. 1197 // Only analyze nodes with a corresponding [TreeElements].
1212 checker.check(element); 1198 checker.check(element);
1213 } 1199 }
1214 world.registerResolvedElement(element); 1200 world.registerResolvedElement(element);
1215 return worldImpact; 1201 return worldImpact;
1216 } 1202 }
1217 1203
1218 WorldImpact analyze(ResolutionWorkItem work, ResolutionEnqueuer world) { 1204 WorldImpact analyze(ResolutionWorkItem work, ResolutionEnqueuer world) {
1219 assert(invariant(work.element, identical(world, enqueuer.resolution))); 1205 assert(invariant(work.element, identical(world, enqueuer.resolution)));
1220 assert(invariant(work.element, !work.isAnalyzed, 1206 assert(invariant(work.element, !work.isAnalyzed,
(...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after
1978 1964
1979 @override 1965 @override
1980 void parsePatchClass(ClassElement cls) { 1966 void parsePatchClass(ClassElement cls) {
1981 compiler.patchParser.measure(() { 1967 compiler.patchParser.measure(() {
1982 if (cls.isPatch) { 1968 if (cls.isPatch) {
1983 compiler.patchParser.parsePatchClassNode(cls); 1969 compiler.patchParser.parsePatchClassNode(cls);
1984 } 1970 }
1985 }); 1971 });
1986 } 1972 }
1987 } 1973 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/apiimpl.dart ('k') | pkg/compiler/lib/src/diagnostics/diagnostic_listener.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698