summaryrefslogtreecommitdiff
path: root/mnv/runtime/syntax/testdir/input/mnv9_ex_enum.mnv
blob: 4f6eec4da65e3155db57c6374d40740a95abee76 (plain)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
mnv9script
# MNV :enum command
# MNV_TEST_SETUP hi link mnv9EnumValue Todo


interface Interface1
  def Def1()
endinterface
interface Interface2
endinterface

# enum-implements clause with interspersed comments

enum Enum1 implements Interface1, Interface2
  Value1
  def Def1()
  enddef
endenum

enum Enum2
      \ implements Interface1, Interface2
  Value1
  def Def1()
  enddef
endenum

enum Enum3 # comment
      \ implements Interface1, Interface2
  Value1
endenum

enum Enum4
      # comment
      \ implements Interface1, Interface2
  Value1
endenum

enum Enum5
      \ implements Interface1, Interface2 # comment
  Value1
  def Def1()
  enddef
endenum

enum Enum6
      #\ comment
      \ implements Interface1, Interface2
  Value1
  def Def1()
  enddef
endenum

# [enum Enum7.Value1 {name: 'Value1', ordinal: 0, val1: 0, val2: 0}, enum Enum7.Value2 {name: 'Value2', ordinal: 1, val1: 1, val2: 0}, enum Enum7.Value3 {name: 'Value3', ordinal: 2, val1: 2, val2: 0}]
# comment
enum Enum7
      \
      #\ comment
      \
      #\ comment
      \ implements Interface1, Interface2 # comment
    # comment
    # comment
    Value1,        # comment
    # comment
    # comment
    Value2(1 + 0), # comment
    # comment
    # comment
    Value3(   # comment
      # comment
      1       # comment
        # comment
        +     # comment
      # comment
      1       # comment
    )         # comment
    # comment
    var val1: number # comment
    # comment
    def Def1()
    enddef
    # comment
    static def Def2() # comment
      # comment
    enddef # comment
    # comment
    public var val2: number # comment
endenum

# [enum Enum8.implements {name: 'implements', ordinal: 0}]
enum Enum8 implements Interface1, Interface2
  implements
  def Def1()
  enddef
endenum

# [enum Enum9.Value1 {name: 'Value1', ordinal: 0, implements: 0}]
enum Enum9 implements Interface1, Interface2
  Value1
  var implements: number
  def Def1()
  enddef
endenum

# [enum Enum10.implements {name: 'implements', ordinal: 0}]
enum Enum10 implements Interface1, Interface2
  implements
  def Def1()
  enddef
endenum