@@ -11,19 +11,16 @@ import '../canonical_name.dart' show CanonicalName;
1111import 'text_serializer.dart' show Tagger;
1212
1313class DeserializationEnvironment <T extends Node > {
14+ final DeserializationEnvironment <T > parent;
15+
1416 final Map <String , T > locals = < String , T > {};
1517
1618 final Map <String , T > binders = < String , T > {};
1719
18- final DeserializationEnvironment <T > parent;
19-
20- final Set <String > usedNames = new Set <String >();
20+ final Set <String > usedNames;
2121
22- DeserializationEnvironment (this .parent) {
23- if (parent != null ) {
24- usedNames.addAll (parent.usedNames);
25- }
26- }
22+ DeserializationEnvironment (this .parent)
23+ : usedNames = parent? .usedNames? .toSet () ?? new Set <String >();
2724
2825 T lookup (String name) => locals[name] ?? parent? .lookup (name);
2926
@@ -42,27 +39,23 @@ class DeserializationEnvironment<T extends Node> {
4239}
4340
4441class SerializationEnvironment <T extends Node > {
42+ final SerializationEnvironment <T > parent;
43+
4544 final Map <T , String > locals = new Map <T , String >.identity ();
4645
4746 final Map <T , String > binders = new Map <T , String >.identity ();
4847
4948 int nameCount;
5049
51- final SerializationEnvironment <T > parent;
52-
53- static const String separator = "^" ;
54-
55- static final int codeOfZero = "0" .codeUnitAt (0 );
56-
57- static final int codeOfNine = "9" .codeUnitAt (0 );
58-
59- SerializationEnvironment (this .parent) {
60- nameCount = (parent? .nameCount ?? 0 );
61- }
50+ SerializationEnvironment (this .parent) : nameCount = parent? .nameCount ?? 0 ;
6251
6352 String lookup (T node) => locals[node] ?? parent? .lookup (node);
6453
6554 String addBinder (T node, String name) {
55+ final String separator = "^" ;
56+ final int codeOfZero = "0" .codeUnitAt (0 );
57+ final int codeOfNine = "9" .codeUnitAt (0 );
58+
6659 int prefixLength = name.length - 1 ;
6760 bool isOnlyDigits = true ;
6861 while (prefixLength >= 0 && name[prefixLength] != separator) {
0 commit comments