From 9e0a11ca5d407f788f4e4dcbcccf7b72073692df Mon Sep 17 00:00:00 2001 From: Gary Frost <frost.gary@gmail.com> Date: Fri, 19 Oct 2012 16:02:49 +0000 Subject: [PATCH] --- .../src/java/com/amd/aparapi/ClassParseException.java | 3 ++- com.amd.aparapi/src/java/com/amd/aparapi/MethodModel.java | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/com.amd.aparapi/src/java/com/amd/aparapi/ClassParseException.java b/com.amd.aparapi/src/java/com/amd/aparapi/ClassParseException.java index 7d175346..cbf564ea 100644 --- a/com.amd.aparapi/src/java/com/amd/aparapi/ClassParseException.java +++ b/com.amd.aparapi/src/java/com/amd/aparapi/ClassParseException.java @@ -79,7 +79,8 @@ package com.amd.aparapi; ACCESSEDOBJECTONLYSUPPORTSSIMPLEPUTFIELD("We don't support putfield instructions beyond simple setters"), // ACCESSEDOBJECTSETTERARRAY("Passing array arguments to Intrinsics in expression form is not supported"), // MULTIDIMENSIONARRAYASSIGN("Can't assign to two dimension array"), // - MULTIDIMENSIONARRAYACCESS("Can't access through a two dimensional array"); + MULTIDIMENSIONARRAYACCESS("Can't access through a two dimensional array"),// + MISSINGLOCALVARIABLETABLE("Method does not contain a local variable table (recompile with -g?)"); private String description; diff --git a/com.amd.aparapi/src/java/com/amd/aparapi/MethodModel.java b/com.amd.aparapi/src/java/com/amd/aparapi/MethodModel.java index 12beb192..be1c8f3e 100644 --- a/com.amd.aparapi/src/java/com/amd/aparapi/MethodModel.java +++ b/com.amd.aparapi/src/java/com/amd/aparapi/MethodModel.java @@ -1472,6 +1472,9 @@ class MethodModel{ if (Config.enableAllowMissingLocalVariableTable && localVariableTableEntry == null) { logger.warning("class does not contain a LocalVariableTable - but enableAllowMissingLocalVariableTable is set so we are ignoring"); } else { + if (localVariableTableEntry == null){ + throw new ClassParseException(ClassParseException.TYPE.MISSINGLOCALVARIABLETABLE); + } for (LocalVariableInfo localVariableInfo : localVariableTableEntry) { final boolean DISALLOWARRAYLOCALVAR = false; if (DISALLOWARRAYLOCALVAR && localVariableInfo.getVariableDescriptor().startsWith("[")) { -- GitLab