summaryrefslogtreecommitdiff
path: root/src/tests/eolian/data/object_impl.eo
blob: 7eb4f36e5a65bc18d8d8b31af96bd5a924a9d8d4 (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
class Object_Impl (Base) {
   methods {
      @property a {
         set {
            values {
                value: const(list<int>);
            }
            return: bool (false);
         }
         get {
         }
         keys {
            part: string;
         }
         values {
            value: list<int> @owned;
         }
      }
      @property b {
         set {
         }
         get @pure_virtual {
            /* set as virtual pure - no implementation expected */
         }
         values {
            value: list<int> @owned;
         }
      }
      constructor_1 {
         params {
            @in a: int;
            @in b: char;
         }
      }
      constructor_2 {
      }
      foo1 {
         [[comment foo]]
         params {
            @in a: int; [[a]]
            @inout b: char;
            @out c: double;
         }
         return: ptr(char) (null); [[comment for method return]]
      }
      foo2 @const {
         [[comment foo]]
         params {
            @in a: int;
            @in b: string;
         }
      }
      pure_foo3 @pure_virtual {
         /* set as virtual pure - no implementation expected */
      }
   }
   implements {
      class.constructor;
      class.destructor;
      Base.constructor;
      Base.destructor;
   }
   constructors {
      .constructor_1;
      .constructor_2;
   }
}