diff options
author | Chris Westin <cwestin@yahoo.com> | 2015-03-19 17:13:35 -0700 |
---|---|---|
committer | Jacques Nadeau <jacques@apache.org> | 2015-03-19 22:14:14 -0700 |
commit | 7af5f9a01b1433bb8bb62c1e04a6cef68d629b48 (patch) | |
tree | 669e6e534d4bbce65acabe3447d35bc02b640f88 /exec/java-exec/src/main/java/org/apache/drill/exec/compile/ClassTransformer.java | |
parent | 838fd08aec6378d3709842b7f93cfabf1e14f87a (diff) |
DRILL-2503: AsmUtil ClassTransformer MergeAdapter - add option to pass through ClassReader.EXPAND_FRAMES to satisfy complaint from ASM - rationalize AsmUtils methods' argument lists
TestBugFixes (in ...drill.jdbc.test)
- created this to hold random bug fix tests
Diffstat (limited to 'exec/java-exec/src/main/java/org/apache/drill/exec/compile/ClassTransformer.java')
-rw-r--r-- | exec/java-exec/src/main/java/org/apache/drill/exec/compile/ClassTransformer.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/compile/ClassTransformer.java b/exec/java-exec/src/main/java/org/apache/drill/exec/compile/ClassTransformer.java index 493f6ce8e..d4d74dd94 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/compile/ClassTransformer.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/compile/ClassTransformer.java @@ -30,6 +30,7 @@ import org.apache.drill.exec.server.options.OptionManager; import org.apache.drill.exec.server.options.OptionValue; import org.apache.drill.exec.server.options.TypeValidators.EnumeratedStringValidator; import org.codehaus.commons.compiler.CompileException; +import org.objectweb.asm.ClassReader; import org.objectweb.asm.tree.ClassNode; import com.google.common.annotations.VisibleForTesting; @@ -226,8 +227,8 @@ public class ClassTransformer { Map<String, ClassNode> classesToMerge = Maps.newHashMap(); for (byte[] clazz : implementationClasses) { totalBytecodeSize += clazz.length; - final ClassNode node = AsmUtil.classFromBytes(clazz); - if (!AsmUtil.isClassOk(logger, node, "implementationClasses")) { + final ClassNode node = AsmUtil.classFromBytes(clazz, ClassReader.EXPAND_FRAMES); + if (!AsmUtil.isClassOk(logger, "implementationClasses", node)) { throw new IllegalStateException("Problem found with implementationClasses"); } classesToMerge.put(node.name, node); |