diff options
author | schinz <schinz@epfl.ch> | 2003-08-05 14:56:41 +0000 |
---|---|---|
committer | schinz <schinz@epfl.ch> | 2003-08-05 14:56:41 +0000 |
commit | d27a593dc1fb4936161651cdaa8a9207c6c661dd (patch) | |
tree | 712b5000565b617be15c3b5bfe7fa3bf331167c9 /sources/scalac | |
parent | 8c0290713cc8b20ce3076a984a2849a5a1458aae (diff) | |
download | scala-d27a593dc1fb4936161651cdaa8a9207c6c661dd.tar.gz scala-d27a593dc1fb4936161651cdaa8a9207c6c661dd.tar.bz2 scala-d27a593dc1fb4936161651cdaa8a9207c6c661dd.zip |
- activated code to write pickle data to class ...
- activated code to write pickle data to class files
Diffstat (limited to 'sources/scalac')
-rw-r--r-- | sources/scalac/backend/jvm/GenJVM.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/sources/scalac/backend/jvm/GenJVM.java b/sources/scalac/backend/jvm/GenJVM.java index 817ca9b55b..c3d0dd290e 100644 --- a/sources/scalac/backend/jvm/GenJVM.java +++ b/sources/scalac/backend/jvm/GenJVM.java @@ -16,6 +16,7 @@ import scalac.util.*; import scalac.ast.*; import scalac.symtab.*; import scalac.symtab.classfile.ClassfileConstants; +import scalac.symtab.classfile.Pickle; import scalac.transformer.*; import ch.epfl.lamp.util.Pair; @@ -61,6 +62,8 @@ class GenJVM { protected final static String SCALA_UNIT = "scala.Unit"; protected final static String SCALA_UNIT_VALUE = "UNIT_VAL"; + protected final static String SCALA_ATTR = ClassfileConstants.SCALA_N.toString(); + protected final static String MODULE_INSTANCE_FIELD_NAME = "MODULE$"; protected final static String CONSTRUCTOR_STRING = @@ -1206,8 +1209,16 @@ class GenJVM { * symbol table is saved. */ protected void addScalaAttr(JClass cls) { -// JOtherAttribute scalaAttr = new JOtherAttribute(...); -// cls.addAttribute(scalaAttr); + Name className = Name.fromString(cls.getName()); + + if (global.symdata.containsKey(className)) { + Pickle pickle = (Pickle)global.symdata.get(className); + JOtherAttribute scalaAttr = new JOtherAttribute(cls, + SCALA_ATTR, + pickle.bytes, + pickle.size()); + cls.addAttribute(scalaAttr); + } } /// Names |