diff options
author | paltherr <paltherr@epfl.ch> | 2004-01-21 14:54:19 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2004-01-21 14:54:19 +0000 |
commit | 1c3bde7437e75907084fb43f461f981a48913706 (patch) | |
tree | b6c1584add23507ed43de4242a536174f9300f39 | |
parent | b011f553791111885d5c50050f044d550eb62a25 (diff) | |
download | scala-1c3bde7437e75907084fb43f461f981a48913706.tar.gz scala-1c3bde7437e75907084fb43f461f981a48913706.tar.bz2 scala-1c3bde7437e75907084fb43f461f981a48913706.zip |
- Added argument to AInvokeStyle.Static
-rw-r--r-- | sources/scalac/atree/AInvokeStyle.java | 14 | ||||
-rw-r--r-- | sources/scalac/atree/ATreeFromSTree.java | 4 | ||||
-rw-r--r-- | sources/scalac/atree/ATreePrinter.java | 6 |
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('.'); |