diff options
author | Paul Phillips <paulp@improving.org> | 2010-07-05 15:35:46 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-07-05 15:35:46 +0000 |
commit | b053d329d3f148d1b0afed92bcbd722c84aeeabd (patch) | |
tree | 5a0cd883fe70962c3e446c0ff6286798f5186d13 /src | |
parent | 4d69f2d6eb7eb6aa0a3b4986ce8ddb9ee66c624a (diff) | |
download | scala-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.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/opt/Inliners.scala | 4 |
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 || { |