summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-02-22 22:46:32 -0800
committerPaul Phillips <paulp@improving.org>2012-02-23 00:35:22 -0800
commit4a984f82d5bfca05123c53bd385d0299818f8a75 (patch)
treed9f5cc270fee70649ee22cd715c0899ae204ef26 /src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
parent98cf4014a3a14dbc348a464584133d90719bdbb8 (diff)
downloadscala-4a984f82d5bfca05123c53bd385d0299818f8a75.tar.gz
scala-4a984f82d5bfca05123c53bd385d0299818f8a75.tar.bz2
scala-4a984f82d5bfca05123c53bd385d0299818f8a75.zip
Methods to derive new DefDefs.
I guess I'd seen DefDef(mods, name, tparams, vparamss, tpt, rhs) one too many times and went a little crazy. What do you prefer: - val DefDef(mods, name, tparams, vparamss, tpt, rhs) = tree1 - treeCopy.DefDef(tree1, mods, name, tparams, vparamss, tpt, transform(rhs)) + deriveDefDef(tree1)(transform) Me too.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/RefChecks.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/RefChecks.scala9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
index 92e9f54190..89617e6f2c 100644
--- a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
@@ -1528,12 +1528,9 @@ abstract class RefChecks extends InfoTransform with reflect.internal.transform.R
// inside annotations.
applyRefchecksToAnnotations(tree)
var result: Tree = tree match {
- case DefDef(mods, name, tparams, vparams, tpt, EmptyTree) if tree.symbol.hasAnnotation(NativeAttr) =>
- tree.symbol.resetFlag(DEFERRED)
- transform(treeCopy.DefDef(
- tree, mods, name, tparams, vparams, tpt,
- typed(gen.mkSysErrorCall("native method stub"))
- ))
+ case DefDef(_, _, _, _, _, EmptyTree) if sym hasAnnotation NativeAttr =>
+ sym resetFlag DEFERRED
+ transform(deriveDefDef(tree)(_ => typed(gen.mkSysErrorCall("native method stub"))))
case ValDef(_, _, _, _) | DefDef(_, _, _, _, _, _) =>
checkDeprecatedOvers(tree)