@@ -1337,16 +1337,6 @@ abstract class RefChecks extends Transform {
13371337 member.typeParams.map(_.info.bounds.hi.widen) foreach checkAccessibilityOfType
13381338 }
13391339
1340- private def checkByNameRightAssociativeDef (tree : DefDef ): Unit = {
1341- tree match {
1342- case DefDef (_, name, _, params :: _, _, _) =>
1343- if (settings.warnByNameRightAssociative && ! nme.isLeftAssoc(name.decodedName) && params.exists(p => isByName(p.symbol)))
1344- reporter.warning(tree.pos,
1345- " by-name parameters will be evaluated eagerly when called as a right-associative infix operator. For more details, see scala/bug#1980." )
1346- case _ =>
1347- }
1348- }
1349-
13501340 /** Check that a deprecated val or def does not override a
13511341 * concrete, non-deprecated method. If it does, then
13521342 * deprecation is meaningless.
@@ -1677,20 +1667,16 @@ abstract class RefChecks extends Transform {
16771667 checkAccessibilityOfReferencedTypes(tree)
16781668 }
16791669 tree match {
1680- case dd : DefDef =>
1681- checkByNameRightAssociativeDef(dd)
1682-
1683- if (sym hasAnnotation NativeAttr ) {
1684- if (sym.owner.isTrait) {
1685- reporter.error(tree.pos, " A trait cannot define a native method." )
1686- tree
1687- } else if (dd.rhs == EmptyTree ) {
1688- // pretend it had a stub implementation
1689- sym resetFlag DEFERRED
1690- deriveDefDef(dd)(_ => typed(gen.mkThrowNewRuntimeException(" native method stub" )))
1691- } else tree
1692- } else tree
1693-
1670+ case dd : DefDef if sym.hasAnnotation(NativeAttr ) =>
1671+ if (sym.owner.isTrait) {
1672+ reporter.error(tree.pos, " A trait cannot define a native method." )
1673+ tree
1674+ } else if (dd.rhs == EmptyTree ) {
1675+ // pretend it had a stub implementation
1676+ sym resetFlag DEFERRED
1677+ deriveDefDef(dd)(_ => typed(gen.mkThrowNewRuntimeException(" native method stub" )))
1678+ } else
1679+ tree
16941680 case _ => tree
16951681 }
16961682
0 commit comments