summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer
diff options
context:
space:
mode:
authorschinz <schinz@epfl.ch>2005-03-26 14:12:37 +0000
committerschinz <schinz@epfl.ch>2005-03-26 14:12:37 +0000
commit9917c668018f845f55e09f74323509791063a463 (patch)
tree5a42db2d954eb31dd5f0531f4f742661eb7c1e8d /sources/scalac/transformer
parent22d6d7b6529d25be5d0586eeb5efc1bd305e3ff7 (diff)
downloadscala-9917c668018f845f55e09f74323509791063a463.tar.gz
scala-9917c668018f845f55e09f74323509791063a463.tar.bz2
scala-9917c668018f845f55e09f74323509791063a463.zip
- pass null as ancestor code when it is empty, ...
- pass null as ancestor code when it is empty, instead of creating an array each time
Diffstat (limited to 'sources/scalac/transformer')
-rw-r--r--sources/scalac/transformer/TypesAsValuesPhase.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/sources/scalac/transformer/TypesAsValuesPhase.java b/sources/scalac/transformer/TypesAsValuesPhase.java
index 6eea866c11..11dcaa2487 100644
--- a/sources/scalac/transformer/TypesAsValuesPhase.java
+++ b/sources/scalac/transformer/TypesAsValuesPhase.java
@@ -588,6 +588,7 @@ public class TypesAsValuesPhase extends Phase {
}
Ancestor[][] ancestors = computeAncestors(clsSym);
+ int[] ancestorCode = getAncestorCode(ancestors);
Tree outer = isNestedClass(clsSym)
? (clsSym.owner().isClass()
@@ -603,7 +604,9 @@ public class TypesAsValuesPhase extends Phase {
gen.mkIntLit(pos, mCount),
gen.mkIntLit(pos, pCount),
gen.mkIntLit(pos, ancestors.length),
- mkNewIntLitArray(pos, getAncestorCode(ancestors), owner)
+ ancestorCode.length == 0
+ ? gen.mkNullLit(pos)
+ : mkNewIntLitArray(pos, getAncestorCode(ancestors), owner)
};
Symbol tcConst = defs.TYPECONSTRUCTOR_CLASS.primaryConstructor();