From c2e44ad3d1b15d7c71f0b9bfef0497ab88b8a1c0 Mon Sep 17 00:00:00 2001 From: Saurabh Rawat <saurabh.rawat90@gmail.com> Date: Wed, 27 Jun 2018 12:46:06 +0530 Subject: [PATCH] make scala work --- .../java/com/aparapi/internal/instruction/ExpressionList.java | 3 ++- .../java/com/aparapi/internal/instruction/InstructionSet.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/aparapi/internal/instruction/ExpressionList.java b/src/main/java/com/aparapi/internal/instruction/ExpressionList.java index 4aa24b50..c7d38b13 100644 --- a/src/main/java/com/aparapi/internal/instruction/ExpressionList.java +++ b/src/main/java/com/aparapi/internal/instruction/ExpressionList.java @@ -813,7 +813,8 @@ public class ExpressionList{ logger.fine("Scope block from " + startPc + " to " + (tail.getThisPC() + tail.getLength())); for (Instruction i = head; i != null; i = i.getNextPC()) { if (i.getThisPC() == startPc) { - final Instruction startInstruction = i.getRootExpr().getPrevExpr(); + final Instruction j = i.getRootExpr().getPrevExpr(); + final Instruction startInstruction = j == null ? i : j; logger.fine("Start = " + startInstruction); addAsComposites(ByteCode.COMPOSITE_ARBITRARY_SCOPE, startInstruction.getPrevExpr(), null); diff --git a/src/main/java/com/aparapi/internal/instruction/InstructionSet.java b/src/main/java/com/aparapi/internal/instruction/InstructionSet.java index cc331733..9fe5a71a 100644 --- a/src/main/java/com/aparapi/internal/instruction/InstructionSet.java +++ b/src/main/java/com/aparapi/internal/instruction/InstructionSet.java @@ -1276,7 +1276,7 @@ public class InstructionSet{ @Override public boolean isDeclaration() { LocalVariableInfo lvi = method.getLocalVariableTableEntry().getVariable(getThisPC() + getLength(), getLocalVariableTableIndex()); - return (lvi != null) && (lvi.getStart() == getThisPC() + getLength()); + return (lvi != null) && (lvi.getStart() == getThisPC() + getLength() || lvi.getStart() == getThisPC()); } @Override public String getDescription() { -- GitLab