summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala
diff options
context:
space:
mode:
authorSimon Ochsenreither <simon@ochsenreither.de>2015-08-31 05:03:29 +0200
committerSimon Ochsenreither <simon@ochsenreither.de>2016-01-25 19:21:43 +0100
commitc78d771e6f025e767801f7fe118acc2ea7540acd (patch)
treee2e4faa4bcc60e7b5fd0d9a59d5586ed5522b900 /src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala
parent94a228f90e7d0cb997c866a8b9a7663c67e2df3d (diff)
downloadscala-c78d771e6f025e767801f7fe118acc2ea7540acd.tar.gz
scala-c78d771e6f025e767801f7fe118acc2ea7540acd.tar.bz2
scala-c78d771e6f025e767801f7fe118acc2ea7540acd.zip
SI-9437 Emit and support parameter names in class files
JEP 118 added a MethodParameters attribute to the class file spec which holds the parameter names of methods when compiling Java code with `javac -parameters`. We emit parameter names by default now.
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala b/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala
index 1ec9ba8a95..1b5ece772c 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala
@@ -841,6 +841,17 @@ abstract class BCodeHelpers extends BCodeIdiomatic with BytecodeWriters {
}
}
+ /*
+ * must-single-thread
+ */
+ def emitParamNames(jmethod: asm.MethodVisitor, params: List[Symbol]) = {
+ for (param <- params) {
+ var access = asm.Opcodes.ACC_FINAL
+ if (param.isArtifact)
+ access |= asm.Opcodes.ACC_SYNTHETIC
+ jmethod.visitParameter(param.name.decoded, access)
+ }
+ }
} // end of trait BCAnnotGen
trait BCJGenSigGen {