From 1c3bde7437e75907084fb43f461f981a48913706 Mon Sep 17 00:00:00 2001 From: paltherr Date: Wed, 21 Jan 2004 14:54:19 +0000 Subject: - Added argument to AInvokeStyle.Static --- sources/scalac/atree/AInvokeStyle.java | 14 +++++++++++--- sources/scalac/atree/ATreeFromSTree.java | 4 ++-- sources/scalac/atree/ATreePrinter.java | 6 +++--- 3 files changed, 16 insertions(+), 8 deletions(-) (limited to 'sources/scalac/atree') 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('.'); -- cgit v1.2.3