Skip to content

Commit 19de54f

Browse files
committed
Reorder TreeTags
The switch on tags in transformTree was a lookup switch with the previous distribution of tags. By moving tags that get eliminated before pickling to the end we can turn it into a table switch.
1 parent cf93f4a commit 19de54f

File tree

1 file changed

+22
-19
lines changed

1 file changed

+22
-19
lines changed

compiler/src/dotty/tools/dotc/ast/Trees.scala

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -43,25 +43,28 @@ object Trees {
4343
final val SeqLiteral = 18
4444
final val Inlined = 19
4545
final val TypeTree = 20
46-
final val SingletonTypeTree = 21
47-
final val AndTypeTree = 22
48-
final val OrTypeTree = 23
49-
final val RefinedTypeTree = 24
50-
final val AppliedTypeTree = 25
51-
final val LambdaTypeTree = 26
52-
final val ByNameTypeTree = 27
53-
final val TypeBoundsTree = 28
54-
final val Bind = 29
55-
final val Alternative = 30
56-
final val UnApply = 31
57-
final val ValDef = 32
58-
final val DefDef = 33
59-
final val TypeDef = 34
60-
final val Template = 35
61-
final val Import = 36
62-
final val PackageDef = 37
63-
final val Annotated = 38
64-
final val Thicket = 39
46+
final val Bind = 21
47+
final val Alternative = 22
48+
final val UnApply = 23
49+
final val ValDef = 24
50+
final val DefDef = 25
51+
final val TypeDef = 26
52+
final val Template = 27
53+
final val Import = 28
54+
final val PackageDef = 29
55+
final val Thicket = 30
56+
57+
final val NumPickledTreeTags = 31
58+
59+
final val Annotated = 31
60+
final val SingletonTypeTree = 32
61+
final val AndTypeTree = 33
62+
final val OrTypeTree = 34
63+
final val RefinedTypeTree = 35
64+
final val AppliedTypeTree = 36
65+
final val LambdaTypeTree = 37
66+
final val ByNameTypeTree = 38
67+
final val TypeBoundsTree = 39
6568

6669
final val NumTypedTreeTags = 40
6770

0 commit comments

Comments
 (0)