lib/choir/src/core/context/root.zig
daab053ee43316e1809a84551d573ddd1e5bf3d2
1 const std = @import("std");
2 const lifecycle = @import("lifecycle.zig");
3 const memory = @import("memory.zig");
4 const core = @import("../root.zig");
5 const resources = @import("resources.zig");
6
7 pub const DialectLoaderFn = core.dialects.DialectLoaderFn;
8 pub const DialectExtensionFn = core.dialects.DialectExtensionFn;
9 pub const DialectRegistryEntry = core.dialects.DialectRegistryEntry;
10 pub const DialectRegistrySpec = core.dialects.DialectRegistrySpec;
11 pub const DialectLoadState = core.dialects.DialectLoadState;
12 pub const OpInterfaceFallbackFn = core.dialects.OpInterfaceFallbackFn;
13 pub const OpInterfaceFallbackEntry = core.dialects.OpInterfaceFallbackEntry;
14 pub const TypeInterfaceFallbackFn = core.dialects.TypeInterfaceFallbackFn;
15 pub const TypeInterfaceFallbackEntry = core.dialects.TypeInterfaceFallbackEntry;
16 pub const Dialect = core.dialects.Dialect;
17 pub const TypeStorage = core.types.TypeStorage;
18 pub const AttrStorage = core.attrs.AttrStorage;
19 pub const DialectAttrKey = core.attrs.DialectAttrKey;
20 pub const IntegerAttrKey = core.attrs.IntegerAttrKey;
21 pub const FloatAttrKey = core.attrs.FloatAttrKey;
22 pub const StringAttrKey = core.attrs.StringAttrKey;
23 pub const SymbolRefAttrKey = core.attrs.SymbolRefAttrKey;
24 pub const StringListAttrKey = core.attrs.StringListAttrKey;
25 pub const TypeInterner = core.types.TypeInterner;
26 pub const AttributeInterner = core.attrs.AttributeInterner;
27 pub const DialectRegistry = core.dialects.DialectRegistry;
28 pub const ResourceTracker = resources.Tracker;
29 pub const ThreadingExecutionGuard = core.ThreadingExecutionGuard;
30 pub const Context = lifecycle.Context;
31
32 pub fn configurationTableAllocator(context: *Context) std.mem.Allocator {
33 return memory.configurationTableAllocator(context.memory);
34 }
35
36 pub fn configurationNameAllocator(context: *Context) std.mem.Allocator {
37 return memory.configurationNameAllocator(context.memory);
38 }
39
40 pub fn configurationInterfaceAllocator(context: *Context) std.mem.Allocator {
41 return memory.configurationInterfaceAllocator(context.memory);
42 }
43
44 pub fn configurationTransactionAllocator(context: *Context) std.mem.Allocator {
45 return memory.configurationTransactionAllocator(context.memory);
46 }
47
48 pub fn initRegion(context: *Context) core.Region {
49 return core.Region.init(memory.operationNestedAllocator(context.memory));
50 }
51
52 pub fn transientAllocator(context: *Context) std.mem.Allocator {
53 return memory.transientAllocator(context.memory);
54 }
55
56 pub fn operationAllocator(context: *Context) std.mem.Allocator {
57 return memory.operationNestedAllocator(context.memory);
58 }
59
60 pub fn fixedOperationAllocator(context: *Context) std.mem.Allocator {
61 return lifecycle.operationStorageAllocator(context).allocator();
62 }
63
64 pub fn typeTableAllocator(context: *Context) std.mem.Allocator {
65 return memory.typeTableAllocator(context.memory);
66 }
67
68 pub fn typeKeyAllocator(context: *Context) std.mem.Allocator {
69 return memory.typeKeyAllocator(context.memory);
70 }
71
72 pub fn typePayloadAllocator(context: *Context) std.mem.Allocator {
73 return memory.typePayloadAllocator(context.memory);
74 }
75
76 pub fn attributeTableAllocator(context: *Context) std.mem.Allocator {
77 return memory.attributeTableAllocator(context.memory);
78 }
79
80 pub fn attributePayloadAllocator(context: *Context) std.mem.Allocator {
81 return memory.attributePayloadAllocator(context.memory);
82 }
83
84 pub fn diagnosticHandlerAllocator(context: *Context) std.mem.Allocator {
85 return memory.diagnosticHandlerAllocator(context.memory);
86 }
87
88 pub fn diagnosticPayloadAllocator(context: *Context) std.mem.Allocator {
89 return memory.diagnosticPayloadAllocator(context.memory);
90 }