private static boolean checkNode(CNode node, Variant variant) {
            if (node instanceof InnerCNode) {
                for (CNode child: node.getChildren()) {
                    if ((child.isArray || child.isMap) && variant != Variant.MOVE) {
                        return false;
                    }
                    if (!checkNode(child, variant)) {
                        return false;
                    }
                }
            }
            return true;
        }
Class to generate noexcept specifier if default constructor, copy constructor or copy assignment is non-throwing
configgen/src/main/java/com/yahoo/config/codegen/CppClassBuilder.java