schema tree NEW when cyclic ref check
diff --git a/src/tree_schema.h b/src/tree_schema.h
index dc523cb..f8a2ab6 100644
--- a/src/tree_schema.h
+++ b/src/tree_schema.h
@@ -700,45 +700,41 @@
* 2 - choice 7 - case 12 - extension
* 3 - leaf 8 - notification 13 - bitenum
* 4 - leaflist 9 - rpc/action 14 - when
- * 5 - list 10 - feature 15 - must
+ * 5 - list 10 - feature
*
- * 1 1 1 1 1 1
- * bit name 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
- * ---------------------+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 1 LYS_CONFIG_W |x|x|x|x|x|x|x| | | | | | | | |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 2 LYS_CONFIG_R |x|x|x|x|x|x|x| | | | | | | | |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 3 LYS_STATUS_CURR |x|x|x|x|x|x|x|x|x|x|x|x| | | |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 4 LYS_STATUS_DEPRC |x|x|x|x|x|x|x|x|x|x|x|x| | | |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 5 LYS_STATUS_OBSLT |x|x|x|x|x|x|x|x|x|x|x|x| | | |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 6 LYS_MAND_TRUE |x|x|x|x|x|x| | | | | | | | | |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 7 LYS_ORDBY_USER | | | |x|x| | | | | | | | | | |
- * LYS_MAND_FALSE | |x|x| | |x| | | | | | | | | |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 8 LYS_ORDBY_SYSTEM | | | |x|x| | | | | | | | | | |
- * LYS_PRESENCE |x| | | | | | | | | | | | | | |
- * LYS_UNIQUE | | |x| | | | | | | | | | | | |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 9 LYS_KEY | | |x| | | | | | | | | | | | |
- * LYS_FENABLED | | | | | | | | | |x| | | | | |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 10 LYS_SET_DFLT | | |x|x| | |x| | | | | | | | |
- * LYS_ISENUM | | | | | | | | | | | | |x| | |
- * LYS_KEYLESS | | | | |x| | | | | | | | | | |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 11 LYS_SET_UNITS | | |x|x| | | | | | | | | | | |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 12 LYS_SET_CONFIG |x|x|x|x|x|x| | | | | | | | | |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 13 LYS_XPATH_DEP |x|x|x|x|x|x|x|x| | | | | |x|x|
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * 14 LYS_LEAFREF_DEP | | |x|x| | | | | | | | | | | |
- * ---------------------+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 1 1 1 1 1
+ * bit name 1 2 3 4 5 6 7 8 9 0 1 2 3 4
+ * ---------------------+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 1 LYS_CONFIG_W |x|x|x|x|x|x|x| | | | | | | |
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 2 LYS_CONFIG_R |x|x|x|x|x|x|x| | | | | | | |
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 3 LYS_STATUS_CURR |x|x|x|x|x|x|x|x|x|x|x|x| |x|
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 4 LYS_STATUS_DEPRC |x|x|x|x|x|x|x|x|x|x|x|x| |x|
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 5 LYS_STATUS_OBSLT |x|x|x|x|x|x|x|x|x|x|x|x| |x|
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 6 LYS_MAND_TRUE |x|x|x|x|x|x| | | | | | | | |
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 7 LYS_ORDBY_USER | | | |x|x| | | | | | | | | |
+ * LYS_MAND_FALSE | |x|x| | |x| | | | | | | | |
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 8 LYS_ORDBY_SYSTEM | | | |x|x| | | | | | | | | |
+ * LYS_PRESENCE |x| | | | | | | | | | | | | |
+ * LYS_UNIQUE | | |x| | | | | | | | | | | |
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 9 LYS_KEY | | |x| | | | | | | | | | | |
+ * LYS_FENABLED | | | | | | | | | |x| | | | |
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 10 LYS_SET_DFLT | | |x|x| | |x| | | | | | | |
+ * LYS_ISENUM | | | | | | | | | | | | |x| |
+ * LYS_KEYLESS | | | | |x| | | | | | | | | |
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 11 LYS_SET_UNITS | | |x|x| | | | | | | | | | |
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ * 12 LYS_SET_CONFIG |x|x|x|x|x|x| | | | | | | | |
+ * ---------------------+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
*
*/
@@ -800,9 +796,6 @@
#define LYS_SET_UNITS 0x0400 /**< flag to know if the leaf's/leaflist's units are their own (flag set) or it is taken from the type. */
#define LYS_SET_CONFIG 0x0800 /**< flag to know if the config property was set explicitly (flag set) or it is inherited. */
-#define LYS_XPATH_DEP 0x1000 /**< flag for nodes with when/must with external data dependency. */
-#define LYS_LEAFREF_DEP 0x2000 /**< flag for leaves(-lists) with leafref with external dependency. */
-
#define LYS_SINGLEQUOTED 0x100 /**< flag for single-quoted argument of an extension instance's substatement, only when the source is YANG */
#define LYS_DOUBLEQUOTED 0x200 /**< flag for double-quoted argument of an extension instance's substatement, only when the source is YANG */
@@ -1170,7 +1163,7 @@
const char *ref; /**< reference */
struct lysc_ext_instance *exts; /**< list of the extension instances ([sized array](@ref sizedarrays)) */
uint32_t refcount; /**< reference counter since some of the when statements are shared among several nodes */
- uint16_t flags; /**< [schema node flags](@ref snodeflags) - only LYS_XPATH_DEP and LYS_STATUS are allowed */
+ uint16_t flags; /**< [schema node flags](@ref snodeflags) - only LYS_STATUS is allowed */
};
/**
@@ -1262,7 +1255,6 @@
const char *emsg; /**< error-message */
const char *eapptag; /**< error-app-tag value */
struct lysc_ext_instance *exts; /**< list of the extension instances ([sized array](@ref sizedarrays)) */
- uint16_t flags; /**< [schema node flags](@ref snodeflags) - only LYS_XPATH_DEP is allowed */
};
struct lysc_type {