Create DartCompletionRequest with values, currently using forResolvedUnit() constructor.
Change-Id: Ie3db8617ed882d9561f9ea49b23dd5f8d3b4cf5a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219753 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
committed by
commit-bot@chromium.org
parent
428d3e83a2
commit
5ffec0e46e
@@ -70,7 +70,7 @@ class CiderCompletionComputer {
|
||||
var lineInfo = resolvedUnit.lineInfo;
|
||||
var offset = lineInfo.getOffsetOfLine(line) + column;
|
||||
|
||||
_dartCompletionRequest = DartCompletionRequest(
|
||||
_dartCompletionRequest = DartCompletionRequest.forResolvedUnit(
|
||||
resolvedUnit: resolvedUnit,
|
||||
offset: offset,
|
||||
);
|
||||
|
||||
@@ -329,7 +329,7 @@ class CompletionDomainHandler extends AbstractRequestHandler {
|
||||
);
|
||||
performanceList.add(completionPerformance);
|
||||
|
||||
var completionRequest = DartCompletionRequest(
|
||||
var completionRequest = DartCompletionRequest.forResolvedUnit(
|
||||
resolvedUnit: resolvedUnit,
|
||||
offset: offset,
|
||||
dartdocDirectiveInfo: server.getDartdocDirectiveInfoFor(
|
||||
@@ -527,7 +527,7 @@ class CompletionDomainHandler extends AbstractRequestHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
var completionRequest = DartCompletionRequest(
|
||||
var completionRequest = DartCompletionRequest.forResolvedUnit(
|
||||
resolvedUnit: resolvedUnit,
|
||||
offset: offset,
|
||||
dartdocDirectiveInfo: server.getDartdocDirectiveInfoFor(
|
||||
|
||||
@@ -69,7 +69,7 @@ class RuntimeCompletionComputer {
|
||||
return RuntimeCompletionResult([], []);
|
||||
}
|
||||
|
||||
var dartRequest = DartCompletionRequest(
|
||||
var dartRequest = DartCompletionRequest.forResolvedUnit(
|
||||
resolvedUnit: targetResult,
|
||||
offset: targetOffset,
|
||||
);
|
||||
|
||||
@@ -215,7 +215,7 @@ class CompletionHandler
|
||||
);
|
||||
server.performanceStats.completion.add(completionPerformance);
|
||||
|
||||
final completionRequest = DartCompletionRequest(
|
||||
final completionRequest = DartCompletionRequest.forResolvedUnit(
|
||||
resolvedUnit: unit,
|
||||
offset: offset,
|
||||
dartdocDirectiveInfo: server.getDartdocDirectiveInfoFor(unit),
|
||||
|
||||
@@ -328,17 +328,22 @@ class DartCompletionRequest {
|
||||
bool _aborted = false;
|
||||
|
||||
factory DartCompletionRequest({
|
||||
required ResolvedUnitResult resolvedUnit,
|
||||
required AnalysisSession analysisSession,
|
||||
required String filePath,
|
||||
required String fileContent,
|
||||
required CompilationUnitElement unitElement,
|
||||
required AstNode enclosingNode,
|
||||
required int offset,
|
||||
DartdocDirectiveInfo? dartdocDirectiveInfo,
|
||||
CompletionPreference completionPreference = CompletionPreference.insert,
|
||||
DocumentationCache? documentationCache,
|
||||
}) {
|
||||
var target = CompletionTarget.forOffset(resolvedUnit.unit, offset);
|
||||
var target = CompletionTarget.forOffset(enclosingNode, offset);
|
||||
|
||||
var libraryElement = unitElement.library;
|
||||
var featureComputer = FeatureComputer(
|
||||
resolvedUnit.typeSystem,
|
||||
resolvedUnit.typeProvider,
|
||||
libraryElement.typeSystem,
|
||||
libraryElement.typeProvider,
|
||||
);
|
||||
|
||||
var contextType = featureComputer.computeContextType(
|
||||
@@ -352,23 +357,43 @@ class DartCompletionRequest {
|
||||
}
|
||||
|
||||
return DartCompletionRequest._(
|
||||
analysisSession: resolvedUnit.session as AnalysisSessionImpl,
|
||||
analysisSession: analysisSession as AnalysisSessionImpl,
|
||||
completionPreference: completionPreference,
|
||||
content: resolvedUnit.content,
|
||||
content: fileContent,
|
||||
contextType: contextType,
|
||||
dartdocDirectiveInfo: dartdocDirectiveInfo ?? DartdocDirectiveInfo(),
|
||||
documentationCache: documentationCache,
|
||||
featureComputer: featureComputer,
|
||||
libraryElement: resolvedUnit.libraryElement,
|
||||
libraryElement: libraryElement,
|
||||
offset: offset,
|
||||
opType: opType,
|
||||
path: resolvedUnit.path,
|
||||
path: filePath,
|
||||
replacementRange: target.computeReplacementRange(offset),
|
||||
source: resolvedUnit.unit.declaredElement!.source,
|
||||
source: unitElement.source,
|
||||
target: target,
|
||||
);
|
||||
}
|
||||
|
||||
factory DartCompletionRequest.forResolvedUnit({
|
||||
required ResolvedUnitResult resolvedUnit,
|
||||
required int offset,
|
||||
DartdocDirectiveInfo? dartdocDirectiveInfo,
|
||||
CompletionPreference completionPreference = CompletionPreference.insert,
|
||||
DocumentationCache? documentationCache,
|
||||
}) {
|
||||
return DartCompletionRequest(
|
||||
analysisSession: resolvedUnit.session,
|
||||
filePath: resolvedUnit.path,
|
||||
fileContent: resolvedUnit.content,
|
||||
unitElement: resolvedUnit.unit.declaredElement!,
|
||||
enclosingNode: resolvedUnit.unit,
|
||||
offset: offset,
|
||||
dartdocDirectiveInfo: dartdocDirectiveInfo,
|
||||
completionPreference: completionPreference,
|
||||
documentationCache: documentationCache,
|
||||
);
|
||||
}
|
||||
|
||||
DartCompletionRequest._({
|
||||
required this.analysisSession,
|
||||
required this.completionPreference,
|
||||
|
||||
@@ -531,7 +531,7 @@ abstract class _BaseDartCompletionContributorTest extends AbstractContextTest {
|
||||
result = await session.getResolvedUnit(testFile) as ResolvedUnitResult;
|
||||
|
||||
// Build the request
|
||||
var request = DartCompletionRequest(
|
||||
var request = DartCompletionRequest.forResolvedUnit(
|
||||
resolvedUnit: result,
|
||||
offset: completionOffset,
|
||||
dartdocDirectiveInfo: dartdocInfo,
|
||||
|
||||
@@ -52,7 +52,7 @@ part 'test.dart';
|
||||
// Build the request
|
||||
var resolvedUnit =
|
||||
await session.getResolvedUnit(testFile) as ResolvedUnitResult;
|
||||
request = DartCompletionRequest(
|
||||
request = DartCompletionRequest.forResolvedUnit(
|
||||
resolvedUnit: resolvedUnit,
|
||||
offset: completionOffset,
|
||||
);
|
||||
|
||||
@@ -27,7 +27,7 @@ class ContextTypeTest extends AbstractSingleUnitTest {
|
||||
}
|
||||
|
||||
Future<CompletionSuggestion> forTopLevelFunction(String functionName) async {
|
||||
var request = DartCompletionRequest(
|
||||
var request = DartCompletionRequest.forResolvedUnit(
|
||||
resolvedUnit: testAnalysisResult,
|
||||
offset: 0,
|
||||
);
|
||||
|
||||
@@ -99,7 +99,7 @@ class CompletionRunner {
|
||||
}
|
||||
|
||||
timer.start();
|
||||
var dartRequest = DartCompletionRequest(
|
||||
var dartRequest = DartCompletionRequest.forResolvedUnit(
|
||||
resolvedUnit: result,
|
||||
offset: offset,
|
||||
);
|
||||
|
||||
@@ -1368,7 +1368,7 @@ class CompletionMetricsComputer {
|
||||
{required MetricsSuggestionListener listener,
|
||||
required CompletionMetrics metrics}) async {
|
||||
var stopwatch = Stopwatch()..start();
|
||||
var request = DartCompletionRequest(
|
||||
var request = DartCompletionRequest.forResolvedUnit(
|
||||
resolvedUnit: resolvedUnitResult,
|
||||
offset: expectedCompletion.offset,
|
||||
documentationCache: documentationCache,
|
||||
|
||||
Reference in New Issue
Block a user