summaryrefslogtreecommitdiff
path: root/src/partest-extras/scala/tools/partest/ASMConverters.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2016-07-20 17:36:54 +0200
committerLukas Rytz <lukas.rytz@gmail.com>2016-07-20 21:13:39 +0200
commite619b033350a3378d650db4c3e5b1bfc83b73d81 (patch)
tree44abc925a9e9fc4a77a75a1983c42654c7cf8f89 /src/partest-extras/scala/tools/partest/ASMConverters.scala
parent5ddb0bbe36e7caa44c9442b059d103f7f4e75331 (diff)
downloadscala-e619b033350a3378d650db4c3e5b1bfc83b73d81.tar.gz
scala-e619b033350a3378d650db4c3e5b1bfc83b73d81.tar.bz2
scala-e619b033350a3378d650db4c3e5b1bfc83b73d81.zip
Upgrade asm to 5.1
The constructor of scala.tools.asm.Handle now takes an additional boolean parameter to denote whether the owner is an interface.
Diffstat (limited to 'src/partest-extras/scala/tools/partest/ASMConverters.scala')
-rw-r--r--src/partest-extras/scala/tools/partest/ASMConverters.scala6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/partest-extras/scala/tools/partest/ASMConverters.scala b/src/partest-extras/scala/tools/partest/ASMConverters.scala
index a3d849a9c1..445d3c89c2 100644
--- a/src/partest-extras/scala/tools/partest/ASMConverters.scala
+++ b/src/partest-extras/scala/tools/partest/ASMConverters.scala
@@ -94,7 +94,7 @@ object ASMConverters {
case class FrameEntry (`type`: Int, local: List[Any], stack: List[Any]) extends Instruction { def opcode: Int = -1 }
case class LineNumber (line: Int, start: Label) extends Instruction { def opcode: Int = -1 }
- case class MethodHandle(tag: Int, owner: String, name: String, desc: String)
+ case class MethodHandle(tag: Int, owner: String, name: String, desc: String, itf: Boolean)
case class ExceptionHandler(start: Label, end: Label, handler: Label, desc: Option[String])
case class LocalVariable(name: String, desc: String, signature: Option[String], start: Label, end: Label, index: Int)
@@ -147,7 +147,7 @@ object ASMConverters {
case _ => a // can be: Class, method Type, primitive constant
})(collection.breakOut)
- private def convertMethodHandle(h: asm.Handle): MethodHandle = MethodHandle(h.getTag, h.getOwner, h.getName, h.getDesc)
+ private def convertMethodHandle(h: asm.Handle): MethodHandle = MethodHandle(h.getTag, h.getOwner, h.getName, h.getDesc, h.isInterface)
private def convertHandlers(method: t.MethodNode): List[ExceptionHandler] = {
method.tryCatchBlocks.asScala.map(h => ExceptionHandler(applyLabel(h.start), applyLabel(h.end), applyLabel(h.handler), Option(h.`type`)))(collection.breakOut)
@@ -227,7 +227,7 @@ object ASMConverters {
case x => x.asInstanceOf[Object]
}
- def unconvertMethodHandle(h: MethodHandle): asm.Handle = new asm.Handle(h.tag, h.owner, h.name, h.desc)
+ def unconvertMethodHandle(h: MethodHandle): asm.Handle = new asm.Handle(h.tag, h.owner, h.name, h.desc, h.itf)
def unconvertBsmArgs(a: List[Object]): Array[Object] = a.map({
case h: MethodHandle => unconvertMethodHandle(h)
case o => o