summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authormihaylov <mihaylov@epfl.ch>2004-11-23 14:50:07 +0000
committermihaylov <mihaylov@epfl.ch>2004-11-23 14:50:07 +0000
commitf66f43a1bef19da45591268d52a5cbcdbe3842df (patch)
tree8cea5ef56180e74979759c52a76838b8d827c520 /sources
parent9ea32651f722cf6535d55465547dfc411d10dbf3 (diff)
downloadscala-f66f43a1bef19da45591268d52a5cbcdbe3842df.tar.gz
scala-f66f43a1bef19da45591268d52a5cbcdbe3842df.tar.bz2
scala-f66f43a1bef19da45591268d52a5cbcdbe3842df.zip
- Moved tagMethod to TreeGen.mkTagMethod
- [MSIL] Do not generate getType methods for the MSIL backend
Diffstat (limited to 'sources')
-rwxr-xr-xsources/scala/tools/scalac/typechecker/RefCheck.scala20
1 files changed, 6 insertions, 14 deletions
diff --git a/sources/scala/tools/scalac/typechecker/RefCheck.scala b/sources/scala/tools/scalac/typechecker/RefCheck.scala
index 570dba39e7..0137fa3466 100755
--- a/sources/scala/tools/scalac/typechecker/RefCheck.scala
+++ b/sources/scala/tools/scalac/typechecker/RefCheck.scala
@@ -813,16 +813,6 @@ class RefCheck(globl: scalac.Global) extends Transformer(globl) {
gen.DefDef(equalsSym, body)
}
- private def tagMethod(clazz: ClassSymbol): Tree = {
- val flags = if (clazz.isSubClass(defs.SCALAOBJECT_CLASS)) OVERRIDE else 0;
- val tagSym = clazz.newMethod(clazz.pos, flags, Names.tag)
- .setInfo(Type.MethodType(Symbol.EMPTY_ARRAY, defs.int_TYPE()));
- clazz.info().members().enter(tagSym);
- gen.DefDef(
- tagSym,
- gen.mkIntLit(clazz.pos, if (clazz.isCaseClass()) clazz.tag() else 0));
- }
-
private def getTypeMethod(clazz: ClassSymbol): Tree = {
val flags = if (clazz.isSubClass(defs.SCALAOBJECT_CLASS)) OVERRIDE else 0;
val getTypeSym = clazz
@@ -889,11 +879,13 @@ class RefCheck(globl: scalac.Global) extends Transformer(globl) {
// the following report error if impl exists
ts.append(caseElementMethod(clazz));
ts.append(caseArityMethod(clazz));
- ts.append(tagMethod(clazz));
- ts.append(getTypeMethod(clazz));
+ ts.append(gen.mkTagMethod(clazz));
+ if (global.target != Global.TARGET_MSIL)
+ ts.append(getTypeMethod(clazz));
} else if ((clazz.flags & ABSTRACT) == 0) {
- ts.append(tagMethod(clazz));
- ts.append(getTypeMethod(clazz));
+ ts.append(gen.mkTagMethod(clazz));
+ if (global.target != Global.TARGET_MSIL)
+ ts.append(getTypeMethod(clazz));
}
if (clazz.isModuleClass() && clazz.isSubClass(defs.SERIALIZABLE_CLASS)) {
// If you serialize a singleton and then deserialize it twice,