summaryrefslogtreecommitdiff
path: root/src/tests/eolian/data/typedef.eo
blob: 258595ae7b7a36af01f8870e6ac4ca4975d5dc4b (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
type Evas.Coord: int; /* Simple type definition */
type List_Objects: own(list<ptr(Eo)>); /* A little more complex */

type Evas.Coord2: Evas.Coord;
type Evas.Coord3: Evas.Coord2;

type @extern Evas.Pants: float; /* not generated */

type Undef: __undefined_type; /* not generated */

type Event: __builtin_event_cb; /* specially generated */

type Free: __builtin_free_cb; /* specially generated */

enum Enum.Bar
{
   legacy: bar;
   first_item  = 0,
   second_item,
   last_item
}

enum Elm.Object.Select_Mode
{
   default = 0,
   always,
   none,
   display_only,
   max
}

class Typedef {
   methods {
      foo {
         params {
            idx: int;
         }
         return: own(ptr(char));
      }
   }
}