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

Side by Side Diff: pkg/front_end/lib/src/incremental_kernel_generator_impl.dart

Issue 2665043003: Simplify the API for incremental_resolved_ast_generator. (Closed)
Patch Set: Created 3 years, 10 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) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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:async'; 5 import 'dart:async';
6 6
7 import 'package:analyzer/dart/ast/ast.dart'; 7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/dart/ast/standard_resolution_map.dart'; 8 import 'package:analyzer/dart/ast/standard_resolution_map.dart';
9 import 'package:analyzer/dart/element/element.dart'; 9 import 'package:analyzer/dart/element/element.dart';
10 import 'package:analyzer/error/error.dart'; 10 import 'package:analyzer/error/error.dart';
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 } 86 }
87 87
88 @override 88 @override
89 void invalidate(String path) => _resolvedAstGenerator.invalidate(path); 89 void invalidate(String path) => _resolvedAstGenerator.invalidate(path);
90 90
91 @override 91 @override
92 void invalidateAll() => _resolvedAstGenerator.invalidateAll(); 92 void invalidateAll() => _resolvedAstGenerator.invalidateAll();
93 } 93 }
94 94
95 class _AnalysisContextProxy implements AnalysisContext { 95 class _AnalysisContextProxy implements AnalysisContext {
96 final Map<Uri, ResolvedLibrary> _resolvedLibraries; 96 final Map<Uri, Map<Uri, CompilationUnit>> _resolvedLibraries;
97 97
98 @override 98 @override
99 final _SourceFactoryProxy sourceFactory = new _SourceFactoryProxy(); 99 final _SourceFactoryProxy sourceFactory = new _SourceFactoryProxy();
100 100
101 @override 101 @override
102 final AnalysisOptions analysisOptions; 102 final AnalysisOptions analysisOptions;
103 103
104 _AnalysisContextProxy(this._resolvedLibraries, this.analysisOptions); 104 _AnalysisContextProxy(this._resolvedLibraries, this.analysisOptions);
105 105
106 List<AnalysisError> computeErrors(Source source) { 106 List<AnalysisError> computeErrors(Source source) {
107 // TODO(paulberry): do we need to return errors sometimes? 107 // TODO(paulberry): do we need to return errors sometimes?
108 return []; 108 return [];
109 } 109 }
110 110
111 LibraryElement computeLibraryElement(Source source) { 111 LibraryElement computeLibraryElement(Source source) {
112 assert(_resolvedLibraries.containsKey(source.uri)); 112 assert(_resolvedLibraries.containsKey(source.uri));
113 return resolutionMap 113 return resolutionMap
114 .elementDeclaredByCompilationUnit( 114 .elementDeclaredByCompilationUnit(
115 _resolvedLibraries[source.uri].definingCompilationUnit) 115 _resolvedLibraries[source.uri][source.uri])
116 .library; 116 .library;
117 } 117 }
118 118
119 noSuchMethod(Invocation invocation) => unimplemented(); 119 noSuchMethod(Invocation invocation) => unimplemented();
120 120
121 CompilationUnit resolveCompilationUnit( 121 CompilationUnit resolveCompilationUnit(
122 Source unitSource, LibraryElement library) { 122 Source unitSource, LibraryElement library) {
123 assert(_resolvedLibraries.containsKey(library.source.uri)); 123 var unit = _resolvedLibraries[library.source.uri][unitSource.uri];
124 var resolvedLibrary = _resolvedLibraries[library.source.uri]; 124 assert(unit != null);
125 if (unitSource == library.source) { 125 return unit;
126 return resolvedLibrary.definingCompilationUnit;
127 } else {
128 assert(resolvedLibrary.partUnits.containsKey(unitSource.uri));
129 return resolvedLibrary.partUnits[unitSource.uri];
130 }
131 } 126 }
132 } 127 }
133 128
134 class _AnalysisOptionsProxy implements AnalysisOptions { 129 class _AnalysisOptionsProxy implements AnalysisOptions {
135 final bool strongMode; 130 final bool strongMode;
136 131
137 _AnalysisOptionsProxy(this.strongMode); 132 _AnalysisOptionsProxy(this.strongMode);
138 133
139 noSuchMethod(Invocation invocation) => unimplemented(); 134 noSuchMethod(Invocation invocation) => unimplemented();
140 } 135 }
141 136
142 class _SourceFactoryProxy implements SourceFactory { 137 class _SourceFactoryProxy implements SourceFactory {
143 Source forUri2(Uri absoluteUri) => new _SourceProxy(absoluteUri); 138 Source forUri2(Uri absoluteUri) => new _SourceProxy(absoluteUri);
144 139
145 noSuchMethod(Invocation invocation) => unimplemented(); 140 noSuchMethod(Invocation invocation) => unimplemented();
146 } 141 }
147 142
148 class _SourceProxy extends BasicSource { 143 class _SourceProxy extends BasicSource {
149 _SourceProxy(Uri uri) : super(uri); 144 _SourceProxy(Uri uri) : super(uri);
150 145
151 noSuchMethod(Invocation invocation) => unimplemented(); 146 noSuchMethod(Invocation invocation) => unimplemented();
152 } 147 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698