tree schema REFACTOR remove parsed node pointer
It is not needed and could cause problems once
it will be possible to free parsed modules.
diff --git a/src/schema_compile.c b/src/schema_compile.c
index 6156baa..24bc995 100644
--- a/src/schema_compile.c
+++ b/src/schema_compile.c
@@ -1209,9 +1209,8 @@
r = lysp_stmt_parse(ctx, stmt, stmt->kw, &parsed, NULL);
LY_CHECK_ERR_GOTO(r, ret = r, cleanup);
- r = lys_compile_type(ctx, ext->parent_type == LYEXT_PAR_NODE ? ((struct lysc_node *)ext->parent)->sp : NULL,
- flags ? *flags : 0, ctx->pmod, ext->name, parsed, (struct lysc_type **)compiled,
- units && !*units ? units : NULL, NULL);
+ r = lys_compile_type(ctx, NULL, flags ? *flags : 0, ctx->pmod, ext->name, parsed,
+ (struct lysc_type **)compiled, units && !*units ? units : NULL, NULL);
lysp_type_free(ctx->ctx, parsed);
free(parsed);
LY_CHECK_ERR_GOTO(r, ret = r, cleanup);
diff --git a/src/schema_compile_node.c b/src/schema_compile_node.c
index 0996dcc..803fec2 100644
--- a/src/schema_compile_node.c
+++ b/src/schema_compile_node.c
@@ -2035,7 +2035,6 @@
{
LY_ERR ret = LY_SUCCESS;
struct lysp_node *child_p, *dev_pnode = NULL, *dev_input_p = NULL, *dev_output_p = NULL;
- struct lysp_action *orig_action_p = action_p;
struct lysp_action_inout *inout_p;
LY_ARRAY_COUNT_TYPE u;
ly_bool not_supported;
@@ -2066,7 +2065,6 @@
return LY_EVALID;
}
- action->sp = orig_action_p;
action->flags = action_p->flags & LYS_FLAGS_COMPILED_MASK;
/* status - it is not inherited by specification, but it does not make sense to have
@@ -2168,7 +2166,6 @@
{
LY_ERR ret = LY_SUCCESS;
struct lysp_node *child_p, *dev_pnode = NULL;
- struct lysp_notif *orig_notif_p = notif_p;
LY_ARRAY_COUNT_TYPE u;
ly_bool not_supported;
uint32_t opt_prev = ctx->options;
@@ -2197,7 +2194,6 @@
return LY_EVALID;
}
- notif->sp = orig_notif_p;
notif->flags = notif_p->flags & LYS_FLAGS_COMPILED_MASK;
/* status - it is not inherited by specification, but it does not make sense to have
@@ -3512,7 +3508,7 @@
.nodetype = LYS_CONTAINER,
.flags = pnode ? (pnode->flags & LYS_FLAGS_COMPILED_MASK) : 0,
.module = ctx->cur_mod,
- .sp = NULL, .parent = NULL, .next = NULL,
+ .parent = NULL, .next = NULL,
.prev = (struct lysc_node *)&fake_container,
.name = "fake",
.dsc = NULL, .ref = NULL, .exts = NULL, .iffeatures = NULL, .when = NULL,
@@ -3606,7 +3602,7 @@
{
LY_ERR ret = LY_SUCCESS;
struct lysc_node *node = NULL;
- struct lysp_node *dev_pnode = NULL, *orig_pnode = pnode;
+ struct lysp_node *dev_pnode = NULL;
LY_ARRAY_COUNT_TYPE u;
ly_bool not_supported;
@@ -3698,7 +3694,6 @@
* current in deprecated or deprecated in obsolete, so we do print warning and inherit status */
LY_CHECK_GOTO(ret = lys_compile_status(ctx, &node->flags, uses_status ? uses_status : (parent ? parent->flags : 0)), error);
- node->sp = orig_pnode;
DUP_STRING_GOTO(ctx->ctx, pnode->name, node->name, ret, error);
DUP_STRING_GOTO(ctx->ctx, pnode->dsc, node->dsc, ret, error);
DUP_STRING_GOTO(ctx->ctx, pnode->ref, node->ref, ret, error);
diff --git a/src/tree_schema.h b/src/tree_schema.h
index f5b7697..f0aad57 100644
--- a/src/tree_schema.h
+++ b/src/tree_schema.h
@@ -1527,7 +1527,6 @@
uint16_t flags; /**< [schema node flags](@ref snodeflags) */
uint8_t hash[LYS_NODE_HASH_COUNT]; /**< schema hash required for LYB printer/parser */
struct lys_module *module; /**< module structure */
- struct lysp_action *sp; /**< simply parsed (SP) original of the node, NULL if the SP schema was removed or in case of implicit case node. */
struct lysc_node *parent; /**< parent node (NULL in case of top level node - RPC) */
struct lysc_ext_instance *input_exts; /**< list of the extension instances of input ([sized array](@ref sizedarrays)) */
@@ -1551,7 +1550,6 @@
uint16_t flags; /**< [schema node flags](@ref snodeflags) */
uint8_t hash[LYS_NODE_HASH_COUNT]; /**< schema hash required for LYB printer/parser */
struct lys_module *module; /**< module structure */
- struct lysp_notif *sp; /**< simply parsed (SP) original of the node, NULL if the SP schema was removed or in case of implicit case node. */
struct lysc_node *parent; /**< parent node (NULL in case of top level node) */
struct lysc_node *data; /**< first child node (linked list) */
@@ -1574,8 +1572,6 @@
uint16_t flags; /**< [schema node flags](@ref snodeflags) */
uint8_t hash[LYS_NODE_HASH_COUNT]; /**< schema hash required for LYB printer/parser */
struct lys_module *module; /**< module structure */
- struct lysp_node *sp; /**< simply parsed (SP) original of the node, NULL if the SP schema was removed or
- in case of implicit case node. */
struct lysc_node *parent; /**< parent node (NULL in case of top level node) */
struct lysc_node *next; /**< next sibling node (NULL if there is no one) */
struct lysc_node *prev; /**< pointer to the previous sibling node \note Note that this pointer is
@@ -1596,7 +1592,6 @@
uint16_t flags; /**< [schema node flags](@ref snodeflags) */
uint8_t hash[LYS_NODE_HASH_COUNT]; /**< schema hash required for LYB printer/parser */
struct lys_module *module; /**< module structure */
- struct lysp_node *sp; /**< simply parsed (SP) original of the node, NULL if the SP schema was removed or in case of implicit case node. */
struct lysc_node *parent; /**< parent node (NULL in case of top level node) */
struct lysc_node *next; /**< next sibling node (NULL if there is no one) */
struct lysc_node *prev; /**< pointer to the previous sibling node \note Note that this pointer is
@@ -1622,7 +1617,6 @@
uint16_t flags; /**< [schema node flags](@ref snodeflags) */
uint8_t hash[LYS_NODE_HASH_COUNT]; /**< schema hash required for LYB printer/parser, unused */
struct lys_module *module; /**< module structure */
- struct lysp_node *sp; /**< simply parsed (SP) original of the node, NULL if the SP schema was removed or in case of implicit case node. */
struct lysc_node *parent; /**< parent node (NULL in case of top level node) */
struct lysc_node *next; /**< next sibling node (NULL if there is no one) */
struct lysc_node *prev; /**< pointer to the previous sibling node \note Note that this pointer is
@@ -1646,7 +1640,6 @@
uint16_t flags; /**< [schema node flags](@ref snodeflags) */
uint8_t hash[LYS_NODE_HASH_COUNT]; /**< schema hash required for LYB printer/parser, unused */
struct lys_module *module; /**< module structure */
- struct lysp_node *sp; /**< simply parsed (SP) original of the node, NULL if the SP schema was removed or in case of implicit case node. */
struct lysc_node *parent; /**< parent node (NULL in case of top level node) */
struct lysc_node *next; /**< next sibling node (NULL if there is no one) */
struct lysc_node *prev; /**< pointer to the previous sibling node \note Note that this pointer is
@@ -1672,7 +1665,6 @@
uint16_t flags; /**< [schema node flags](@ref snodeflags) */
uint8_t hash[LYS_NODE_HASH_COUNT]; /**< schema hash required for LYB printer/parser */
struct lys_module *module; /**< module structure */
- struct lysp_node *sp; /**< simply parsed (SP) original of the node, NULL if the SP schema was removed or in case of implicit case node. */
struct lysc_node *parent; /**< parent node (NULL in case of top level node) */
struct lysc_node *next; /**< next sibling node (NULL if there is no one) */
struct lysc_node *prev; /**< pointer to the previous sibling node \note Note that this pointer is
@@ -1699,7 +1691,6 @@
uint16_t flags; /**< [schema node flags](@ref snodeflags) */
uint8_t hash[LYS_NODE_HASH_COUNT]; /**< schema hash required for LYB printer/parser */
struct lys_module *module; /**< module structure */
- struct lysp_node *sp; /**< simply parsed (SP) original of the node, NULL if the SP schema was removed or in case of implicit case node. */
struct lysc_node *parent; /**< parent node (NULL in case of top level node) */
struct lysc_node *next; /**< next sibling node (NULL if there is no one) */
struct lysc_node *prev; /**< pointer to the previous sibling node \note Note that this pointer is
@@ -1730,7 +1721,6 @@
uint16_t flags; /**< [schema node flags](@ref snodeflags) */
uint8_t hash[LYS_NODE_HASH_COUNT]; /**< schema hash required for LYB printer/parser */
struct lys_module *module; /**< module structure */
- struct lysp_node *sp; /**< simply parsed (SP) original of the node, NULL if the SP schema was removed or in case of implicit case node. */
struct lysc_node *parent; /**< parent node (NULL in case of top level node) */
struct lysc_node *next; /**< next sibling node (NULL if there is no one) */
struct lysc_node *prev; /**< pointer to the previous sibling node \note Note that this pointer is
@@ -1760,7 +1750,6 @@
uint16_t flags; /**< [schema node flags](@ref snodeflags) */
uint8_t hash[LYS_NODE_HASH_COUNT]; /**< schema hash required for LYB printer/parser */
struct lys_module *module; /**< module structure */
- struct lysp_node *sp; /**< simply parsed (SP) original of the node, NULL if the SP schema was removed or in case of implicit case node. */
struct lysc_node *parent; /**< parent node (NULL in case of top level node) */
struct lysc_node *next; /**< next sibling node (NULL if there is no one) */
struct lysc_node *prev; /**< pointer to the previous sibling node \note Note that this pointer is