This repository has been archived by the owner on Mar 26, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 488
/
constants.djinni
87 lines (75 loc) · 2.93 KB
/
constants.djinni
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
# Record for use in constants
constant_record = record {
some_integer: i32;
some_string: string;
}
# Record containing constants
constants = record {
# bool_constant has documentation.
const bool_constant: bool = true;
const i8_constant: i8 = 1;
const i16_constant: i16 = 2;
const i32_constant: i32 = 3;
const i64_constant: i64 = 4;
const f32_constant: f32 = 5.0;
# f64_constant has long documentation.
# (Second line of multi-line documentation.
# Indented third line of multi-line documentation.)
const f64_constant: f64 = 5.0;
const opt_bool_constant: optional<bool> = true;
const opt_i8_constant: optional<i8> = 1;
# opt_i16_constant has documentation.
const opt_i16_constant: optional<i16> = 2;
const opt_i32_constant: optional<i32> = 3;
const opt_i64_constant: optional<i64> = 4;
# opt_f32_constant has long documentation.
# (Second line of multi-line documentation.
# Indented third line of multi-line documentation.)
const opt_f32_constant: optional<f32> = 5.0;
const opt_f64_constant: optional<f64> = 5.0;
const string_constant: string = "string-constant";
const opt_string_constant: optional<string> = "string-constant";
const object_constant: constant_record = {
some_integer = i32_constant,
some_string = string_constant
};
# No support for null optional constants
# No support for optional constant records
# No support for constant binary, list, set, map
const dummy: bool = false;
}
# Interface containing constants
constants_interface = interface +c {
const bool_constant: bool = true;
const i8_constant: i8 = 1;
const i16_constant: i16 = 2;
# i32_constant has documentation.
const i32_constant: i32 = 3;
# i64_constant has long documentation.
# (Second line of multi-line documentation.
# Indented third line of multi-line documentation.)
const i64_constant: i64 = 4;
const f32_constant: f32 = 5.0;
const f64_constant: f64 = 5.0;
const opt_bool_constant: optional<bool> = true;
const opt_i8_constant: optional<i8> = 1;
# opt_i16_constant has documentation.
const opt_i16_constant: optional<i16> = 2;
const opt_i32_constant: optional<i32> = 3;
const opt_i64_constant: optional<i64> = 4;
# opt_f32_constant has long documentation.
# (Second line of multi-line documentation.
# Indented third line of multi-line documentation.)
const opt_f32_constant: optional<f32> = 5.0;
const opt_f64_constant: optional<f64> = 5.0;
const string_constant: string = "string-constant";
const opt_string_constant: optional<string> = "string-constant";
const object_constant: constant_record = {
some_integer = i32_constant,
some_string = string_constant
};
# No support for null optional constants
# No support for optional constant records
# No support for constant binary, list, set, map
dummy();
}