summaryrefslogtreecommitdiff
path: root/sources/scalac/atree
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-01-21 14:54:19 +0000
committerpaltherr <paltherr@epfl.ch>2004-01-21 14:54:19 +0000
commit1c3bde7437e75907084fb43f461f981a48913706 (patch)
treeb6c1584add23507ed43de4242a536174f9300f39 /sources/scalac/atree
parentb011f553791111885d5c50050f044d550eb62a25 (diff)
downloadscala-1c3bde7437e75907084fb43f461f981a48913706.tar.gz
scala-1c3bde7437e75907084fb43f461f981a48913706.tar.bz2
scala-1c3bde7437e75907084fb43f461f981a48913706.zip
- Added argument to AInvokeStyle.Static
Diffstat (limited to 'sources/scalac/atree')
-rw-r--r--sources/scalac/atree/AInvokeStyle.java14
-rw-r--r--sources/scalac/atree/ATreeFromSTree.java4
-rw-r--r--sources/scalac/atree/ATreePrinter.java6
3 files changed, 16 insertions, 8 deletions
diff --git a/sources/scalac/atree/AInvokeStyle.java b/sources/scalac/atree/AInvokeStyle.java
index 7717c2d37c..43951a6a37 100644
--- a/sources/scalac/atree/AInvokeStyle.java
+++ b/sources/scalac/atree/AInvokeStyle.java
@@ -17,8 +17,14 @@ public class AInvokeStyle {
// Public Cases
public case New;
- public case Static;
public case Dynamic;
+ public case Static(boolean onInstance);
+
+ //########################################################################
+ // Public Constants
+
+ public static final AInvokeStyle StaticClass = Static(false);
+ public static final AInvokeStyle StaticInstance = Static(true);
//########################################################################
// Public Methods
@@ -28,10 +34,12 @@ public class AInvokeStyle {
switch (this) {
case New:
return "new";
- case Static:
- return "static";
case Dynamic:
return "dynamic";
+ case Static(false):
+ return "static-class";
+ case Static(true):
+ return "static-instance";
default:
throw Debug.abort("unknown case", this);
}
diff --git a/sources/scalac/atree/ATreeFromSTree.java b/sources/scalac/atree/ATreeFromSTree.java
index b3d309a7b5..baa60c1599 100644
--- a/sources/scalac/atree/ATreeFromSTree.java
+++ b/sources/scalac/atree/ATreeFromSTree.java
@@ -264,7 +264,7 @@ public class ATreeFromSTree {
case Select(Tree qualifier, _):
if (symbol.isJava() && symbol.owner().isModuleClass())
- return AFunction.Method(make.Void, symbol, AInvokeStyle.Static); // !!! qualifier is ignored !
+ return AFunction.Method(make.Void, symbol, AInvokeStyle.StaticClass); // !!! qualifier is ignored !
ACode object = expression(qualifier);
return AFunction.Method(object, symbol, invokeStyle(qualifier));
@@ -280,7 +280,7 @@ public class ATreeFromSTree {
private AInvokeStyle invokeStyle(Tree qualifier) {
switch (qualifier) {
case Super(_, _):
- return AInvokeStyle.Static;
+ return AInvokeStyle.StaticInstance;
default:
return AInvokeStyle.Dynamic;
}
diff --git a/sources/scalac/atree/ATreePrinter.java b/sources/scalac/atree/ATreePrinter.java
index 620568e8d3..85e4269280 100644
--- a/sources/scalac/atree/ATreePrinter.java
+++ b/sources/scalac/atree/ATreePrinter.java
@@ -459,10 +459,10 @@ public class ATreePrinter {
switch (function) {
case Method(Void, Symbol method, AInvokeStyle.New):
return print("new").space().printSymbol(method);
- case Method(Void, Symbol method, AInvokeStyle.Static):
+ case Method(Void, Symbol method, AInvokeStyle.Static(false)):
return printSymbol(method.owner()).print('.').printSymbol(method);
- case Method(This(Symbol clasz), Symbol method, AInvokeStyle.Static):
- printSymbol(clasz).print('.').print("super").print('.');
+ case Method(This(Symbol c), Symbol method, AInvokeStyle.Static(true)):
+ printSymbol(c).print('.').print("super").print('.');
return printSymbol(method);
case Method(ACode object, Symbol method, AInvokeStyle style):
printCode(object).print('.');