xo-procedure2: work on Primitive.apply_nocheck() + ARuntimeContext [WIP]
This commit is contained in:
parent
a4dd872a15
commit
f2139feafb
22 changed files with 667 additions and 25 deletions
17
idl/IProcedure_DPrimitive_gco_2_gco_gco.json5
Normal file
17
idl/IProcedure_DPrimitive_gco_2_gco_gco.json5
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
mode: "implementation",
|
||||
includes: [
|
||||
"<xo/procedure2/RuntimeContext.hpp>",
|
||||
"<xo/procedure2/detail/IRuntimeContext_Xfer.hpp>",
|
||||
"<xo/procedure2/Procedure.hpp>",
|
||||
"<xo/procedure2/detail/IProcedure_Xfer.hpp>",
|
||||
],
|
||||
local_types: [ ],
|
||||
namespace1: "xo",
|
||||
namespace2: "scm",
|
||||
facet_idl: "idl/Procedure.json5",
|
||||
brief: "provide AProcedure interface for Primitive (gco x gco) -> gco",
|
||||
using_doxygen: true,
|
||||
repr: "DPrimitive_gco_2_gco_gco",
|
||||
doc: [ "implement AProcedure for DPrimitive (gco x gco) -> gco" ],
|
||||
}
|
||||
|
|
@ -2,14 +2,19 @@
|
|||
mode: "facet",
|
||||
// includes in ASyntaxStateMachine.hpp
|
||||
includes: [
|
||||
"\"RuntimeContext.hpp\"",
|
||||
"<xo/gc/GCObject.hpp>",
|
||||
],
|
||||
// extra includes in SyntaxStateMachine.hpp, if any
|
||||
// extra includes in Procedure.hpp, if any
|
||||
user_hpp_includes: [
|
||||
],
|
||||
namespace1: "xo",
|
||||
namespace2: "scm",
|
||||
// text after includes, before ASyntaxStateMachine
|
||||
pretext: [ "// {pretex} here" ],
|
||||
pretext: [
|
||||
//"namespace xo { namespace scm { class ARuntimeContext; } }",
|
||||
"namespace xo { namespace scm { class DArray; } }",
|
||||
],
|
||||
facet: "Procedure",
|
||||
detail_subdir: "detail",
|
||||
brief: "abstraction for a schematika procedure i.e. something callable",
|
||||
|
|
@ -18,9 +23,10 @@
|
|||
"Abstraction for a schematika procedure"
|
||||
],
|
||||
types: [
|
||||
{ name: "AGCObject",
|
||||
definition: "xo::mm::AGCObject",
|
||||
doc: [ "a gc-aware object" ],
|
||||
{
|
||||
name: "AGCObject",
|
||||
definition: "xo::mm::AGCObject",
|
||||
doc: [ "a gc-aware object" ],
|
||||
},
|
||||
// { name: string, doc: [ string ], definition: string },
|
||||
],
|
||||
|
|
@ -50,7 +56,7 @@
|
|||
doc: ["invoke procedure; assume arguments satisfy type system" ],
|
||||
return_type: "obj<AGCObject>",
|
||||
args: [
|
||||
{type: "obj<AAllocator>", name: "mm"},
|
||||
{type: "obj<ARuntimeContext>", name: "rcx"},
|
||||
{type: "const DArray *", name: "args"},
|
||||
]
|
||||
}
|
||||
|
|
|
|||
43
idl/RuntimeContext.json5
Normal file
43
idl/RuntimeContext.json5
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
mode: "facet",
|
||||
// includes in ARuntimeContext.hpp
|
||||
includes: [
|
||||
"<xo/alloc2/Allocator.hpp>"
|
||||
],
|
||||
// extra includes in RuntimeContext.hpp, if any
|
||||
user_hpp_includes: [
|
||||
],
|
||||
namespace1: "xo",
|
||||
namespace2: "scm",
|
||||
// text after includes, before ARuntimeContext
|
||||
pretext: [
|
||||
//"namespace xo { namespace mm { class AAllocator; } }",
|
||||
],
|
||||
facet: "RuntimeContext",
|
||||
detail_subdir: "detail",
|
||||
brief: "runtime context for application code. At minimum provides allocator",
|
||||
using_doxygen: true,
|
||||
doc: [
|
||||
"Runtime application context"
|
||||
],
|
||||
types: [
|
||||
{
|
||||
name: "AAllocator",
|
||||
definition: "xo::mm::AAllocator",
|
||||
doc: [ "xo memory allocator" ],
|
||||
},
|
||||
],
|
||||
const_methods: [
|
||||
{
|
||||
name: "allocator",
|
||||
doc: [ "default allocator to use for objects" ],
|
||||
return_type: "obj<AAllocator>",
|
||||
args: [],
|
||||
const: true,
|
||||
noexcept: true,
|
||||
attributes: [],
|
||||
},
|
||||
],
|
||||
nonconst_methods: [
|
||||
],
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue