xo-alloc/xo-expression2/idl/Expression.json5

71 lines
2 KiB
Text

{
mode: "facet",
includes: [ "\"TypeRef.hpp\"",
"\"exprtype.hpp\"",
"<xo/reflect/TypeDescr.hpp>"],
// extra includes in Expression.hpp, if any
user_hpp_includes: [],
namespace1: "xo",
namespace2: "scm",
// text after includes, before AExpression
pretext: [ "// {pretext} here" ],
facet: "Expression",
detail_subdir: "detail",
brief: "a schematika expression",
using_doxygen: true,
doc: [
"Representation for executable Schematika expressions"
],
types: [
// using TypeDescr = xo::reflect::TypeDescr;
{
name: "TypeDescr",
doc: ["struct describing a type"],
definition: "xo::reflect::TypeDescr"
},
],
const_methods: [
{
name: "extype",
doc: ["expression type (constant | apply | ..)"],
return_type: "exprtype",
args: [],
const: true,
noexcept: true,
attributes: [],
},
{
name: "typeref",
doc: ["placeholder for type giving possible values for this expression"],
return_type: "TypeRef",
args: [],
const: true,
noexcept: true,
attributes: [],
},
{
name: "valuetype",
doc: ["type giving possible values for this expression. Maybe null before typecheck"],
return_type: "TypeDescr",
args: [],
const: true,
noexcept: true,
attributes: [],
},
],
nonconst_methods: [
{
name: "assign_valuetype",
doc: ["assing to valuetype member. Useful when scaffolding expressions"],
return_type: "void",
args: [
// void assign_valuetype(TypeDescr td)
{type: "TypeDescr", name: "td"},
],
const: false,
noexcept: true,
attributes: [],
}
],
router_facet_explicit_content: [ ],
}