summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-07-05 15:35:46 +0000
committerPaul Phillips <paulp@improving.org>2010-07-05 15:35:46 +0000
commitb053d329d3f148d1b0afed92bcbd722c84aeeabd (patch)
tree5a0cd883fe70962c3e446c0ff6286798f5186d13
parent4d69f2d6eb7eb6aa0a3b4986ce8ddb9ee66c624a (diff)
downloadscala-b053d329d3f148d1b0afed92bcbd722c84aeeabd.tar.gz
scala-b053d329d3f148d1b0afed92bcbd722c84aeeabd.tar.bz2
scala-b053d329d3f148d1b0afed92bcbd722c84aeeabd.zip
Put a couple null checks in the inliner so it d...
Put a couple null checks in the inliner so it doesn't NPE under -Ydebug. No review.
-rw-r--r--src/compiler/scala/tools/nsc/backend/opt/Inliners.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
index d528f56ff8..b86e22787b 100644
--- a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
+++ b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
@@ -542,7 +542,7 @@ abstract class Inliners extends SubComponent {
true
}
- if (inc.isRecursive)
+ if (!inc.hasCode || inc.isRecursive)
return false
val accessNeeded = usesNonPublics.getOrElseUpdate(inc.m, {
@@ -602,7 +602,7 @@ abstract class Inliners extends SubComponent {
* - it's good to inline closures functions.
* - it's bad (useless) to inline inside bridge methods
*/
- private def neverInline = caller.isBridge || inc.noinline
+ private def neverInline = caller.isBridge || !inc.hasCode || inc.noinline
private def alwaysInline = inc.inline
def shouldInline: Boolean = !neverInline && (alwaysInline || {