Skip to content

Commit

Permalink
Remove more references to AnalysisContext
Browse files Browse the repository at this point in the history
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3003173002 .
  • Loading branch information
bwilkerson committed Aug 23, 2017
1 parent b941f14 commit b999edf
Show file tree
Hide file tree
Showing 10 changed files with 4 additions and 352 deletions.
57 changes: 2 additions & 55 deletions pkg/analysis_server/lib/src/domain_diagnostic.dart
Expand Up @@ -3,27 +3,13 @@
// BSD-style license that can be found in the LICENSE file.

import 'dart:async';
import 'dart:collection';
import 'dart:core';

import 'package:analysis_server/protocol/protocol.dart';
import 'package:analysis_server/protocol/protocol_constants.dart';
import 'package:analysis_server/protocol/protocol_generated.dart';
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/context/context.dart';
import 'package:analyzer/src/dart/analysis/driver.dart' as nd;
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/utilities_collection.dart';
import 'package:analyzer/src/task/driver.dart';
import 'package:analyzer/task/model.dart';

int _workItemCount(AnalysisContextImpl context) {
AnalysisDriver driver = context.driver;
List<WorkItem> items = driver.currentWorkOrder?.workItems;
return items?.length ?? 0;
}
import 'package:analyzer/src/dart/analysis/driver.dart';

/// Instances of the class [DiagnosticDomainHandler] implement a
/// [RequestHandler] that handles requests in the `diagnostic` domain.
Expand All @@ -42,47 +28,8 @@ class DiagnosticDomainHandler implements RequestHandler {
return new DiagnosticGetDiagnosticsResult(contexts).toResponse(request.id);
}

/// Extract context data from the given [context].
ContextData extractDataFromContext(AnalysisContext context) {
int explicitFiles = 0;
int implicitFiles = 0;
int workItems = 0;
Set<String> exceptions = new HashSet<String>();
if (context is AnalysisContextImpl) {
workItems = _workItemCount(context);
var cache = context.analysisCache;
if (cache is AnalysisCache) {
Set<AnalysisTarget> countedTargets = new HashSet<AnalysisTarget>();
MapIterator<AnalysisTarget, CacheEntry> iterator = cache.iterator();
while (iterator.moveNext()) {
AnalysisTarget target = iterator.key;
if (countedTargets.add(target)) {
CacheEntry cacheEntry = iterator.value;
if (cacheEntry == null) {
throw new StateError(
"mutated cache key detected: $target (${target.runtimeType})");
}
if (target is Source) {
if (cacheEntry.explicitlyAdded) {
explicitFiles++;
} else {
implicitFiles++;
}
}
// Caught exceptions.
if (cacheEntry.exception != null) {
exceptions.add(cacheEntry.exception.toString());
}
}
}
}
}
return new ContextData(context.name, explicitFiles, implicitFiles,
workItems, exceptions.toList());
}

/// Extract context data from the given [driver].
ContextData extractDataFromDriver(nd.AnalysisDriver driver) {
ContextData extractDataFromDriver(AnalysisDriver driver) {
int explicitFileCount = driver.addedFiles.length;
int knownFileCount = driver.knownFiles.length;
return new ContextData(driver.name, explicitFileCount,
Expand Down
18 changes: 0 additions & 18 deletions pkg/analysis_server/lib/src/operation/operation_analysis.dart
Expand Up @@ -15,26 +15,8 @@ import 'package:analysis_server/src/protocol_server.dart' as protocol;
import 'package:analysis_server/src/services/search/search_engine.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/source.dart';

/**
* Run the given function [f] with the given [context] made active.
* Return the result of [f] invocation.
*/
runWithActiveContext(AnalysisContext context, f()) {
if (context is InternalAnalysisContext && !context.isActive) {
context.isActive = true;
try {
return f();
} finally {
context.isActive = false;
}
} else {
return f();
}
}

Future<Null> scheduleImplementedNotification(
AnalysisServer server, Iterable<String> files) async {
SearchEngine searchEngine = server.searchEngine;
Expand Down
Expand Up @@ -13,7 +13,6 @@ import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/error/error.dart' as engine;
import 'package:analyzer/src/dart/analysis/driver.dart';
import 'package:analyzer/src/dart/ast/utilities.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/source.dart';
Expand Down Expand Up @@ -279,7 +278,6 @@ class PostfixCompletionProcessor {
DartPostfixCompletion.NO_TEMPLATE, new SourceChange("", edits: []));

final PostfixCompletionContext completionContext;
final AnalysisContext analysisContext;
final CorrectionUtils utils;
AstNode node;
PostfixCompletion completion;
Expand All @@ -290,8 +288,7 @@ class PostfixCompletionProcessor {
TypeProvider _typeProvider;

PostfixCompletionProcessor(this.completionContext)
: analysisContext = completionContext.unitElement.context,
utils = new CorrectionUtils(completionContext.unit);
: utils = new CorrectionUtils(completionContext.unit);

AnalysisDriver get driver => completionContext.driver;

Expand Down
Expand Up @@ -17,7 +17,6 @@ import 'package:analyzer/src/dart/ast/utilities.dart';
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:analyzer/src/error/codes.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer_plugin/utilities/range_factory.dart';
Expand Down Expand Up @@ -134,9 +133,7 @@ class StatementCompletionProcessor {
DartStatementCompletion.NO_COMPLETION, new SourceChange("", edits: []));

final StatementCompletionContext statementContext;
final AnalysisContext analysisContext;
final CorrectionUtils utils;
int fileStamp;
AstNode node;
StatementCompletion completion;
SourceChange change = new SourceChange('statement-completion');
Expand All @@ -146,10 +143,7 @@ class StatementCompletionProcessor {
Position exitPosition = null;

StatementCompletionProcessor(this.statementContext)
: analysisContext = statementContext.unitElement.context,
utils = new CorrectionUtils(statementContext.unit) {
fileStamp = analysisContext.getModificationStamp(source);
}
: utils = new CorrectionUtils(statementContext.unit);

String get eol => utils.endOfLine;

Expand All @@ -168,11 +162,6 @@ class StatementCompletionProcessor {
CompilationUnitElement get unitElement => statementContext.unitElement;

Future<StatementCompletion> compute() async {
// If the source was changed between the constructor and running
// this asynchronous method, it is not safe to use the unit.
if (analysisContext.getModificationStamp(source) != fileStamp) {
return NO_COMPLETION;
}
node = _selectedNode();
if (node == null) {
return NO_COMPLETION;
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

0 comments on commit b999edf

Please sign in to comment.