Skip to content

Commit 7fa25e0

Browse files
committed
Use failedAt in more places
[email protected] BUG= Review-Url: https://codereview.chromium.org/2905463003 .
1 parent 6b1c7e9 commit 7fa25e0

10 files changed

+149
-133
lines changed

pkg/compiler/lib/src/resolution/class_hierarchy.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ class ClassResolverVisitor extends TypeDefinitionVisitor {
179179
if (element.interfaces == null) {
180180
element.interfaces = resolveInterfaces(node.interfaces, node.superclass);
181181
} else {
182-
assert(invariant(element, element.hasIncompleteHierarchy));
182+
assert(element.hasIncompleteHierarchy, failedAt(element));
183183
}
184184
calculateAllSupertypes(element);
185185

@@ -359,9 +359,9 @@ class ClassResolverVisitor extends TypeDefinitionVisitor {
359359

360360
if (mixinApplication.supertype != null) {
361361
// [supertype] is not null if there was a cycle.
362-
assert(invariant(node, reporter.hasReportedError));
362+
assert(reporter.hasReportedError, failedAt(node));
363363
supertype = mixinApplication.supertype;
364-
assert(invariant(node, supertype.isObject));
364+
assert(supertype.isObject, failedAt(node));
365365
} else {
366366
mixinApplication.supertype = supertype;
367367
}
@@ -385,7 +385,7 @@ class ClassResolverVisitor extends TypeDefinitionVisitor {
385385
mixinApplication.interfaces = interfaces;
386386
} else {
387387
assert(
388-
invariant(mixinApplication, mixinApplication.hasIncompleteHierarchy));
388+
mixinApplication.hasIncompleteHierarchy, failedAt(mixinApplication));
389389
}
390390

391391
ClassElement superclass = supertype.element;

pkg/compiler/lib/src/resolution/class_members.dart

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -597,8 +597,8 @@ class InterfaceMembersCreator extends MembersCreator {
597597
Map<Name, Setlet<Member>> computeSuperInterfaceMembers(
598598
String name, Setlet<Name> names) {
599599
ResolutionInterfaceType supertype = cls.supertype;
600-
assert(invariant(cls, supertype != null,
601-
message: "Interface members computed for $cls."));
600+
assert(supertype != null,
601+
failedAt(cls, "Interface members computed for $cls."));
602602
ClassElement superclass = supertype.element;
603603

604604
Map<Name, Setlet<Member>> inheritedInterfaceMembers =
@@ -721,9 +721,10 @@ class InterfaceMembersCreator extends MembersCreator {
721721
if (inherited.isMethod) {
722722
kind = MessageKind.INHERITED_METHOD;
723723
} else {
724-
assert(invariant(cls, inherited.isGetter,
725-
message: 'Conflicting member is neither a method nor a '
726-
'getter.'));
724+
assert(
725+
inherited.isGetter,
726+
failedAt(cls,
727+
'Conflicting member is neither a method nor a getter.'));
727728
if (inherited.isDeclaredByField) {
728729
kind = MessageKind.INHERITED_IMPLICIT_GETTER;
729730
} else {
@@ -915,7 +916,7 @@ abstract class ClassMemberMixin implements ClassElement {
915916
MembersCreator creator = _prepareCreator(resolution);
916917
creator.computeAllMembers();
917918
computedMemberNames = null;
918-
assert(invariant(this, areAllMembersComputed()));
919+
assert(areAllMembersComputed(), failedAt(this));
919920
}
920921

921922
bool areAllMembersComputed() {
@@ -931,20 +932,20 @@ abstract class ClassMemberMixin implements ClassElement {
931932
}
932933

933934
Member lookupClassMember(Name name) {
934-
assert(invariant(this, isMemberComputed(name.text),
935-
message: "Member ${name} has not been computed for $this."));
935+
assert(isMemberComputed(name.text),
936+
failedAt(this, "Member ${name} has not been computed for $this."));
936937
return classMembers[name];
937938
}
938939

939940
void forEachClassMember(f(Member member)) {
940-
assert(invariant(this, areAllMembersComputed(),
941-
message: "Members have not been fully computed for $this."));
941+
assert(areAllMembersComputed(),
942+
failedAt(this, "Members have not been fully computed for $this."));
942943
classMembers.forEach((_, member) => f(member));
943944
}
944945

945946
MemberSignature lookupInterfaceMember(Name name) {
946-
assert(invariant(this, isMemberComputed(name.text),
947-
message: "Member ${name.text} has not been computed for $this."));
947+
assert(isMemberComputed(name.text),
948+
failedAt(this, "Member ${name.text} has not been computed for $this."));
948949
if (interfaceMembersAreClassMembers) {
949950
Member member = classMembers[name];
950951
if (member != null && member.isStatic) return null;
@@ -954,8 +955,8 @@ abstract class ClassMemberMixin implements ClassElement {
954955
}
955956

956957
void forEachInterfaceMember(f(MemberSignature member)) {
957-
assert(invariant(this, areAllMembersComputed(),
958-
message: "Members have not been fully computed for $this."));
958+
assert(areAllMembersComputed(),
959+
failedAt(this, "Members have not been fully computed for $this."));
959960
if (interfaceMembersAreClassMembers) {
960961
classMembers.forEach((_, member) {
961962
if (!member.isStatic) f(member);

pkg/compiler/lib/src/resolution/constructors.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -568,8 +568,8 @@ class ConstructorResolver extends CommonResolverVisitor<ConstructorResult> {
568568
ConstructorResultKind.GENERATIVE, prefix, constructor, type);
569569
}
570570
} else {
571-
assert(invariant(diagnosticNode, constructor.isFactoryConstructor,
572-
message: "Unexpected constructor $constructor."));
571+
assert(constructor.isFactoryConstructor,
572+
failedAt(diagnosticNode, "Unexpected constructor $constructor."));
573573
return new ConstructorResult(
574574
ConstructorResultKind.FACTORY, prefix, constructor, type);
575575
}
@@ -579,17 +579,17 @@ class ConstructorResolver extends CommonResolverVisitor<ConstructorResult> {
579579
ConstructorResult visitNewExpression(NewExpression node) {
580580
Node selector = node.send.selector;
581581
ConstructorResult result = visit(selector);
582-
assert(invariant(selector, result != null,
583-
message: 'No result returned for $selector.'));
582+
assert(result != null,
583+
failedAt(selector, 'No result returned for $selector.'));
584584
return finishConstructorReference(result, node.send.selector, node);
585585
}
586586

587587
/// Finishes resolution of a constructor reference and records the
588588
/// type of the constructed instance on [expression].
589589
ConstructorResult finishConstructorReference(
590590
ConstructorResult result, Node diagnosticNode, Node expression) {
591-
assert(invariant(diagnosticNode, result != null,
592-
message: 'No result returned for $diagnosticNode.'));
591+
assert(result != null,
592+
failedAt(diagnosticNode, 'No result returned for $diagnosticNode.'));
593593

594594
if (result.kind != null) {
595595
resolver.registry.setType(expression, result.type);
@@ -642,11 +642,11 @@ class ConstructorResolver extends CommonResolverVisitor<ConstructorResult> {
642642

643643
ConstructorResult visitSend(Send node) {
644644
ConstructorResult receiver = visit(node.receiver);
645-
assert(invariant(node.receiver, receiver != null,
646-
message: 'No result returned for $node.receiver.'));
645+
assert(receiver != null,
646+
failedAt(node.receiver, 'No result returned for $node.receiver.'));
647647
if (receiver.kind != null) {
648-
assert(invariant(node, receiver.element.isMalformed,
649-
message: "Unexpected prefix result: $receiver."));
648+
assert(receiver.element.isMalformed,
649+
failedAt(node, "Unexpected prefix result: $receiver."));
650650
// We have already found an error.
651651
return receiver;
652652
}

pkg/compiler/lib/src/resolution/member_impl.dart

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -143,17 +143,18 @@ class InheritedMember implements DeclaredMember {
143143
}
144144

145145
DeclaredMember inheritFrom(ResolutionInterfaceType newInstance) {
146-
assert(invariant(declaration.element, () {
146+
assert(() {
147147
// Assert that if [instance] contains type variables, then these are
148148
// defined in the declaration of [newInstance] and will therefore be
149149
// substituted into the context of [newInstance] in the created member.
150150
ClassElement contextClass = Types.getClassContext(instance);
151151
return contextClass == null || contextClass == newInstance.element;
152-
}, message: () {
153-
return "Context mismatch: Context class "
154-
"${Types.getClassContext(instance)} from $instance does match "
155-
"the new instance $newInstance.";
156-
}));
152+
},
153+
failedAt(
154+
declaration.element,
155+
"Context mismatch: Context class "
156+
"${Types.getClassContext(instance)} from $instance does match "
157+
"the new instance $newInstance."));
157158
return _newInheritedMember(newInstance);
158159
}
159160

0 commit comments

Comments
 (0)