Skip to content

Commit b528b6e

Browse files
scheglovCommit Queue
authored andcommitted
Macro. Remove most of the implementation.
Change-Id: Icd5966b91fb594a618dde38bb8b4c217ede75d9a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/406724 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Phil Quitslund <[email protected]>
1 parent 0235cf4 commit b528b6e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+15
-13999
lines changed

pkg/analysis_server/lib/src/handler/legacy/edit_get_fixes.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,6 @@ class EditGetFixesHandler extends LegacyHandler
163163
uri: optionsFile.toUri(),
164164
lineInfo: lineInfo,
165165
isLibrary: true,
166-
isMacroPart: false,
167166
isPart: false,
168167
errors: errors,
169168
analysisOptions: analysisOptions,
@@ -299,7 +298,6 @@ error.errorCode: ${error.errorCode}
299298
uri: pubspecFile.toUri(),
300299
lineInfo: lineInfo,
301300
isLibrary: true,
302-
isMacroPart: false,
303301
isPart: false,
304302
errors: errors,
305303
analysisOptions: analysisOptions,

pkg/analysis_server/lib/src/lsp/handlers/code_actions/abstract_code_actions_producer.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,6 @@ abstract class AbstractCodeActionsProducer
163163
uri: server.uriConverter.toClientUri(path),
164164
lineInfo: lineInfo,
165165
isLibrary: true,
166-
isMacroPart: false,
167166
isPart: false,
168167
errors: errors,
169168
analysisOptions: analysisOptions,

pkg/analyzer/lib/src/clients/build_resolvers/build_resolvers.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import 'package:analyzer/src/dart/analysis/performance_logger.dart';
1717
import 'package:analyzer/src/generated/source.dart';
1818
import 'package:analyzer/src/summary/package_bundle_reader.dart';
1919
import 'package:analyzer/src/summary/summary_sdk.dart';
20-
import 'package:analyzer/src/summary2/macro.dart';
2120
import 'package:analyzer/src/summary2/package_bundle_format.dart';
2221

