summaryrefslogtreecommitdiff
path: root/sources/scalac/atree/AInvokeStyle.java
blob: 43951a6a37156f9452b7d2b55f5bb5ebad8529df (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*     ____ ____  ____ ____  ______                                     *\
**    / __// __ \/ __// __ \/ ____/    SOcos COmpiles Scala             **
**  __\_ \/ /_/ / /__/ /_/ /\_ \       (c) 2002, LAMP/EPFL              **
** /_____/\____/\___/\____/____/                                        **
\*                                                                      */

// $Id$

package scalac.atree;

import scalac.util.Debug;

/** This class represents a method invocation style. */
public class AInvokeStyle {

    //########################################################################
    // Public Cases

    public case New;
    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

    /** Returns a string representation of this style. */
    public String toString() {
        switch (this) {
        case New:
            return "new";
        case Dynamic:
            return "dynamic";
        case Static(false):
            return "static-class";
        case Static(true):
            return "static-instance";
        default:
            throw Debug.abort("unknown case", this);
        }
    }

    //########################################################################
}