@@ -984,8 +984,6 @@ object Trees {
984
984
/** Soucre of the copied tree */
985
985
protected def sourceFile (tree : Tree ): SourceFile = tree.source
986
986
987
- protected def sameSourceFile (tree : Tree ): Boolean = tree.source == sourceFile(tree)
988
-
989
987
protected def finalize (tree : Tree , copied : untpd.Tree ): copied.ThisTree [T ] =
990
988
postProcess(tree, copied.withSpan(tree.span).withAttachmentsFrom(tree))
991
989
@@ -994,16 +992,16 @@ object Trees {
994
992
995
993
def Ident (tree : Tree )(name : Name )(implicit ctx : Context ): Ident = tree match {
996
994
case tree : BackquotedIdent =>
997
- if (name == tree.name && sameSourceFile(tree) ) tree
995
+ if (name == tree.name) tree
998
996
else finalize(tree, new BackquotedIdent (name)(sourceFile(tree)))
999
- case tree : Ident if name == tree.name && sameSourceFile(tree) => tree
997
+ case tree : Ident if name == tree.name => tree
1000
998
case _ => finalize(tree, untpd.Ident (name)(sourceFile(tree)))
1001
999
}
1002
1000
def Select (tree : Tree )(qualifier : Tree , name : Name )(implicit ctx : Context ): Select = tree match {
1003
1001
case tree : SelectWithSig =>
1004
1002
if ((qualifier eq tree.qualifier) && (name == tree.name)) tree
1005
1003
else finalize(tree, new SelectWithSig (qualifier, name, tree.sig)(sourceFile(tree)))
1006
- case tree : Select if (qualifier eq tree.qualifier) && (name == tree.name) && sameSourceFile(tree) => tree
1004
+ case tree : Select if (qualifier eq tree.qualifier) && (name == tree.name) => tree
1007
1005
case _ => finalize(tree, untpd.Select (qualifier, name)(sourceFile(tree)))
1008
1006
}
1009
1007
/** Copy Ident or Select trees */
@@ -1012,169 +1010,169 @@ object Trees {
1012
1010
case Select (qual, _) => Select (tree)(qual, name)
1013
1011
}
1014
1012
def This (tree : Tree )(qual : untpd.Ident )(implicit ctx : Context ): This = tree match {
1015
- case tree : This if (qual eq tree.qual) && sameSourceFile(tree) => tree
1013
+ case tree : This if (qual eq tree.qual) => tree
1016
1014
case _ => finalize(tree, untpd.This (qual)(sourceFile(tree)))
1017
1015
}
1018
1016
def Super (tree : Tree )(qual : Tree , mix : untpd.Ident )(implicit ctx : Context ): Super = tree match {
1019
- case tree : Super if (qual eq tree.qual) && (mix eq tree.mix) && sameSourceFile(tree) => tree
1017
+ case tree : Super if (qual eq tree.qual) && (mix eq tree.mix) => tree
1020
1018
case _ => finalize(tree, untpd.Super (qual, mix)(sourceFile(tree)))
1021
1019
}
1022
1020
def Apply (tree : Tree )(fun : Tree , args : List [Tree ])(implicit ctx : Context ): Apply = tree match {
1023
- case tree : Apply if (fun eq tree.fun) && (args eq tree.args) && sameSourceFile(tree) => tree
1021
+ case tree : Apply if (fun eq tree.fun) && (args eq tree.args) => tree
1024
1022
case _ => finalize(tree, untpd.Apply (fun, args)(sourceFile(tree)))
1025
1023
}
1026
1024
def TypeApply (tree : Tree )(fun : Tree , args : List [Tree ])(implicit ctx : Context ): TypeApply = tree match {
1027
- case tree : TypeApply if (fun eq tree.fun) && (args eq tree.args) && sameSourceFile(tree) => tree
1025
+ case tree : TypeApply if (fun eq tree.fun) && (args eq tree.args) => tree
1028
1026
case _ => finalize(tree, untpd.TypeApply (fun, args)(sourceFile(tree)))
1029
1027
}
1030
1028
def Literal (tree : Tree )(const : Constant )(implicit ctx : Context ): Literal = tree match {
1031
- case tree : Literal if const == tree.const && sameSourceFile(tree) => tree
1029
+ case tree : Literal if const == tree.const => tree
1032
1030
case _ => finalize(tree, untpd.Literal (const)(sourceFile(tree)))
1033
1031
}
1034
1032
def New (tree : Tree )(tpt : Tree )(implicit ctx : Context ): New = tree match {
1035
- case tree : New if (tpt eq tree.tpt) && sameSourceFile(tree) => tree
1033
+ case tree : New if (tpt eq tree.tpt) => tree
1036
1034
case _ => finalize(tree, untpd.New (tpt)(sourceFile(tree)))
1037
1035
}
1038
1036
def Typed (tree : Tree )(expr : Tree , tpt : Tree )(implicit ctx : Context ): Typed = tree match {
1039
- case tree : Typed if (expr eq tree.expr) && (tpt eq tree.tpt) && sameSourceFile(tree) => tree
1037
+ case tree : Typed if (expr eq tree.expr) && (tpt eq tree.tpt) => tree
1040
1038
case tree => finalize(tree, untpd.Typed (expr, tpt)(sourceFile(tree)))
1041
1039
// .ensuring(res => res.uniqueId != 1471, s"source = $tree, ${tree.uniqueId}")
1042
1040
}
1043
1041
def NamedArg (tree : Tree )(name : Name , arg : Tree )(implicit ctx : Context ): NamedArg = tree match {
1044
- case tree : NamedArg if (name == tree.name) && (arg eq tree.arg) && sameSourceFile(tree) => tree
1042
+ case tree : NamedArg if (name == tree.name) && (arg eq tree.arg) => tree
1045
1043
case _ => finalize(tree, untpd.NamedArg (name, arg)(sourceFile(tree)))
1046
1044
}
1047
1045
def Assign (tree : Tree )(lhs : Tree , rhs : Tree )(implicit ctx : Context ): Assign = tree match {
1048
- case tree : Assign if (lhs eq tree.lhs) && (rhs eq tree.rhs) && sameSourceFile(tree) => tree
1046
+ case tree : Assign if (lhs eq tree.lhs) && (rhs eq tree.rhs) => tree
1049
1047
case _ => finalize(tree, untpd.Assign (lhs, rhs)(sourceFile(tree)))
1050
1048
}
1051
1049
def Block (tree : Tree )(stats : List [Tree ], expr : Tree )(implicit ctx : Context ): Block = tree match {
1052
- case tree : Block if (stats eq tree.stats) && (expr eq tree.expr) && sameSourceFile(tree) => tree
1050
+ case tree : Block if (stats eq tree.stats) && (expr eq tree.expr) => tree
1053
1051
case _ => finalize(tree, untpd.Block (stats, expr)(sourceFile(tree)))
1054
1052
}
1055
1053
def If (tree : Tree )(cond : Tree , thenp : Tree , elsep : Tree )(implicit ctx : Context ): If = tree match {
1056
- case tree : If if (cond eq tree.cond) && (thenp eq tree.thenp) && (elsep eq tree.elsep) && sameSourceFile(tree) => tree
1054
+ case tree : If if (cond eq tree.cond) && (thenp eq tree.thenp) && (elsep eq tree.elsep) => tree
1057
1055
case tree : InlineIf => finalize(tree, untpd.InlineIf (cond, thenp, elsep)(sourceFile(tree)))
1058
1056
case _ => finalize(tree, untpd.If (cond, thenp, elsep)(sourceFile(tree)))
1059
1057
}
1060
1058
def Closure (tree : Tree )(env : List [Tree ], meth : Tree , tpt : Tree )(implicit ctx : Context ): Closure = tree match {
1061
- case tree : Closure if (env eq tree.env) && (meth eq tree.meth) && (tpt eq tree.tpt) && sameSourceFile(tree) => tree
1059
+ case tree : Closure if (env eq tree.env) && (meth eq tree.meth) && (tpt eq tree.tpt) => tree
1062
1060
case _ => finalize(tree, untpd.Closure (env, meth, tpt)(sourceFile(tree)))
1063
1061
}
1064
1062
def Match (tree : Tree )(selector : Tree , cases : List [CaseDef ])(implicit ctx : Context ): Match = tree match {
1065
- case tree : Match if (selector eq tree.selector) && (cases eq tree.cases) && sameSourceFile(tree) => tree
1063
+ case tree : Match if (selector eq tree.selector) && (cases eq tree.cases) => tree
1066
1064
case tree : InlineMatch => finalize(tree, untpd.InlineMatch (selector, cases)(sourceFile(tree)))
1067
1065
case _ => finalize(tree, untpd.Match (selector, cases)(sourceFile(tree)))
1068
1066
}
1069
1067
def CaseDef (tree : Tree )(pat : Tree , guard : Tree , body : Tree )(implicit ctx : Context ): CaseDef = tree match {
1070
- case tree : CaseDef if (pat eq tree.pat) && (guard eq tree.guard) && (body eq tree.body) && sameSourceFile(tree) => tree
1068
+ case tree : CaseDef if (pat eq tree.pat) && (guard eq tree.guard) && (body eq tree.body) => tree
1071
1069
case _ => finalize(tree, untpd.CaseDef (pat, guard, body)(sourceFile(tree)))
1072
1070
}
1073
1071
def Labeled (tree : Tree )(bind : Bind , expr : Tree )(implicit ctx : Context ): Labeled = tree match {
1074
- case tree : Labeled if (bind eq tree.bind) && (expr eq tree.expr) && sameSourceFile(tree) => tree
1072
+ case tree : Labeled if (bind eq tree.bind) && (expr eq tree.expr) => tree
1075
1073
case _ => finalize(tree, untpd.Labeled (bind, expr)(sourceFile(tree)))
1076
1074
}
1077
1075
def Return (tree : Tree )(expr : Tree , from : Tree )(implicit ctx : Context ): Return = tree match {
1078
- case tree : Return if (expr eq tree.expr) && (from eq tree.from) && sameSourceFile(tree) => tree
1076
+ case tree : Return if (expr eq tree.expr) && (from eq tree.from) => tree
1079
1077
case _ => finalize(tree, untpd.Return (expr, from)(sourceFile(tree)))
1080
1078
}
1081
1079
def WhileDo (tree : Tree )(cond : Tree , body : Tree )(implicit ctx : Context ): WhileDo = tree match {
1082
- case tree : WhileDo if (cond eq tree.cond) && (body eq tree.body) && sameSourceFile(tree) => tree
1080
+ case tree : WhileDo if (cond eq tree.cond) && (body eq tree.body) => tree
1083
1081
case _ => finalize(tree, untpd.WhileDo (cond, body)(sourceFile(tree)))
1084
1082
}
1085
1083
def Try (tree : Tree )(expr : Tree , cases : List [CaseDef ], finalizer : Tree )(implicit ctx : Context ): Try = tree match {
1086
- case tree : Try if (expr eq tree.expr) && (cases eq tree.cases) && (finalizer eq tree.finalizer) && sameSourceFile(tree) => tree
1084
+ case tree : Try if (expr eq tree.expr) && (cases eq tree.cases) && (finalizer eq tree.finalizer) => tree
1087
1085
case _ => finalize(tree, untpd.Try (expr, cases, finalizer)(sourceFile(tree)))
1088
1086
}
1089
1087
def SeqLiteral (tree : Tree )(elems : List [Tree ], elemtpt : Tree )(implicit ctx : Context ): SeqLiteral = tree match {
1090
1088
case tree : JavaSeqLiteral =>
1091
- if ((elems eq tree.elems) && (elemtpt eq tree.elemtpt) && sameSourceFile(tree) ) tree
1092
- else finalize(tree, new JavaSeqLiteral (elems, elemtpt))
1093
- case tree : SeqLiteral if (elems eq tree.elems) && (elemtpt eq tree.elemtpt) && sameSourceFile(tree) => tree
1089
+ if ((elems eq tree.elems) && (elemtpt eq tree.elemtpt)) tree
1090
+ else finalize(tree, untpd. JavaSeqLiteral (elems, elemtpt))
1091
+ case tree : SeqLiteral if (elems eq tree.elems) && (elemtpt eq tree.elemtpt) => tree
1094
1092
case _ => finalize(tree, untpd.SeqLiteral (elems, elemtpt)(sourceFile(tree)))
1095
1093
}
1096
1094
def Inlined (tree : Tree )(call : tpd.Tree , bindings : List [MemberDef ], expansion : Tree )(implicit ctx : Context ): Inlined = tree match {
1097
- case tree : Inlined if (call eq tree.call) && (bindings eq tree.bindings) && (expansion eq tree.expansion) && sameSourceFile(tree) => tree
1095
+ case tree : Inlined if (call eq tree.call) && (bindings eq tree.bindings) && (expansion eq tree.expansion) => tree
1098
1096
case _ => finalize(tree, untpd.Inlined (call, bindings, expansion)(sourceFile(tree)))
1099
1097
}
1100
1098
def SingletonTypeTree (tree : Tree )(ref : Tree )(implicit ctx : Context ): SingletonTypeTree = tree match {
1101
- case tree : SingletonTypeTree if (ref eq tree.ref) && sameSourceFile(tree) => tree
1099
+ case tree : SingletonTypeTree if (ref eq tree.ref) => tree
1102
1100
case _ => finalize(tree, untpd.SingletonTypeTree (ref)(sourceFile(tree)))
1103
1101
}
1104
1102
def AndTypeTree (tree : Tree )(left : Tree , right : Tree )(implicit ctx : Context ): AndTypeTree = tree match {
1105
- case tree : AndTypeTree if (left eq tree.left) && (right eq tree.right) && sameSourceFile(tree) => tree
1103
+ case tree : AndTypeTree if (left eq tree.left) && (right eq tree.right) => tree
1106
1104
case _ => finalize(tree, untpd.AndTypeTree (left, right)(sourceFile(tree)))
1107
1105
}
1108
1106
def OrTypeTree (tree : Tree )(left : Tree , right : Tree )(implicit ctx : Context ): OrTypeTree = tree match {
1109
- case tree : OrTypeTree if (left eq tree.left) && (right eq tree.right) && sameSourceFile(tree) => tree
1107
+ case tree : OrTypeTree if (left eq tree.left) && (right eq tree.right) => tree
1110
1108
case _ => finalize(tree, untpd.OrTypeTree (left, right)(sourceFile(tree)))
1111
1109
}
1112
1110
def RefinedTypeTree (tree : Tree )(tpt : Tree , refinements : List [Tree ])(implicit ctx : Context ): RefinedTypeTree = tree match {
1113
- case tree : RefinedTypeTree if (tpt eq tree.tpt) && (refinements eq tree.refinements) && sameSourceFile(tree) => tree
1111
+ case tree : RefinedTypeTree if (tpt eq tree.tpt) && (refinements eq tree.refinements) => tree
1114
1112
case _ => finalize(tree, untpd.RefinedTypeTree (tpt, refinements)(sourceFile(tree)))
1115
1113
}
1116
1114
def AppliedTypeTree (tree : Tree )(tpt : Tree , args : List [Tree ])(implicit ctx : Context ): AppliedTypeTree = tree match {
1117
- case tree : AppliedTypeTree if (tpt eq tree.tpt) && (args eq tree.args) && sameSourceFile(tree) => tree
1115
+ case tree : AppliedTypeTree if (tpt eq tree.tpt) && (args eq tree.args) => tree
1118
1116
case _ => finalize(tree, untpd.AppliedTypeTree (tpt, args)(sourceFile(tree)))
1119
1117
}
1120
1118
def LambdaTypeTree (tree : Tree )(tparams : List [TypeDef ], body : Tree )(implicit ctx : Context ): LambdaTypeTree = tree match {
1121
- case tree : LambdaTypeTree if (tparams eq tree.tparams) && (body eq tree.body) && sameSourceFile(tree) => tree
1119
+ case tree : LambdaTypeTree if (tparams eq tree.tparams) && (body eq tree.body) => tree
1122
1120
case _ => finalize(tree, untpd.LambdaTypeTree (tparams, body)(sourceFile(tree)))
1123
1121
}
1124
1122
def MatchTypeTree (tree : Tree )(bound : Tree , selector : Tree , cases : List [CaseDef ])(implicit ctx : Context ): MatchTypeTree = tree match {
1125
- case tree : MatchTypeTree if (bound eq tree.bound) && (selector eq tree.selector) && (cases eq tree.cases) && sameSourceFile(tree) => tree
1123
+ case tree : MatchTypeTree if (bound eq tree.bound) && (selector eq tree.selector) && (cases eq tree.cases) => tree
1126
1124
case _ => finalize(tree, untpd.MatchTypeTree (bound, selector, cases)(sourceFile(tree)))
1127
1125
}
1128
1126
def ByNameTypeTree (tree : Tree )(result : Tree )(implicit ctx : Context ): ByNameTypeTree = tree match {
1129
- case tree : ByNameTypeTree if (result eq tree.result) && sameSourceFile(tree) => tree
1127
+ case tree : ByNameTypeTree if (result eq tree.result) => tree
1130
1128
case _ => finalize(tree, untpd.ByNameTypeTree (result)(sourceFile(tree)))
1131
1129
}
1132
1130
def TypeBoundsTree (tree : Tree )(lo : Tree , hi : Tree )(implicit ctx : Context ): TypeBoundsTree = tree match {
1133
- case tree : TypeBoundsTree if (lo eq tree.lo) && (hi eq tree.hi) && sameSourceFile(tree) => tree
1131
+ case tree : TypeBoundsTree if (lo eq tree.lo) && (hi eq tree.hi) => tree
1134
1132
case _ => finalize(tree, untpd.TypeBoundsTree (lo, hi)(sourceFile(tree)))
1135
1133
}
1136
1134
def Bind (tree : Tree )(name : Name , body : Tree )(implicit ctx : Context ): Bind = tree match {
1137
- case tree : Bind if (name eq tree.name) && (body eq tree.body) && sameSourceFile(tree) => tree
1135
+ case tree : Bind if (name eq tree.name) && (body eq tree.body) => tree
1138
1136
case _ => finalize(tree, untpd.Bind (name, body)(sourceFile(tree)))
1139
1137
}
1140
1138
def Alternative (tree : Tree )(trees : List [Tree ])(implicit ctx : Context ): Alternative = tree match {
1141
- case tree : Alternative if (trees eq tree.trees) && sameSourceFile(tree) => tree
1139
+ case tree : Alternative if (trees eq tree.trees) => tree
1142
1140
case _ => finalize(tree, untpd.Alternative (trees)(sourceFile(tree)))
1143
1141
}
1144
1142
def UnApply (tree : Tree )(fun : Tree , implicits : List [Tree ], patterns : List [Tree ])(implicit ctx : Context ): UnApply = tree match {
1145
- case tree : UnApply if (fun eq tree.fun) && (implicits eq tree.implicits) && (patterns eq tree.patterns) && sameSourceFile(tree) => tree
1143
+ case tree : UnApply if (fun eq tree.fun) && (implicits eq tree.implicits) && (patterns eq tree.patterns) => tree
1146
1144
case _ => finalize(tree, untpd.UnApply (fun, implicits, patterns)(sourceFile(tree)))
1147
1145
}
1148
1146
def ValDef (tree : Tree )(name : TermName , tpt : Tree , rhs : LazyTree )(implicit ctx : Context ): ValDef = tree match {
1149
- case tree : ValDef if (name == tree.name) && (tpt eq tree.tpt) && (rhs eq tree.unforcedRhs) && sameSourceFile(tree) => tree
1147
+ case tree : ValDef if (name == tree.name) && (tpt eq tree.tpt) && (rhs eq tree.unforcedRhs) => tree
1150
1148
case _ => finalize(tree, untpd.ValDef (name, tpt, rhs)(sourceFile(tree)))
1151
1149
}
1152
1150
def DefDef (tree : Tree )(name : TermName , tparams : List [TypeDef ], vparamss : List [List [ValDef ]], tpt : Tree , rhs : LazyTree )(implicit ctx : Context ): DefDef = tree match {
1153
- case tree : DefDef if (name == tree.name) && (tparams eq tree.tparams) && (vparamss eq tree.vparamss) && (tpt eq tree.tpt) && (rhs eq tree.unforcedRhs) && sameSourceFile(tree) => tree
1151
+ case tree : DefDef if (name == tree.name) && (tparams eq tree.tparams) && (vparamss eq tree.vparamss) && (tpt eq tree.tpt) && (rhs eq tree.unforcedRhs) => tree
1154
1152
case _ => finalize(tree, untpd.DefDef (name, tparams, vparamss, tpt, rhs)(sourceFile(tree)))
1155
1153
}
1156
1154
def TypeDef (tree : Tree )(name : TypeName , rhs : Tree )(implicit ctx : Context ): TypeDef = tree match {
1157
- case tree : TypeDef if (name == tree.name) && (rhs eq tree.rhs) && sameSourceFile(tree) => tree
1155
+ case tree : TypeDef if (name == tree.name) && (rhs eq tree.rhs) => tree
1158
1156
case _ => finalize(tree, untpd.TypeDef (name, rhs)(sourceFile(tree)))
1159
1157
}
1160
1158
def Template (tree : Tree )(constr : DefDef , parents : List [Tree ], derived : List [untpd.Tree ], self : ValDef , body : LazyTreeList )(implicit ctx : Context ): Template = tree match {
1161
- case tree : Template if (constr eq tree.constr) && (parents eq tree.parents) && (derived eq tree.derived) && (self eq tree.self) && (body eq tree.unforcedBody) && sameSourceFile(tree) => tree
1159
+ case tree : Template if (constr eq tree.constr) && (parents eq tree.parents) && (derived eq tree.derived) && (self eq tree.self) && (body eq tree.unforcedBody) => tree
1162
1160
case tree => finalize(tree, untpd.Template (constr, parents, derived, self, body)(sourceFile(tree)))
1163
1161
}
1164
1162
def Import (tree : Tree )(impliedOnly : Boolean , expr : Tree , selectors : List [untpd.Tree ])(implicit ctx : Context ): Import = tree match {
1165
- case tree : Import if (impliedOnly == tree.impliedOnly) && (expr eq tree.expr) && (selectors eq tree.selectors) && sameSourceFile(tree) => tree
1163
+ case tree : Import if (impliedOnly == tree.impliedOnly) && (expr eq tree.expr) && (selectors eq tree.selectors) => tree
1166
1164
case _ => finalize(tree, untpd.Import (impliedOnly, expr, selectors)(sourceFile(tree)))
1167
1165
}
1168
1166
def PackageDef (tree : Tree )(pid : RefTree , stats : List [Tree ])(implicit ctx : Context ): PackageDef = tree match {
1169
- case tree : PackageDef if (pid eq tree.pid) && (stats eq tree.stats) && sameSourceFile(tree) => tree
1167
+ case tree : PackageDef if (pid eq tree.pid) && (stats eq tree.stats) => tree
1170
1168
case _ => finalize(tree, untpd.PackageDef (pid, stats)(sourceFile(tree)))
1171
1169
}
1172
1170
def Annotated (tree : Tree )(arg : Tree , annot : Tree )(implicit ctx : Context ): Annotated = tree match {
1173
- case tree : Annotated if (arg eq tree.arg) && (annot eq tree.annot) && sameSourceFile(tree) => tree
1171
+ case tree : Annotated if (arg eq tree.arg) && (annot eq tree.annot) => tree
1174
1172
case _ => finalize(tree, untpd.Annotated (arg, annot)(sourceFile(tree)))
1175
1173
}
1176
1174
def Thicket (tree : Tree )(trees : List [Tree ])(implicit ctx : Context ): Thicket = tree match {
1177
- case tree : Thicket if (trees eq tree.trees) && sameSourceFile(tree) => tree
1175
+ case tree : Thicket if (trees eq tree.trees) => tree
1178
1176
case _ => finalize(tree, untpd.Thicket (trees)(sourceFile(tree)))
1179
1177
}
1180
1178
0 commit comments