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>
This commit is contained in:
committed by
commit-bot@chromium.org
parent
7ba67a0a74
commit
e7a048d12e
@@ -97,12 +97,7 @@ import 'expression_generator_helper.dart' show ExpressionGeneratorHelper;
|
||||
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 @@ abstract class BodyBuilder extends ScopeListener<JumpTarget>
|
||||
|
||||
@override
|
||||
Expression wrapSyntheticExpression(Expression desugared, int charOffset) {
|
||||
return new shadow.SyntheticExpressionJudgment(desugared)
|
||||
return shadow.SyntheticWrapper.wrapSyntheticExpression(desugared)
|
||||
..fileOffset = charOffset;
|
||||
}
|
||||
|
||||
@@ -4776,7 +4771,7 @@ abstract class BodyBuilder extends ScopeListener<JumpTarget>
|
||||
@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 @@ abstract class BodyBuilder extends ScopeListener<JumpTarget>
|
||||
@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;
|
||||
}
|
||||
|
||||
@@ -91,34 +91,29 @@ export 'kernel_shadow_ast.dart'
|
||||
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;
|
||||
|
||||
@@ -86,8 +86,6 @@ import 'kernel_ast_api.dart'
|
||||
Constructor,
|
||||
DartType,
|
||||
Field,
|
||||
IllegalAssignmentJudgment,
|
||||
IndexAssignmentJudgment,
|
||||
Initializer,
|
||||
Let,
|
||||
LoadLibraryTearOffJudgment,
|
||||
@@ -96,10 +94,8 @@ import 'kernel_ast_api.dart'
|
||||
Name,
|
||||
NullAwarePropertyGetJudgment,
|
||||
Procedure,
|
||||
PropertyAssignmentJudgment,
|
||||
PropertyGet,
|
||||
PropertySet,
|
||||
StaticAssignmentJudgment,
|
||||
StaticSet,
|
||||
SuperMethodInvocation,
|
||||
SuperMethodInvocationJudgment,
|
||||
@@ -107,7 +103,6 @@ import 'kernel_ast_api.dart'
|
||||
SuperPropertySet,
|
||||
TreeNode,
|
||||
TypeParameter,
|
||||
VariableAssignmentJudgment,
|
||||
VariableDeclaration,
|
||||
VariableDeclarationJudgment,
|
||||
VariableGet,
|
||||
@@ -123,6 +118,9 @@ import 'kernel_builder.dart'
|
||||
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 @@ abstract class KernelExpressionGenerator implements ExpressionGenerator {
|
||||
/// 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 @@ class KernelVariableUseGenerator extends KernelGenerator
|
||||
}
|
||||
|
||||
@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 @@ class KernelPropertyAccessGenerator extends KernelGenerator
|
||||
|
||||
@override
|
||||
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
|
||||
new PropertyAssignmentJudgment(receiver, rhs);
|
||||
shadow.SyntheticWrapper.wrapPropertyAssignment(receiver, rhs);
|
||||
|
||||
@override
|
||||
void printOn(StringSink sink) {
|
||||
@@ -498,7 +498,7 @@ class KernelThisPropertyAccessGenerator extends KernelGenerator
|
||||
|
||||
@override
|
||||
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
|
||||
new PropertyAssignmentJudgment(null, rhs);
|
||||
shadow.SyntheticWrapper.wrapPropertyAssignment(null, rhs);
|
||||
|
||||
@override
|
||||
void printOn(StringSink sink) {
|
||||
@@ -572,7 +572,8 @@ class KernelNullAwarePropertyAccessGenerator extends KernelGenerator
|
||||
..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 @@ class KernelNullAwarePropertyAccessGenerator extends KernelGenerator
|
||||
|
||||
@override
|
||||
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
|
||||
new PropertyAssignmentJudgment(receiverExpression, rhs);
|
||||
shadow.SyntheticWrapper.wrapPropertyAssignment(receiverExpression, rhs);
|
||||
|
||||
@override
|
||||
void printOn(StringSink sink) {
|
||||
@@ -671,7 +672,7 @@ class KernelSuperPropertyAccessGenerator extends KernelGenerator
|
||||
|
||||
@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 @@ class KernelIndexedAccessGenerator extends KernelGenerator
|
||||
|
||||
@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 @@ class KernelThisIndexedAccessGenerator extends KernelGenerator
|
||||
|
||||
@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 @@ class KernelSuperIndexedAccessGenerator extends KernelGenerator
|
||||
|
||||
@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 @@ class KernelStaticAccessGenerator extends KernelGenerator
|
||||
|
||||
@override
|
||||
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
|
||||
new StaticAssignmentJudgment(rhs);
|
||||
shadow.SyntheticWrapper.wrapStaticAssignment(rhs);
|
||||
|
||||
@override
|
||||
void printOn(StringSink sink) {
|
||||
@@ -1235,7 +1237,7 @@ class KernelDeferredAccessGenerator extends KernelGenerator
|
||||
|
||||
@override
|
||||
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) =>
|
||||
new StaticAssignmentJudgment(rhs);
|
||||
shadow.SyntheticWrapper.wrapStaticAssignment(rhs);
|
||||
}
|
||||
|
||||
class KernelTypeUseGenerator extends KernelReadOnlyAccessGenerator
|
||||
|
||||
@@ -407,7 +407,7 @@ class ParenthesizedExpressionGenerator extends KernelReadOnlyAccessGenerator {
|
||||
|
||||
@override
|
||||
ComplexAssignmentJudgment startComplexAssignment(Expression rhs) {
|
||||
return new IllegalAssignmentJudgment(rhs,
|
||||
return shadow.SyntheticWrapper.wrapIllegalAssignment(rhs,
|
||||
assignmentOffset: offsetForToken(token));
|
||||
}
|
||||
|
||||
|
||||
@@ -381,7 +381,7 @@ abstract class ComplexAssignmentJudgment extends SyntheticExpressionJudgment {
|
||||
/// pre-decrement.
|
||||
bool isPreIncDec = false;
|
||||
|
||||
ComplexAssignmentJudgment(this.rhs) : super(null);
|
||||
ComplexAssignmentJudgment._(this.rhs) : super._(null);
|
||||
|
||||
String toString() {
|
||||
var parts = _getToStringParts();
|
||||
@@ -513,9 +513,9 @@ abstract class ComplexAssignmentJudgmentWithReceiver
|
||||
/// 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 @@ class IllegalAssignmentJudgment extends ComplexAssignmentJudgment {
|
||||
/// 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 @@ class IndexAssignmentJudgment extends ComplexAssignmentJudgmentWithReceiver {
|
||||
/// 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 @@ class PropertyAssignmentJudgment extends ComplexAssignmentJudgmentWithReceiver {
|
||||
/// 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 @@ abstract class StatementJudgment extends Statement {
|
||||
|
||||
/// 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 @@ class InvalidConstructorInvocationJudgment extends SyntheticExpressionJudgment {
|
||||
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 InvalidConstructorInvocationJudgment extends SyntheticExpressionJudgment {
|
||||
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 InvalidWriteJudgment extends SyntheticExpressionJudgment {
|
||||
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 ShadowTypePromoter extends TypePromoterImpl {
|
||||
}
|
||||
|
||||
class VariableAssignmentJudgment extends ComplexAssignmentJudgment {
|
||||
VariableAssignmentJudgment(Expression rhs) : super(rhs);
|
||||
VariableAssignmentJudgment._(Expression rhs) : super._(rhs);
|
||||
|
||||
@override
|
||||
DartType _getWriteType(ShadowTypeInferrer inferrer) {
|
||||
@@ -1855,9 +1855,9 @@ class VariableDeclarationJudgment extends VariableDeclaration
|
||||
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 @@ class UnresolvedVariableAssignmentJudgment extends SyntheticExpressionJudgment {
|
||||
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 @@ class _UnfinishedCascade extends Expression {
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user