@@ -984,26 +984,27 @@ class BinaryPrinter implements Visitor<void>, BinarySink {
984984 return canonicalName;
985985 }
986986
987- CanonicalName ensureCanonicalNameForNode (TreeNode ? parentNode) {
988- if (parentNode is Component ) {
989- return parentNode.root;
990- }
991- if (parentNode is NamedNode ) {
992- CanonicalName ? canonicalName = parentNode.reference.canonicalName;
993- if (canonicalName != null ) {
994- return canonicalName;
995- }
996- CanonicalName parentCanonicalName =
997- ensureCanonicalNameForNode (parentNode.parent);
998- parentNode.bindCanonicalNames (parentCanonicalName);
999- return parentNode.reference.canonicalName! ;
1000- } else {
1001- throw new ArgumentError ('Missing canonical name for $reference ' );
987+ _ensureCanonicalName_forNode (reference.node, reference);
988+ return reference.canonicalName! ;
989+ }
990+
991+ CanonicalName _ensureCanonicalName_forNode (
992+ TreeNode ? parentNode, Reference reference) {
993+ if (parentNode is Component ) {
994+ return parentNode.root;
995+ }
996+ if (parentNode is NamedNode ) {
997+ CanonicalName ? canonicalName = parentNode.reference.canonicalName;
998+ if (canonicalName != null ) {
999+ return canonicalName;
10021000 }
1001+ CanonicalName parentCanonicalName =
1002+ _ensureCanonicalName_forNode (parentNode.parent, reference);
1003+ parentNode.bindCanonicalNames (parentCanonicalName);
1004+ return parentNode.reference.canonicalName! ;
1005+ } else {
1006+ throw new ArgumentError ('Missing canonical name for $reference ' );
10031007 }
1004-
1005- ensureCanonicalNameForNode (reference.node);
1006- return reference.canonicalName! ;
10071008 }
10081009
10091010 void checkCanonicalName (CanonicalName node) {
0 commit comments