Merge: Added contributing guidelines and link from readme
[nit.git] / tests / sav / nituml_args3.res
1 digraph G {
2         fontname = "Bitstream Vera Sans"
3                                 fontsize = 8
4                                 node [
5                                         fontname = "Bitstream Vera Sans"
6                                         fontsize = 8
7                                         shape = "record"
8                                 ]
9
10                                 edge [
11                                         fontname = "Bitstream Vera Sans"
12                                         fontsize = 8
13                                 ]
14 Object [
15  label = "{interface\nObject||+ object_id(): Int\l+ is_same_type(other: Object): Bool\l+ is_same_instance(other: nullable Object): Bool\l+ ==(other: nullable Object): Bool\l+ !=(other: nullable Object): Bool\l+ output()\l+ output_class_name()\l+ hash(): Int\l+ sys(): Sys\l+ init()\l}"
16 ]
17
18 Sys [
19  label = "{Sys||+ main()\l+ run()\l+ errno(): Int\l+ exit(exit_value: Int)\l}"
20 ]
21 Object -> Sys [dir=back arrowtail=open style=dashed];
22
23 Comparable [
24  label = "{interface\nComparable||+ \<(other: OTHER): Bool\l+ \<=(other: OTHER): Bool\l+ \>=(other: OTHER): Bool\l+ \>(other: OTHER): Bool\l+ \<=\>(other: OTHER): Int\l+ is_between(c: OTHER, d: OTHER): Bool\l+ max(other: OTHER): OTHER\l+ min(c: OTHER): OTHER\l}"
25 ]
26 Object -> Comparable [dir=back arrowtail=open style=dashed];
27
28 Discrete [
29  label = "{interface\nDiscrete||+ successor(i: Int): OTHER\l+ predecessor(i: Int): OTHER\l+ distance(d: OTHER): Int\l}"
30 ]
31 Comparable -> Discrete [dir=back arrowtail=open style=dashed];
32
33 Cloneable [
34  label = "{interface\nCloneable||+ clone(): SELF\l}"
35 ]
36 Object -> Cloneable [dir=back arrowtail=open style=dashed];
37
38 Numeric [
39  label = "{interface\nNumeric||+ +(i: OTHER): OTHER\l+ -(i: OTHER): OTHER\l+ unary -(): OTHER\l+ *(i: OTHER): OTHER\l+ /(i: OTHER): OTHER\l+ to_i(): Int\l+ to_f(): Float\l+ to_b(): Byte\l+ is_zero(): Bool\l+ zero(): OTHER\l+ value_of(val: Numeric): OTHER\l}"
40 ]
41 Comparable -> Numeric [dir=back arrowtail=open style=dashed];
42
43 Bool [
44  label = "{Bool||+ to_i(): Int\l}"
45 ]
46 Object -> Bool [dir=back arrowtail=open style=dashed];
47
48 Float [
49  label = "{Float||+ is_approx(other: Float, precision: Float): Bool\l}"
50 ]
51 Numeric -> Float [dir=back arrowtail=open style=dashed];
52
53 Byte [
54  label = "{Byte||+ %(i: Byte): Byte\l+ \<\<(i: Int): Byte\l+ \>\>(i: Int): Byte\l+ ascii(): Char\l+ is_whitespace(): Bool\l}"
55 ]
56 Discrete -> Byte [dir=back arrowtail=open style=dashed];
57 Numeric -> Byte [dir=back arrowtail=open style=dashed];
58
59 Int [
60  label = "{Int||+ %(i: Int): Int\l+ \<\<(i: Int): Int\l+ \>\>(i: Int): Int\l+ code_point(): Char\l+ digit_count(b: Int): Int\l+ digit_count_base_10(): Int\l+ to_c(): Char\l+ abs(): Int\l}"
61 ]
62 Discrete -> Int [dir=back arrowtail=open style=dashed];
63 Numeric -> Int [dir=back arrowtail=open style=dashed];
64
65 Char [
66  label = "{Char||+ to_i(): Int\l+ ascii(): Byte\l+ code_point(): Int\l+ is_ascii(): Bool\l+ to_lower(): Char\l+ to_upper(): Char\l+ is_digit(): Bool\l+ is_lower(): Bool\l+ is_upper(): Bool\l+ is_letter(): Bool\l+ is_whitespace(): Bool\l}"
67 ]
68 Discrete -> Char [dir=back arrowtail=open style=dashed];
69
70 Pointer [
71  label = "{Pointer||+ address_is_null(): Bool\l+ free()\l}"
72 ]
73 Object -> Pointer [dir=back arrowtail=open style=dashed];
74
75 Task [
76  label = "{interface\nTask||+ main()\l}"
77 ]
78 Object -> Task [dir=back arrowtail=open style=dashed];
79
80 A [
81  label = "{A|- _vpubA: nullable A\l- _vproA: nullable A\l- _vpriA: nullable A\l- _vpubA2: A\l- _vproA2: A\l- _vpriA2: A\l- _vpriB: nullable B\l- _vpriB2: B\l|+ pubA(a: A)\l# proA(a: A)\l- priA(a: A)\l+ pubA2(): A\l# proA2(): A\l- priA2(): A\l+ vpubA(): nullable A\l+ vpubA=(vpubA: nullable A)\l# vproA(): nullable A\l# vproA=(vproA: nullable A)\l- vpriA(): nullable A\l- vpriA=(vpriA: nullable A)\l+ vpubA2(): A\l+ vpubA2=(vpubA2: A)\l# vproA2(): A\l# vproA2=(vproA2: A)\l- vpriA2(): A\l- vpriA2=(vpriA2: A)\l- priB(a: B)\l- priB2(): B\l- vpriB(): nullable B\l- vpriB=(vpriB: nullable B)\l- vpriB2(): B\l- vpriB2=(vpriB2: B)\l}"
82 ]
83 Object -> A [dir=back arrowtail=open style=dashed];
84
85 B [
86  label = "{B|- _vpubA: nullable A\l- _vpriA: nullable A\l- _vpubA2: A\l- _vpriA2: A\l- _vpubB: nullable B\l- _vpriB: nullable B\l- _vpubB2: B\l- _vpriB2: B\l|- pubA(a: A)\l- priA(a: A)\l- vpubA(): nullable A\l- vpubA=(vpubA: nullable A)\l- vpriA(): nullable A\l- vpriA=(vpriA: nullable A)\l- vpubA2(): A\l- vpubA2=(vpubA2: A)\l- vpriA2(): A\l- vpriA2=(vpriA2: A)\l- pubB(a: B)\l- priB(a: B)\l- vpubB(): nullable B\l- vpubB=(vpubB: nullable B)\l- vpriB(): nullable B\l- vpriB=(vpriB: nullable B)\l- vpubB2(): B\l- vpubB2=(vpubB2: B)\l- vpriB2(): B\l- vpriB2=(vpriB2: B)\l}"
87 ]
88 Object -> B [dir=back arrowtail=open style=dashed];
89
90 C [
91  label = "{C|- _vpriA: nullable A\l- _vpriA2: A\l|- priA(a: A)\l- vpriA(): nullable A\l- vpriA=(vpriA: nullable A)\l- vpriA2(): A\l- vpriA2=(vpriA2: A)\l}"
92 ]
93 Object -> C [dir=back arrowtail=open style=dashed];
94
95 D [
96  label = "{D|- _vpubA: nullable A\l- _vpriA: nullable A\l- _vpubA2: A\l- _vpriA2: A\l|- pubA(a: A)\l- priA(a: A)\l- vpubA(): nullable A\l- vpubA=(vpubA: nullable A)\l- vpriA(): nullable A\l- vpriA=(vpriA: nullable A)\l- vpubA2(): A\l- vpubA2=(vpubA2: A)\l- vpriA2(): A\l- vpriA2=(vpriA2: A)\l}"
97 ]
98 Object -> D [dir=back arrowtail=open style=dashed];
99
100 }