summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2006-08-22 14:30:27 +0000
committerIulian Dragos <jaguarul@gmail.com>2006-08-22 14:30:27 +0000
commit01dfdb2e3c29ba788f72e72b6502b80c0e3ae93c (patch)
tree83eb2574dce3deee48f40a7d76604e059504bf10 /src
parent4a8bcedf9b07164adf01af2b2e7280bffee7066b (diff)
downloadscala-01dfdb2e3c29ba788f72e72b6502b80c0e3ae93c.tar.gz
scala-01dfdb2e3c29ba788f72e72b6502b80c0e3ae93c.tar.bz2
scala-01dfdb2e3c29ba788f72e72b6502b80c0e3ae93c.zip
Added -XinnerClasses option to turn on (default...
Added -XinnerClasses option to turn on (default is off) generation of InnerClasses attribute
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/Settings.scala1
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala4
2 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/Settings.scala b/src/compiler/scala/tools/nsc/Settings.scala
index 7881b33608..e53bcdcbee 100644
--- a/src/compiler/scala/tools/nsc/Settings.scala
+++ b/src/compiler/scala/tools/nsc/Settings.scala
@@ -120,6 +120,7 @@ class Settings(error: String => unit) {
val Xgenerics = BooleanSetting("-Xgenerics", "Use generic Java types");
val Xprintpos = BooleanSetting("-Xprintpos", "Print tree positions (as offsets)");
val Xscript = BooleanSetting("-Xscript", "compile script file");
+ val XinnerClasses = BooleanSetting("-XinnerClasses", "generate InnerClasses attribute for Java interoperability");
/** A list of all settings */
def allSettings: List[Setting] = allsettings.reverse
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
index 124290f425..d8be10771f 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
@@ -110,7 +110,9 @@ abstract class GenJVM extends SubComponent {
}
if (!(jclass.getName().endsWith("$") && sym.isModuleClass))
addScalaAttr(if (isTopLevelModule(sym)) sym.sourceModule else sym);
- addInnerClasses;
+
+ if (settings.XinnerClasses.value)
+ addInnerClasses;
val outfile = getFile(jclass, ".class");
jclass.writeTo(outfile);