2322
export 'package:analyzer/dart/analysis/analysis_options.dart'
@@ -70,7 +69,6 @@ AnalysisDriverForPackageBuild createAnalysisDriver({
7069
analysisOptionsMap: optionsMap,
7170
externalSummaries: dataStore,
7271
packages: packages,
73-
macroSupport: KernelMacroSupport(),
7472
shouldReportInconsistentAnalysisException: false,
7573
);
7674

pkg/analyzer/lib/src/dart/analysis/analysis_context_collection.dart

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,13 @@ import 'package:analyzer/src/dart/analysis/info_declaration_store.dart';
1818
import 'package:analyzer/src/dart/analysis/performance_logger.dart';
1919
import 'package:analyzer/src/dart/analysis/unlinked_unit_store.dart';
2020
import 'package:analyzer/src/generated/sdk.dart';
21-
import 'package:analyzer/src/summary2/kernel_compilation_service.dart';
22-
import 'package:analyzer/src/summary2/macro.dart';
2321
import 'package:analyzer/src/util/sdk.dart';
2422

2523
/// An implementation of [AnalysisContextCollection].
2624
class AnalysisContextCollectionImpl implements AnalysisContextCollection {
2725
/// The resource provider used to access the file system.
2826
final ResourceProvider resourceProvider;
2927

30-
/// The support for executing macros.
31-
late final MacroSupportFactory macroSupportFactory;
32-
3328
/// The shared container into which drivers record files ownership.
3429
final OwnedFiles ownedFiles = OwnedFiles();
3530

@@ -65,7 +60,6 @@ class AnalysisContextCollectionImpl implements AnalysisContextCollection {
6560
required ContextRoot contextRoot,
6661
required DartSdk sdk,
6762
})? updateAnalysisOptions2,
68-
MacroSupportFactory? macroSupportFactory,
6963
bool enableLintRuleTiming = false,
7064
}) : resourceProvider =
7165
resourceProvider ?? PhysicalResourceProvider.INSTANCE {
@@ -87,11 +81,6 @@ class AnalysisContextCollectionImpl implements AnalysisContextCollection {
8781
_throwIfAnyNotAbsoluteNormalizedPath(includedPaths);
8882
_throwIfNotAbsoluteNormalizedPath(sdkPath);
8983

90-
macroSupportFactory ??= KernelMacroSupportFactory();
91-
// TODO(scheglov): https://github.com/dart-lang/linter/issues/3134
92-
// ignore: prefer_initializing_formals
93-
this.macroSupportFactory = macroSupportFactory;
94-
9584
var contextLocator = ContextLocatorImpl(
9685
resourceProvider: this.resourceProvider,
9786
);
@@ -105,7 +94,6 @@ class AnalysisContextCollectionImpl implements AnalysisContextCollection {
10594
resourceProvider: this.resourceProvider,
10695
);
10796
for (var root in roots) {
108-
var macroSupport = macroSupportFactory.newInstance();
10997
var context = contextBuilder.createContext(
11098
byteStore: byteStore,
11199
contextRoot: root,
@@ -123,7 +111,6 @@ class AnalysisContextCollectionImpl implements AnalysisContextCollection {
123111
fileContentCache: fileContentCache,
124112
unlinkedUnitStore: unlinkedUnitStore ?? UnlinkedUnitStoreImpl(),
125113
infoDeclarationStore: infoDeclarationStore,
126-
macroSupport: macroSupport,
127114
ownedFiles: ownedFiles,
128115
enableLintRuleTiming: enableLintRuleTiming,
129116
);
@@ -165,11 +152,6 @@ class AnalysisContextCollectionImpl implements AnalysisContextCollection {
165152
for (var analysisContext in contexts) {
166153
await analysisContext.driver.dispose2();
167154
}
168-
await macroSupportFactory.dispose();
169-
// If there are other collections, they will have to start it again.
170-
if (!forTesting) {
171-
await KernelCompilationService.dispose();
172-
}
173155
}
174156

175157
/// Check every element with [_throwIfNotAbsoluteNormalizedPath].

pkg/analyzer/lib/src/dart/analysis/context_builder.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import 'package:analyzer/src/generated/sdk.dart' show DartSdk;
3131
import 'package:analyzer/src/generated/source.dart';
3232
import 'package:analyzer/src/summary/package_bundle_reader.dart';
3333
import 'package:analyzer/src/summary/summary_sdk.dart';
34-
import 'package:analyzer/src/summary2/macro.dart';
3534
import 'package:analyzer/src/summary2/package_bundle_format.dart';
3635
import 'package:analyzer/src/workspace/workspace.dart';
3736

@@ -88,7 +87,6 @@ class ContextBuilderImpl {
8887
FileContentCache? fileContentCache,
8988
UnlinkedUnitStore? unlinkedUnitStore,
9089
InfoDeclarationStore? infoDeclarationStore,
91-
MacroSupport? macroSupport,
9290
OwnedFiles? ownedFiles,
9391
bool enableLintRuleTiming = false,
9492
}) {
@@ -159,7 +157,6 @@ class ContextBuilderImpl {
159157
fileContentCache: fileContentCache,
160158
unlinkedUnitStore: unlinkedUnitStore,
161159
infoDeclarationStore: infoDeclarationStore,
162-
macroSupport: macroSupport,
163160
declaredVariables: declaredVariables,
164161
testView: retainDataForTesting ? AnalysisDriverTestView() : null,
165162
ownedFiles: ownedFiles,

pkg/analyzer/lib/src/dart/analysis/driver.dart

Lines changed: 1 addition & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,11 @@ import 'package:analyzer/src/summary/idl.dart';
5151
import 'package:analyzer/src/summary/package_bundle_reader.dart';
5252
import 'package:analyzer/src/summary2/ast_binary_flags.dart';
5353
import 'package:analyzer/src/summary2/bundle_writer.dart';
54-
import 'package:analyzer/src/summary2/macro.dart';
5554
import 'package:analyzer/src/summary2/package_bundle_format.dart';
5655
import 'package:analyzer/src/util/file_paths.dart' as file_paths;
5756
import 'package:analyzer/src/util/performance/operation_performance.dart';
5857
import 'package:analyzer/src/utilities/extensions/async.dart';
5958
import 'package:analyzer/src/utilities/extensions/collection.dart';
60-
import 'package:analyzer/src/utilities/extensions/string.dart';
6159
import 'package:analyzer/src/utilities/uri_cache.dart';
6260
import 'package:analyzer/src/workspace/pub.dart';
6361
import 'package:collection/collection.dart';
@@ -99,7 +97,7 @@ import 'package:meta/meta.dart';
9997
// TODO(scheglov): Clean up the list of implicitly analyzed files.
10098
class AnalysisDriver {
10199
/// The version of data format, should be incremented on every format change.
102-
static const int DATA_VERSION = 427;
100+
static const int DATA_VERSION = 428;
103101

104102
/// The number of exception contexts allowed to write. Once this field is
105103
/// zero, we stop writing any new exception contexts in this process.
@@ -147,9 +145,6 @@ class AnalysisDriver {
147145
/// from file paths.
148146
final SourceFactory _sourceFactory;
149147

150-
/// The support for executing macros.
151-
final MacroSupport? macroSupport;
152-
153148
/// The container, shared with other drivers within the same collection,
154149
/// into which all drivers record files ownership.
155150
final OwnedFiles? ownedFiles;
@@ -281,7 +276,6 @@ class AnalysisDriver {
281276
required ByteStore byteStore,
282277
required SourceFactory sourceFactory,
283278
required Packages packages,
284-
this.macroSupport,
285279
this.ownedFiles,
286280
this.analysisContext,
287281
@Deprecated("Use 'analysisOptionsMap' instead")
@@ -394,7 +388,6 @@ class AnalysisDriver {
394388
analysisOptionsMap: analysisOptionsMap,
395389
declaredVariables: declaredVariables,
396390
sourceFactory: _sourceFactory,
397-
macroSupport: macroSupport,
398391
packagesFile: analysisContext?.contextRoot.packagesFile,
399392
externalSummaries: _externalSummaries,
400393
fileSystemState: _fsState,
@@ -803,12 +796,6 @@ class AnalysisDriver {
803796
);
804797
}
805798

806-
// If a macro generated file, request its library instead.
807-
var file = resourceProvider.getFile(path);
808-
if (file.libraryForMacro case var library?) {
809-
_errorsRequestedFiles.addKey(library.path);
810-
}
811-
812799
// Schedule analysis.
813800
var completer = Completer<SomeErrorsResult>();
814801
_errorsRequestedFiles.add(path, completer);
@@ -866,12 +853,6 @@ class AnalysisDriver {
866853
return Future.value();
867854
}
868855

869-
// If a macro generated file, request its library instead.
870-
var file = resourceProvider.getFile(path);
871-
if (file.libraryForMacro case var library?) {
872-
_indexRequestedFiles.addKey(library.path);
873-
}
874-
875856
// Schedule analysis.
876857
var completer = Completer<AnalysisDriverUnitIndex?>();
877858
_indexRequestedFiles.add(path, completer);
@@ -1096,12 +1077,6 @@ class AnalysisDriver {
10961077
);
10971078
}
10981079

1099-
// If a macro generated file, request its library instead.
1100-
var file = resourceProvider.getFile(path);
1101-
if (file.libraryForMacro case var library?) {
1102-
_requestedFiles.addKey(library.path);
1103-
}
1104-
11051080
// Schedule analysis.
11061081
var completer = Completer<SomeResolvedUnitResult>();
11071082
_requestedFiles.add(path, completer);
@@ -1139,13 +1114,6 @@ class AnalysisDriver {
11391114
);
11401115
}
11411116

1142-
// If a macro generated file, request its library.
1143-
// Once the library is ready, we can return the requested result.
1144-
var file = resourceProvider.getFile(path);
1145-
if (file.libraryForMacro case var library?) {
1146-
_unitElementRequestedFiles.addKey(library.path);
1147-
}
1148-
11491117
// Schedule analysis.
11501118
var completer = Completer<SomeUnitElementResult>();
11511119
_unitElementRequestedFiles.add(path, completer);
@@ -1585,7 +1553,6 @@ class AnalysisDriver {
15851553
lineInfo: file.lineInfo,
15861554
uri: file.uri,
15871555
isLibrary: file.kind is LibraryFileKind,
1588-
isMacroPart: file.isMacroPart,
15891556
isPart: file.kind is PartFileKind,
15901557
errors: errors,
15911558
analysisOptions: file.analysisOptions,
@@ -1673,24 +1640,6 @@ class AnalysisDriver {
16731640
}
16741641
}
16751642

1676-
Future<void> _ensureMacroGeneratedFiles() async {
1677-
for (var file in knownFiles.toList()) {
1678-
if (file.kind case LibraryFileKind libraryKind) {
1679-
var libraryCycle = libraryKind.libraryCycle;
1680-
if (libraryCycle.importsMacroClass) {
1681-
if (!libraryCycle.hasMacroFilesCreated) {
1682-
libraryCycle.hasMacroFilesCreated = true;
1683-
// We create macro-generated FileState(s) when load bundles.
1684-
await libraryContext.load(
1685-
targetLibrary: libraryKind,
1686-
performance: OperationPerformanceImpl('<root>'),
1687-
);
1688-
}
1689-
}
1690-
}
1691-
}
1692-
}
1693-
16941643
Future<void> _getErrors(String path) async {
16951644
var file = _fsState.getFileForPath(path);
16961645

@@ -1728,8 +1677,6 @@ class AnalysisDriver {
17281677
Future<void> _getFilesDefiningClassMemberName(
17291678
_GetFilesDefiningClassMemberNameRequest request,
17301679
) async {
1731-
await _ensureMacroGeneratedFiles();
1732-
17331680
var result = <FileState>[];
17341681
for (var file in knownFiles) {
17351682
if (file.definedClassMemberNames.contains(request.name)) {
@@ -1742,8 +1689,6 @@ class AnalysisDriver {
17421689
Future<void> _getFilesReferencingName(
17431690
_GetFilesReferencingNameRequest request,
17441691
) async {
1745-
await _ensureMacroGeneratedFiles();
1746-
17471692
var result = <FileState>[];
17481693
for (var file in knownFiles) {
17491694
if (file.referencedNames.contains(request.name)) {
@@ -1899,7 +1844,6 @@ class AnalysisDriver {
18991844
lineInfo: file.lineInfo,
19001845
uri: file.uri,
19011846
isLibrary: file.kind is LibraryFileKind,
1902-
isMacroPart: file.isMacroPart,
19031847
isPart: file.kind is PartFileKind,
19041848
errors: [
19051849
AnalysisError.tmp(
@@ -2673,21 +2617,3 @@ extension<K, V> on Map<K, List<Completer<V>>> {
26732617
remove(key)?.completeAll(value);
26742618
}
26752619
}
2676-
2677-
extension FileExtension on File {
2678-
File? get libraryForMacro {
2679-
if (path.removeSuffix('.macro.dart') case var noExtPath?) {
2680-
var libraryPath = '$noExtPath.dart';
2681-
return provider.getFile(libraryPath);
2682-
}
2683-
return null;
2684-
}
2685-
2686-
File? get macroForLibrary {
2687-
if (path.removeSuffix('.dart') case var noExtPath?) {
2688-
var libraryPath = '$noExtPath.macro.dart';
2689-
return provider.getFile(libraryPath);
2690-
}
2691-
return null;
2692-
}
2693-
}

0 commit comments

Comments
 (0)