@@ -15765,19 +15765,31 @@ var base64chars = []byte{
15765
15765
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '$', '%',
15766
15766
}
15767
15767
15768
- func (b *KeyBuilder) WriteInt (value int ) {
15768
+ func (b *KeyBuilder) WriteUint64 (value uint64 ) {
15769
15769
for value != 0 {
15770
15770
b.WriteByte(base64chars[value&0x3F])
15771
15771
value >>= 6
15772
15772
}
15773
15773
}
15774
15774
15775
+ func (b *KeyBuilder) WriteInt(value int) {
15776
+ b.WriteUint64(uint64(int64(value)))
15777
+ }
15778
+
15779
+ func (b *KeyBuilder) WriteSymbolId(id ast.SymbolId) {
15780
+ b.WriteUint64(uint64(id))
15781
+ }
15782
+
15775
15783
func (b *KeyBuilder) WriteSymbol(s *ast.Symbol) {
15776
- b.WriteInt(int(ast.GetSymbolId(s)))
15784
+ b.WriteSymbolId(ast.GetSymbolId(s))
15785
+ }
15786
+
15787
+ func (b *KeyBuilder) WriteTypeId(id TypeId) {
15788
+ b.WriteUint64(uint64(id))
15777
15789
}
15778
15790
15779
15791
func (b *KeyBuilder) WriteType(t *Type) {
15780
- b.WriteInt(int( t.id) )
15792
+ b.WriteTypeId( t.id)
15781
15793
}
15782
15794
15783
15795
func (b *KeyBuilder) WriteTypes(types []*Type) {
@@ -15792,7 +15804,7 @@ func (b *KeyBuilder) WriteTypes(types []*Type) {
15792
15804
if tail {
15793
15805
b.WriteByte(',')
15794
15806
}
15795
- b.WriteInt(int( startId) )
15807
+ b.WriteTypeId( startId)
15796
15808
if count > 1 {
15797
15809
b.WriteByte(':')
15798
15810
b.WriteInt(count)
@@ -15850,9 +15862,13 @@ func (b *KeyBuilder) WriteGenericTypeReferences(source *Type, target *Type, igno
15850
15862
return constrained
15851
15863
}
15852
15864
15865
+ func (b *KeyBuilder) WriteNodeId(id ast.NodeId) {
15866
+ b.WriteUint64(uint64(id))
15867
+ }
15868
+
15853
15869
func (b *KeyBuilder) WriteNode(node *ast.Node) {
15854
15870
if node != nil {
15855
- b.WriteInt(int( ast.GetNodeId(node) ))
15871
+ b.WriteNodeId( ast.GetNodeId(node))
15856
15872
}
15857
15873
}
15858
15874
@@ -15917,7 +15933,7 @@ func getTupleKey(elementInfos []TupleElementInfo, readonly bool) string {
15917
15933
b.WriteByte('*')
15918
15934
}
15919
15935
if e.labeledDeclaration != nil {
15920
- b.WriteInt(int(ast.GetNodeId( e.labeledDeclaration)) )
15936
+ b.WriteNode( e.labeledDeclaration)
15921
15937
}
15922
15938
}
15923
15939
if readonly {
@@ -15946,7 +15962,7 @@ func getIndexedAccessKey(objectType *Type, indexType *Type, accessFlags AccessFl
15946
15962
b.WriteByte(',')
15947
15963
b.WriteType(indexType)
15948
15964
b.WriteByte(',')
15949
- b.WriteInt(int (accessFlags))
15965
+ b.WriteUint64(uint64 (accessFlags))
15950
15966
b.WriteAlias(alias)
15951
15967
return b.String()
15952
15968
}
@@ -15993,7 +16009,7 @@ func getRelationKey(source *Type, target *Type, intersectionState IntersectionSt
15993
16009
}
15994
16010
if intersectionState != IntersectionStateNone {
15995
16011
b.WriteByte(':')
15996
- b.WriteInt(int (intersectionState))
16012
+ b.WriteUint64(uint64 (intersectionState))
15997
16013
}
15998
16014
if constrained {
15999
16015
// We mark keys with type references that reference constrained type parameters such that we know
0 commit comments