Skip to content

Commit 365734b

Browse files
scheglovCommit Queue
authored andcommitted
Use single constructor for IndexExpressionImpl.
So, that we can generate the constructor and the whole class. Change-Id: I71c2431425a64122c89a9f1ed7c30f717e5fb79b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/428084 Reviewed-by: Paul Berry <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent e9cd695 commit 365734b

File tree

4 files changed

+16
-40
lines changed

4 files changed

+16
-40
lines changed

pkg/analyzer/lib/src/clients/dart_style/rewrite_cascade.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,12 @@ ExpressionImpl insertCascadeTargetIntoExpression({
6767
question = _synthesizeToken(TokenType.QUESTION, expression.period!);
6868
}
6969

70-
return IndexExpressionImpl.forTarget(
70+
return IndexExpressionImpl(
7171
target: insertCascadeTargetIntoExpression(
7272
expression: expressionTarget,
7373
cascadeTarget: cascadeTarget,
7474
),
75+
period: null,
7576
question: question,
7677
leftBracket: expression.leftBracket,
7778
index: expression.index,

pkg/analyzer/lib/src/dart/ast/ast.dart

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11095,22 +11095,9 @@ final class IndexExpressionImpl extends ExpressionImpl
1109511095
@override
1109611096
MethodElement? element;
1109711097

11098-
/// Initializes a newly created index expression that is a child of a cascade
11099-
/// expression.
11100-
IndexExpressionImpl.forCascade({
11101-
required this.period,
11102-
required this.question,
11103-
required this.leftBracket,
11104-
required ExpressionImpl index,
11105-
required this.rightBracket,
11106-
}) : _index = index {
11107-
_becomeParentOf(_index);
11108-
}
11109-
11110-
/// Initializes a newly created index expression that isn't a child of a
11111-
/// cascade expression.
11112-
IndexExpressionImpl.forTarget({
11098+
IndexExpressionImpl({
1111311099
required ExpressionImpl? target,
11100+
required this.period,
1111411101
required this.question,
1111511102
required this.leftBracket,
1111611103
required ExpressionImpl index,

pkg/analyzer/lib/src/fasta/ast_builder.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4890,7 +4890,8 @@ class AstBuilder extends StackListener {
48904890
var receiver = pop() as CascadeExpressionImpl;
48914891
var token = peek() as Token;
48924892
push(receiver);
4893-
var expression = IndexExpressionImpl.forCascade(
4893+
var expression = IndexExpressionImpl(
4894+
target: null,
48944895
period: token,
48954896
question: question,
48964897
leftBracket: leftBracket,
@@ -4901,8 +4902,9 @@ class AstBuilder extends StackListener {
49014902
push(expression);
49024903
} else {
49034904
push(
4904-
IndexExpressionImpl.forTarget(
4905+
IndexExpressionImpl(
49054906
target: target,
4907+
period: null,
49064908
question: question,
49074909
leftBracket: leftBracket,
49084910
index: index,

pkg/analyzer/lib/src/summary2/ast_binary_reader.dart

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -761,28 +761,14 @@ class AstBinaryReader {
761761
var flags = _readByte();
762762
var target = _readOptionalNode() as ExpressionImpl?;
763763
var index = readNode() as ExpressionImpl;
764-
// TODO(scheglov): Is this clumsy?
765-
IndexExpressionImpl node;
766-
if (target != null) {
767-
node = (IndexExpressionImpl.forTarget(
768-
target: target,
769-
question:
770-
AstBinaryFlags.hasQuestion(flags) ? Tokens.question() : null,
771-
leftBracket: Tokens.openSquareBracket(),
772-
index: index,
773-
rightBracket: Tokens.closeSquareBracket(),
774-
))
775-
..period =
776-
AstBinaryFlags.hasPeriod(flags) ? Tokens.periodPeriod() : null;
777-
} else {
778-
node = IndexExpressionImpl.forCascade(
779-
period: Tokens.periodPeriod(),
780-
question: AstBinaryFlags.hasQuestion(flags) ? Tokens.question() : null,
781-
leftBracket: Tokens.openSquareBracket(),
782-
index: index,
783-
rightBracket: Tokens.closeSquareBracket(),
784-
);
785-
}
764+
var node = IndexExpressionImpl(
765+
target: target,
766+
period: AstBinaryFlags.hasPeriod(flags) ? Tokens.periodPeriod() : null,
767+
question: AstBinaryFlags.hasQuestion(flags) ? Tokens.question() : null,
768+
leftBracket: Tokens.openSquareBracket(),
769+
index: index,
770+
rightBracket: Tokens.closeSquareBracket(),
771+
);
786772
node.element = _reader.readElement2() as MethodElement?;
787773
_readExpressionResolution(node);
788774
return node;

0 commit comments

Comments
 (0)