From b053d329d3f148d1b0afed92bcbd722c84aeeabd Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Mon, 5 Jul 2010 15:35:46 +0000 Subject: 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. --- src/compiler/scala/tools/nsc/backend/opt/Inliners.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/compiler') 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 || { -- cgit v1.2.3