blob: 471267ff46145a15521197e230bc0d5c2db77284 (
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
|
const std = @import("std");
pub const Object = @import("Object.zig");
pub const Interpreter = @import("Interpreter.zig");
pub const Dict = @import("Dict.zig");
pub const Str = @import("Str.zig");
pub const Tuple = @import("Tuple.zig");
pub const Fn = @import("function.zig").Fn;
pub const Error = error {
Exception,
IndexError,
};
pub const conversion = struct {
fn PtrFromCPtr(T: type) type {
const info = @typeInfo(T);
return *info.pointer.child;
}
pub fn Ptr(value: anytype) Error!PtrFromCPtr(@TypeOf(value)) {
if (value) |ptr| {
return ptr;
}
return error.Exception;
}
pub fn success(value: c_int) Error!void {
if (value == -1) return error.Exception;
}
};
|