diff options
author | Simon Ochsenreither <simon@ochsenreither.de> | 2015-08-31 05:03:29 +0200 |
---|---|---|
committer | Simon Ochsenreither <simon@ochsenreither.de> | 2016-01-25 19:21:43 +0100 |
commit | c78d771e6f025e767801f7fe118acc2ea7540acd (patch) | |
tree | e2e4faa4bcc60e7b5fd0d9a59d5586ed5522b900 /src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala | |
parent | 94a228f90e7d0cb997c866a8b9a7663c67e2df3d (diff) | |
download | scala-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.scala | 11 |
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 { |