Make constructors private
Change-Id: Idf2775e07aca1db9e3fa856723e658306f51df37
Reviewed-on: https://dart-review.googlesource.com/c/85762
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Auto-Submit: Peter von der Ahé <ahe@google.com>
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 41d8df8..2c1f64a 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -97,12 +97,7 @@
import 'forest.dart' show Forest;
import 'kernel_shadow_ast.dart' as shadow
- show
- InvalidConstructorInvocationJudgment,
- InvalidWriteJudgment,
- SyntheticExpressionJudgment,
- UnresolvedTargetInvocationJudgment,
- UnresolvedVariableAssignmentJudgment;
+ show SyntheticExpressionJudgment, SyntheticWrapper;
import 'redirecting_factory_body.dart'
show
@@ -4763,7 +4758,7 @@
@override
Expression wrapSyntheticExpression(Expression desugared, int charOffset) {
- return new shadow.SyntheticExpressionJudgment(desugared)
+ return shadow.SyntheticWrapper.wrapSyntheticExpression(desugared)
..fileOffset = charOffset;
}
@@ -4776,7 +4771,7 @@
@override
Expression wrapInvalidConstructorInvocation(Expression desugared,
Member constructor, Arguments arguments, int charOffset) {
- return new shadow.InvalidConstructorInvocationJudgment(
+ return shadow.SyntheticWrapper.wrapInvalidConstructorInvocation(
desugared, constructor, arguments)
..fileOffset = charOffset;
}
@@ -4784,21 +4779,22 @@
@override
Expression wrapInvalidWrite(
Expression desugared, Expression expression, int charOffset) {
- return new shadow.InvalidWriteJudgment(desugared, expression)
+ return shadow.SyntheticWrapper.wrapInvalidWrite(desugared, expression)
..fileOffset = charOffset;
}
@override
Expression wrapUnresolvedTargetInvocation(
Expression desugared, Arguments arguments, int charOffset) {
- return new shadow.UnresolvedTargetInvocationJudgment(desugared, arguments)
+ return shadow.SyntheticWrapper.wrapUnresolvedTargetInvocation(
+ desugared, arguments)
..fileOffset = charOffset;
}
@override
Expression wrapUnresolvedVariableAssignment(
Expression desugared, bool isCompound, Expression rhs, int charOffset) {
- return new shadow.UnresolvedVariableAssignmentJudgment(
+ return shadow.SyntheticWrapper.wrapUnresolvedVariableAssignment(
desugared, isCompound, rhs)
..fileOffset = charOffset;
}
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart
index 0f54b2d..3bb2642 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart
@@ -91,34 +91,29 @@
DeferredCheckJudgment,
ExpressionStatementJudgment,
FactoryConstructorInvocationJudgment,
- ShadowFieldInitializer,
ForInJudgment,
FunctionDeclarationJudgment,
FunctionNodeJudgment,
- IfNullJudgment,
IfJudgment,
- IllegalAssignmentJudgment,
- IndexAssignmentJudgment,
+ IfNullJudgment,
InvalidSuperInitializerJudgment,
- ShadowInvalidFieldInitializer,
- ShadowInvalidInitializer,
LabeledStatementJudgment,
LoadLibraryTearOffJudgment,
MethodInvocationJudgment,
NamedFunctionExpressionJudgment,
NullAwareMethodInvocationJudgment,
NullAwarePropertyGetJudgment,
- PropertyAssignmentJudgment,
RedirectingInitializerJudgment,
ReturnJudgment,
+ ShadowFieldInitializer,
+ ShadowInvalidFieldInitializer,
+ ShadowInvalidInitializer,
ShadowLargeIntLiteral,
- StaticAssignmentJudgment,
SuperInitializerJudgment,
SuperMethodInvocationJudgment,
SuperPropertyGetJudgment,
SwitchCaseJudgment,
SwitchStatementJudgment,
- VariableAssignmentJudgment,
VariableDeclarationJudgment,
VariableGetJudgment,
YieldJudgment;
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_expression_generator.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_expression_generator.dart
index 5952b75..be45b59 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_expression_generator.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_expression_generator.dart
@@ -86,8 +86,6 @@
Constructor,
DartType,
Field,
- IllegalAssignmentJudgment,
- IndexAssignmentJudgment,
Initializer,
Let,
LoadLibraryTearOffJudgment,
@@ -96,10 +94,8 @@
Name,
NullAwarePropertyGetJudgment,
Procedure,
- PropertyAssignmentJudgment,
PropertyGet,
PropertySet,
- StaticAssignmentJudgment,
StaticSet,
SuperMethodInvocation,
SuperMethodInvocationJudgment,
@@ -107,7 +103,6 @@
SuperPropertySet,
TreeNode,
TypeParameter,
- VariableAssignmentJudgment,
VariableDeclaration,
VariableDeclarationJudgment,
VariableGet,
@@ -123,6 +118,9 @@
PrefixBuilder,
TypeDeclarationBuilder;
+import 'kernel_shadow_ast.dart' as shadow
+ show PropertyAssignmentJudgment, SyntheticWrapper;
+
part 'kernel_expression_generator_impl.dart';
abstract class KernelExpressionGenerator implements ExpressionGenerator {
@@ -291,7 +289,7 @@
/// Creates a data structure for tracking the desugaring of a complex
/// assignment expression whose right hand side is [rhs].
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
- new IllegalAssignmentJudgment(rhs);
+ shadow.SyntheticWrapper.wrapIllegalAssignment(rhs);
}
abstract class KernelGenerator = Generator with KernelExpressionGenerator;
@@ -340,8 +338,10 @@
}
@override
- ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
- new VariableAssignmentJudgment(rhs);
+ ComplexAssignmentJudgment startComplexAssignment(Expression rhs) {
+ return shadow.SyntheticWrapper.wrapVariableAssignment(rhs)
+ ..fileOffset = offsetForToken(token);
+ }
@override
void printOn(StringSink sink) {
@@ -385,7 +385,7 @@
@override
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
- new PropertyAssignmentJudgment(receiver, rhs);
+ shadow.SyntheticWrapper.wrapPropertyAssignment(receiver, rhs);
@override
void printOn(StringSink sink) {
@@ -498,7 +498,7 @@
@override
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
- new PropertyAssignmentJudgment(null, rhs);
+ shadow.SyntheticWrapper.wrapPropertyAssignment(null, rhs);
@override
void printOn(StringSink sink) {
@@ -572,7 +572,8 @@
..fileOffset = offset;
if (complexAssignment != null) {
body = makeLet(receiver, nullAwareGuard);
- PropertyAssignmentJudgment kernelPropertyAssign = complexAssignment;
+ shadow.PropertyAssignmentJudgment kernelPropertyAssign =
+ complexAssignment;
kernelPropertyAssign.nullAwareGuard = nullAwareGuard;
kernelPropertyAssign.desugared = body;
return kernelPropertyAssign;
@@ -589,7 +590,7 @@
@override
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
- new PropertyAssignmentJudgment(receiverExpression, rhs);
+ shadow.SyntheticWrapper.wrapPropertyAssignment(receiverExpression, rhs);
@override
void printOn(StringSink sink) {
@@ -671,7 +672,7 @@
@override
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
- new PropertyAssignmentJudgment(null, rhs, isSuper: true);
+ shadow.SyntheticWrapper.wrapPropertyAssignment(null, rhs, isSuper: true);
@override
void printOn(StringSink sink) {
@@ -810,7 +811,7 @@
@override
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
- new IndexAssignmentJudgment(receiver, index, rhs);
+ shadow.SyntheticWrapper.wrapIndexAssignment(receiver, index, rhs);
@override
void printOn(StringSink sink) {
@@ -934,7 +935,7 @@
@override
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
- new IndexAssignmentJudgment(null, index, rhs);
+ shadow.SyntheticWrapper.wrapIndexAssignment(null, index, rhs);
@override
void printOn(StringSink sink) {
@@ -1071,7 +1072,8 @@
@override
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
- new IndexAssignmentJudgment(null, index, rhs, isSuper: true);
+ shadow.SyntheticWrapper.wrapIndexAssignment(null, index, rhs,
+ isSuper: true);
@override
void printOn(StringSink sink) {
@@ -1151,7 +1153,7 @@
@override
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
- new StaticAssignmentJudgment(rhs);
+ shadow.SyntheticWrapper.wrapStaticAssignment(rhs);
@override
void printOn(StringSink sink) {
@@ -1235,7 +1237,7 @@
@override
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
- new StaticAssignmentJudgment(rhs);
+ shadow.SyntheticWrapper.wrapStaticAssignment(rhs);
}
class KernelTypeUseGenerator extends KernelReadOnlyAccessGenerator
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_expression_generator_impl.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_expression_generator_impl.dart
index ae6fc90..f67e700 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_expression_generator_impl.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_expression_generator_impl.dart
@@ -407,7 +407,7 @@
@override
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) {
- return new IllegalAssignmentJudgment(rhs,
+ return shadow.SyntheticWrapper.wrapIllegalAssignment(rhs,
assignmentOffset: offsetForToken(token));
}
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
index 88ad954..32ec3c5 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
@@ -381,7 +381,7 @@
/// pre-decrement.
bool isPreIncDec = false;
- ComplexAssignmentJudgment(this.rhs) : super(null);
+ ComplexAssignmentJudgment._(this.rhs) : super._(null);
String toString() {
var parts = _getToStringParts();
@@ -513,9 +513,9 @@
/// Indicates whether this assignment uses `super`.
final bool isSuper;
- ComplexAssignmentJudgmentWithReceiver(
+ ComplexAssignmentJudgmentWithReceiver._(
this.receiver, Expression rhs, this.isSuper)
- : super(rhs);
+ : super._(rhs);
@override
List<String> _getToStringParts() {
@@ -845,8 +845,8 @@
/// If `-1`, then there is no separate location for invalid assignment.
final int assignmentOffset;
- IllegalAssignmentJudgment(Expression rhs, {this.assignmentOffset: -1})
- : super(rhs) {
+ IllegalAssignmentJudgment._(Expression rhs, {this.assignmentOffset: -1})
+ : super._(rhs) {
rhs.parent = this;
}
@@ -867,9 +867,9 @@
/// In an assignment to an index expression, the index expression.
final Expression index;
- IndexAssignmentJudgment(Expression receiver, this.index, Expression rhs,
+ IndexAssignmentJudgment._(Expression receiver, this.index, Expression rhs,
{bool isSuper: false})
- : super(receiver, rhs, isSuper);
+ : super._(receiver, rhs, isSuper);
Arguments _getInvocationArguments(
ShadowTypeInferrer inferrer, Expression invocation) {
@@ -1235,9 +1235,9 @@
/// expression that guards the access; otherwise `null`.
ConditionalExpression nullAwareGuard;
- PropertyAssignmentJudgment(Expression receiver, Expression rhs,
+ PropertyAssignmentJudgment._(Expression receiver, Expression rhs,
{bool isSuper: false})
- : super(receiver, rhs, isSuper);
+ : super._(receiver, rhs, isSuper);
@override
List<String> _getToStringParts() {
@@ -1306,7 +1306,7 @@
/// Concrete shadow object representing an assignment to a static variable.
class StaticAssignmentJudgment extends ComplexAssignmentJudgment {
- StaticAssignmentJudgment(Expression rhs) : super(rhs);
+ StaticAssignmentJudgment._(Expression rhs) : super._(rhs);
@override
DartType _getWriteType(ShadowTypeInferrer inferrer) {
@@ -1418,9 +1418,9 @@
final Member constructor;
final Arguments arguments;
- InvalidConstructorInvocationJudgment(
+ InvalidConstructorInvocationJudgment._(
kernel.Expression desugared, this.constructor, this.arguments)
- : super(desugared);
+ : super._(desugared);
ArgumentsJudgment get argumentJudgments => arguments;
@@ -1435,8 +1435,8 @@
class InvalidWriteJudgment extends SyntheticExpressionJudgment {
final Expression expression;
- InvalidWriteJudgment(kernel.Expression desugared, this.expression)
- : super(desugared);
+ InvalidWriteJudgment._(kernel.Expression desugared, this.expression)
+ : super._(desugared);
@override
void acceptInference(InferenceVistor visitor, DartType typeContext) {
@@ -1452,7 +1452,7 @@
class SyntheticExpressionJudgment extends Let implements ExpressionJudgment {
DartType inferredType;
- SyntheticExpressionJudgment(Expression desugared)
+ SyntheticExpressionJudgment._(Expression desugared)
: super(new VariableDeclaration('_', initializer: new NullLiteral()),
desugared);
@@ -1756,7 +1756,7 @@
}
class VariableAssignmentJudgment extends ComplexAssignmentJudgment {
- VariableAssignmentJudgment(Expression rhs) : super(rhs);
+ VariableAssignmentJudgment._(Expression rhs) : super._(rhs);
@override
DartType _getWriteType(ShadowTypeInferrer inferrer) {
@@ -1855,9 +1855,9 @@
class UnresolvedTargetInvocationJudgment extends SyntheticExpressionJudgment {
final ArgumentsJudgment argumentsJudgment;
- UnresolvedTargetInvocationJudgment(
+ UnresolvedTargetInvocationJudgment._(
kernel.Expression desugared, this.argumentsJudgment)
- : super(desugared);
+ : super._(desugared);
@override
void acceptInference(InferenceVistor visitor, DartType typeContext) {
@@ -1871,9 +1871,9 @@
final bool isCompound;
final Expression rhs;
- UnresolvedVariableAssignmentJudgment(
+ UnresolvedVariableAssignmentJudgment._(
kernel.Expression desugared, this.isCompound, this.rhs)
- : super(desugared);
+ : super._(desugared);
@override
void acceptInference(InferenceVistor visitor, DartType typeContext) {
@@ -1976,3 +1976,57 @@
visitChildren(v) => unsupported("visitChildren", -1, null);
}
+
+class SyntheticWrapper {
+ static Expression wrapIllegalAssignment(Expression rhs,
+ {int assignmentOffset: -1}) {
+ return new IllegalAssignmentJudgment._(rhs,
+ assignmentOffset: assignmentOffset);
+ }
+
+ static Expression wrapIndexAssignment(
+ Expression receiver, Expression index, Expression rhs,
+ {bool isSuper: false}) {
+ return new IndexAssignmentJudgment._(receiver, index, rhs,
+ isSuper: isSuper);
+ }
+
+ static Expression wrapInvalidConstructorInvocation(
+ kernel.Expression desugared, Member constructor, Arguments arguments) {
+ return new InvalidConstructorInvocationJudgment._(
+ desugared, constructor, arguments);
+ }
+
+ static Expression wrapInvalidWrite(
+ Expression desugared, Expression expression) {
+ return new InvalidWriteJudgment._(desugared, expression);
+ }
+
+ static Expression wrapPropertyAssignment(Expression receiver, Expression rhs,
+ {bool isSuper: false}) {
+ return new PropertyAssignmentJudgment._(receiver, rhs, isSuper: isSuper);
+ }
+
+ static Expression wrapStaticAssignment(Expression rhs) {
+ return new StaticAssignmentJudgment._(rhs);
+ }
+
+ static Expression wrapSyntheticExpression(Expression desugared) {
+ return new SyntheticExpressionJudgment._(desugared);
+ }
+
+ static Expression wrapUnresolvedTargetInvocation(
+ Expression desugared, Arguments arguments) {
+ return new UnresolvedTargetInvocationJudgment._(desugared, arguments);
+ }
+
+ static Expression wrapUnresolvedVariableAssignment(
+ Expression desugared, bool isCompound, Expression rhs) {
+ return new UnresolvedVariableAssignmentJudgment._(
+ desugared, isCompound, rhs);
+ }
+
+ static Expression wrapVariableAssignment(Expression rhs) {
+ return new VariableAssignmentJudgment._(rhs);
+ }
+}