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:
Peter von der Ahé
2018-12-04 09:11:02 +00:00
committed by commit-bot@chromium.org
parent 7ba67a0a74
commit e7a048d12e
5 changed files with 106 additions and 59 deletions
@@ -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);
}
}