summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-11-30 19:34:52 +0000
committerpaltherr <paltherr@epfl.ch>2004-11-30 19:34:52 +0000
commit0baefc44bcbeb4bbf519b061e656165e610bdcce (patch)
tree0aba0dd881eee3dffbc33e61889c5b33c6810a57
parentf9cc4a054b4266b1d11128fc394e100a6cb4eed9 (diff)
downloadscala-0baefc44bcbeb4bbf519b061e656165e610bdcce.tar.gz
scala-0baefc44bcbeb4bbf519b061e656165e610bdcce.tar.bz2
scala-0baefc44bcbeb4bbf519b061e656165e610bdcce.zip
- Added generation of .symbl files
-rw-r--r--sources/scalac/backend/jvm/GenJVM.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/sources/scalac/backend/jvm/GenJVM.java b/sources/scalac/backend/jvm/GenJVM.java
index 3cb590fa79..16890dce87 100644
--- a/sources/scalac/backend/jvm/GenJVM.java
+++ b/sources/scalac/backend/jvm/GenJVM.java
@@ -96,6 +96,8 @@ class GenJVM {
protected final FJBGContext fjbgContext;
+ protected final ArrayList pickles = new ArrayList();
+
public GenJVM(Global global) {
this.global = global;
this.defs = global.definitions;
@@ -128,6 +130,13 @@ class GenJVM {
if (global.debug) e.printStackTrace();
global.error(e.getMessage());
}
+ // write .symbl files (must be generated after .class files)
+ for (int i = 0; i < pickles.size() / 2; i++) {
+ JClass clazz = (JClass)pickles.get(2 * i + 0);
+ Pickle pickle = (Pickle)pickles.get(2 * i + 1);
+ writeSymblFile(clazz, pickle);
+ }
+ pickles.clear();
}
/**
@@ -1366,6 +1375,8 @@ class GenJVM {
* symbol table is saved.
*/
protected void addScalaAttr(JClass cls, Pickle pickle) {
+ pickles.add(cls);
+ pickles.add(pickle);
JOtherAttribute scalaAttr =
fjbgContext.JOtherAttribute(cls,
cls,