summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/matching/CodeFactory.java
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-02-01 23:41:17 +0000
committerpaltherr <paltherr@epfl.ch>2004-02-01 23:41:17 +0000
commitec2cf46df2a18f9bcc56e8ac63f27d7fed5c12a6 (patch)
treeed4b7117054b82dcd0e94d873c207ffab6217410 /sources/scalac/transformer/matching/CodeFactory.java
parent53f396c70e0f402a0a3eba3f2041b47aa6050b50 (diff)
downloadscala-ec2cf46df2a18f9bcc56e8ac63f27d7fed5c12a6.tar.gz
scala-ec2cf46df2a18f9bcc56e8ac63f27d7fed5c12a6.tar.bz2
scala-ec2cf46df2a18f9bcc56e8ac63f27d7fed5c12a6.zip
- Introduced local and global refs
- Fixed related bugs in ExplicitOuter - Replaced TreeGen.mkPrimaryConstr by TreeGen.mkPrimaryConstructorRef methods
Diffstat (limited to 'sources/scalac/transformer/matching/CodeFactory.java')
-rw-r--r--sources/scalac/transformer/matching/CodeFactory.java16
1 files changed, 8 insertions, 8 deletions
diff --git a/sources/scalac/transformer/matching/CodeFactory.java b/sources/scalac/transformer/matching/CodeFactory.java
index 36c4a29683..8bb592327e 100644
--- a/sources/scalac/transformer/matching/CodeFactory.java
+++ b/sources/scalac/transformer/matching/CodeFactory.java
@@ -69,9 +69,9 @@ class CodeFactory extends PatternTool {
// EXPERIMENTAL
Tree newRef( Tree init ) {
//System.out.println( "hello:"+refSym().type() );
- return gen.New(gen.mkPrimaryConstr(pos, defs.REF_CLASS,
- new Type[] { init.getType() },
- new Tree[] { init } ));
+ return gen.New( gen.mkApplyTV( gen.mkPrimaryConstructorGlobalRef( pos, defs.REF_CLASS),
+ new Type[] { init.getType() },
+ new Tree[] { init } ));
}
/** returns A for T <: Sequence[ A ]
@@ -187,7 +187,7 @@ class CodeFactory extends PatternTool {
protected Tree ThrowMatchError(int pos, Type type) {
return gen.mkApplyTV(
- gen.mkRef(pos, defs.MATCHERROR_FAIL()),
+ gen.mkGlobalRef(pos, defs.MATCHERROR_FAIL()),
new Tree[]{gen.mkType(pos, type)},
new Tree[]{
gen.mkStringLit(pos, unit.toString()),
@@ -197,7 +197,7 @@ class CodeFactory extends PatternTool {
protected Tree Error(int pos, Type type) {
return gen.mkApplyTV(
- gen.mkRef(pos, defs.MATCHERROR_FAIL()),
+ gen.mkGlobalRef(pos, defs.MATCHERROR_FAIL()),
new Tree[]{gen.mkType(pos, type)},
new Tree[]{
gen.mkStringLit(pos, unit.toString()),
@@ -211,9 +211,9 @@ class CodeFactory extends PatternTool {
}
Tree newPair( Tree left, Tree right ) {
- return gen.New(gen.mkPrimaryConstr(pos, defs.TUPLE_CLASS[2],
- new Type[] { left.getType(), right.getType() },
- new Tree[] { left, right }));
+ return gen.New(gen.mkApplyTV( gen.mkPrimaryConstructorGlobalRef( pos, defs.TUPLE_CLASS[2]),
+ new Type[] { left.getType(), right.getType() },
+ new Tree[] { left, right }));
}