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

Unified Diff: pkg/analysis_server/lib/src/services/correction/assist_internal.dart

Issue 2969833002: Convert DartChangeBuilder to use AnalysisSession (Closed)
Patch Set: Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: pkg/analysis_server/lib/src/services/correction/assist_internal.dart
diff --git a/pkg/analysis_server/lib/src/services/correction/assist_internal.dart b/pkg/analysis_server/lib/src/services/correction/assist_internal.dart
index 3f007f82d3860aa999e4f77144dec08ccfe59267..8328e32ae3de52e1df2f8cd09ec7ed1635f5d44e 100644
--- a/pkg/analysis_server/lib/src/services/correction/assist_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/assist_internal.dart
@@ -13,6 +13,7 @@ import 'package:analysis_server/src/services/correction/name_suggestion.dart';
import 'package:analysis_server/src/services/correction/statement_analyzer.dart';
import 'package:analysis_server/src/services/correction/util.dart';
import 'package:analysis_server/src/services/search/hierarchy.dart';
+import 'package:analyzer/dart/analysis/session.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/standard_resolution_map.dart';
import 'package:analyzer/dart/ast/token.dart';
@@ -92,6 +93,11 @@ class AssistProcessor {
*/
String get eol => utils.endOfLine;
+ /**
+ * Return the analysis session to be used to create the change builder.
+ */
+ AnalysisSession get session => driver.currentSession;
+
TypeProvider get typeProvider {
if (_typeProvider == null) {
_typeProvider = unitElement.context.typeProvider;
@@ -222,7 +228,7 @@ class AssistProcessor {
}
_configureTargetLocation(node);
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
bool validChange = true;
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
Token keyword = declaredIdentifier.keyword;
@@ -270,7 +276,7 @@ class AssistProcessor {
// prepare type source
_configureTargetLocation(node);
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
bool validChange = true;
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addInsertion(name.offset, (DartEditBuilder builder) {
@@ -324,7 +330,7 @@ class AssistProcessor {
}
_configureTargetLocation(node);
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
bool validChange = true;
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
Token keyword = declarationList.keyword;
@@ -382,7 +388,7 @@ class AssistProcessor {
getVariableNameSuggestionsForExpression(type, expression, excluded);
if (suggestions.isNotEmpty) {
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addInsertion(offset, (DartEditBuilder builder) {
builder.write('var ');
@@ -411,7 +417,7 @@ class AssistProcessor {
}
String prefix = utils.getNodePrefix(comment);
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(range.node(comment), (DartEditBuilder builder) {
builder.writeln('/**');
@@ -475,7 +481,7 @@ class AssistProcessor {
}
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(range.node(comment), (DartEditBuilder builder) {
for (String newLine in newLines) {
@@ -522,7 +528,7 @@ class AssistProcessor {
_coverageMarker();
return;
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
_convertFlutterChildToChildren(childArg, namedExp, eol, utils.getNodeText,
utils.getLinePrefix, utils.getIndent, utils.getText, builder);
@@ -591,7 +597,7 @@ class AssistProcessor {
}
code += ';';
SourceRange replacementRange = range.startEnd(beginNodeToReplace, getter);
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addSimpleReplacement(replacementRange, code);
});
@@ -642,7 +648,7 @@ class AssistProcessor {
code += ';';
SourceRange replacementRange =
range.startEnd(fieldList.keyword, fieldDeclaration);
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addSimpleReplacement(replacementRange, code);
});
@@ -663,7 +669,7 @@ class AssistProcessor {
String prefix = utils.getNodePrefix(body.parent);
String indent = utils.getIndent(1);
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(range.node(body), (DartEditBuilder builder) {
if (body.isAsynchronous) {
@@ -709,7 +715,7 @@ class AssistProcessor {
return;
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(range.node(body), (DartEditBuilder builder) {
if (body.isAsynchronous) {
@@ -795,7 +801,7 @@ class AssistProcessor {
}
String fieldName = parameterInitializer.fieldName.name;
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
// replace parameter
builder.addSimpleReplacement(range.node(parameter), 'this.$fieldName');
@@ -885,7 +891,7 @@ class AssistProcessor {
String indent = utils.getIndent(1);
int firstBlockLine = utils.getLineContentEnd(body.leftBracket.end);
// add change
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
// TODO(brianwilkerson) Create linked positions for the loop variable.
builder.addSimpleReplacement(
@@ -932,7 +938,7 @@ class AssistProcessor {
return;
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
if (getExpressionParentPrecedence(prefExpression) >=
TokenClass.RELATIONAL_OPERATOR.precedence) {
@@ -983,7 +989,7 @@ class AssistProcessor {
return;
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
if (getExpressionParentPrecedence(prefExpression) >=
TokenClass.RELATIONAL_OPERATOR.precedence) {
@@ -1050,7 +1056,7 @@ class AssistProcessor {
return;
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addDeletion(
range.startStart(prefixExpression, prefixExpression.operand));
@@ -1073,7 +1079,7 @@ class AssistProcessor {
// prepare type
DartType type = parameterElement.type;
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
// replace parameter
if (type.isDynamic) {
@@ -1143,7 +1149,7 @@ class AssistProcessor {
_coverageMarker();
return;
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
// rename field
builder.addSimpleReplacement(range.node(nameNode), '_$name');
@@ -1219,7 +1225,7 @@ class AssistProcessor {
} else if (operatorType == TokenType.GT_EQ) {
newOperator = '<=';
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addSimpleReplacement(leftRange, _getRangeText(rightRange));
builder.addSimpleReplacement(rightRange, _getRangeText(leftRange));
@@ -1266,7 +1272,7 @@ class AssistProcessor {
_coverageMarker();
return;
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
String showCombinator = ' show ${referencedNames.join(', ')}';
builder.addSimpleInsertion(importDirective.end - 1, showCombinator);
@@ -1325,7 +1331,7 @@ class AssistProcessor {
getVariableNameSuggestionsForExpression(castType, null, excluded);
if (suggestions.isNotEmpty) {
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addInsertion(offset, (DartEditBuilder builder) {
builder.write(eol + prefix + statementPrefix);
@@ -1362,7 +1368,7 @@ class AssistProcessor {
String thenSource = _getNodeText(thenStatement);
String elseSource = _getNodeText(elseStatement);
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addSimpleReplacement(range.node(condition), invertedCondition);
builder.addSimpleReplacement(range.node(thenStatement), elseSource);
@@ -1423,7 +1429,7 @@ class AssistProcessor {
String oldSource = utils.getRangeText(lineRanges);
String newSource = utils.indentSourceLeftRight(oldSource, false);
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addSimpleReplacement(range.node(targetIfStatement),
'if ($condition) {$eol$newSource$prefix}');
@@ -1487,7 +1493,7 @@ class AssistProcessor {
String oldSource = utils.getRangeText(lineRanges);
String newSource = utils.indentSourceLeftRight(oldSource, false);
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addSimpleReplacement(range.node(outerIfStatement),
'if ($condition) {$eol$newSource$prefix}');
@@ -1557,7 +1563,7 @@ class AssistProcessor {
return;
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addSimpleReplacement(
range.endStart(declNode, assignExpression.operator), ' ');
@@ -1620,7 +1626,7 @@ class AssistProcessor {
return;
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addSimpleReplacement(
range.endStart(decl.name, assignExpression.operator), ' ');
@@ -1723,7 +1729,7 @@ class AssistProcessor {
}
// add edit
Token keyword = declarationList.keyword;
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
SourceRange typeRange = range.startStart(typeNode, firstVariable);
if (keyword != null && keyword.lexeme != 'var') {
@@ -1755,7 +1761,7 @@ class AssistProcessor {
String indentArg = '$indentOld${utils.getIndent(1)}';
String indentList = '$indentOld${utils.getIndent(2)}';
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(range.node(node), (DartEditBuilder builder) {
builder.write('[');
@@ -1791,7 +1797,7 @@ class AssistProcessor {
}
String newExprSrc = utils.getNodeText(newExpr);
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(range.node(newExpr), (DartEditBuilder builder) {
builder.write('new ');
@@ -1872,7 +1878,7 @@ class AssistProcessor {
String prefix = utils.getNodePrefix(statement);
if (inVariable || inAssignment || inReturn) {
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
// Type v = Conditional;
if (inVariable) {
@@ -1961,7 +1967,7 @@ class AssistProcessor {
}
if (hasReturnStatements || hasExpressionStatements) {
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
// returns
if (hasReturnStatements) {
@@ -2045,7 +2051,7 @@ class AssistProcessor {
rightConditionSource = _getRangeText(rightConditionRange);
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
// remove "&& rightCondition"
builder
@@ -2105,7 +2111,7 @@ class AssistProcessor {
_coverageMarker();
return;
}
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
// remove initializer value
builder.addDeletion(range.endStart(variable.name, statement.semicolon));
@@ -2154,7 +2160,7 @@ class AssistProcessor {
utils.replaceSourceRangeIndent(statementsRange, indentOld, indentNew);
// "block"
{
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addSimpleInsertion(statementsRange.offset, '$indentOld{$eol');
builder.addSimpleReplacement(
@@ -2168,7 +2174,7 @@ class AssistProcessor {
}
// "if"
{
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(statementsRange, (DartEditBuilder builder) {
builder.write(indentOld);
@@ -2187,7 +2193,7 @@ class AssistProcessor {
}
// "while"
{
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(statementsRange, (DartEditBuilder builder) {
builder.write(indentOld);
@@ -2206,7 +2212,7 @@ class AssistProcessor {
}
// "for-in"
{
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(statementsRange, (DartEditBuilder builder) {
builder.write(indentOld);
@@ -2227,7 +2233,7 @@ class AssistProcessor {
}
// "for"
{
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(statementsRange, (DartEditBuilder builder) {
builder.write(indentOld);
@@ -2252,7 +2258,7 @@ class AssistProcessor {
}
// "do-while"
{
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(statementsRange, (DartEditBuilder builder) {
builder.write(indentOld);
@@ -2272,7 +2278,7 @@ class AssistProcessor {
}
// "try-catch"
{
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(statementsRange, (DartEditBuilder builder) {
builder.write(indentOld);
@@ -2302,7 +2308,7 @@ class AssistProcessor {
}
// "try-finally"
{
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(statementsRange, (DartEditBuilder builder) {
builder.write(indentOld);
@@ -2416,7 +2422,7 @@ class AssistProcessor {
int currLn = lineInfo.getLocation(exprGoingUp.offset).lineNumber;
int lnOffset = lineInfo.getOffsetOfLine(currLn);
- DartChangeBuilder changeBuilder = new DartChangeBuilder(driver);
+ DartChangeBuilder changeBuilder = new DartChangeBuilder(session);
await changeBuilder.addFileEdit(file, (DartFileEditBuilder builder) {
builder.addReplacement(range.node(exprGoingDown),
(DartEditBuilder builder) {

Powered by Google App Engine
This is Rietveld 408576698