static void push_node(lua_State *L, const GumboNode *node) { luaL_checkstack(L, 10, "Unable to allocate Lua stack space"); switch (node->type) { case GUMBO_NODE_ELEMENT: { const GumboElement *element = &node->v.element; lua_createtable(L, 0, 7); set_tag(L, element); set_sourcepos(L, element->start_pos); if (node->parse_flags != GUMBO_INSERTION_NORMAL) { set_integer(L, "parseFlags", node->parse_flags); } set_attributes(L, &element->attributes); set_children(L, &element->children, 1); setmetatable(L, Element); return; } case GUMBO_NODE_TEMPLATE: { const GumboElement *element = &node->v.element; lua_createtable(L, 0, 8); set_literal(L, "localName", "template"); set_sourcepos(L, element->start_pos); set_attributes(L, &element->attributes); lua_createtable(L, 0, 0); setmetatable(L, NodeList); lua_setfield(L, -2, "childNodes"); lua_createtable(L, 0, 1); set_children(L, &element->children, 1); setmetatable(L, DocumentFragment); lua_setfield(L, -2, "content"); setmetatable(L, Element); return; } case GUMBO_NODE_TEXT: create_text_node(L, &node->v.text, Text); return; case GUMBO_NODE_WHITESPACE: create_text_node(L, &node->v.text, Text); set_literal(L, "type", "whitespace"); return; case GUMBO_NODE_COMMENT: create_text_node(L, &node->v.text, Comment); return; case GUMBO_NODE_CDATA: create_text_node(L, &node->v.text, Text); set_literal(L, "type", "cdata"); return; default: luaL_error(L, "GumboNodeType value out of bounds: %d", node->type); return; } }
int prepare_revision_walk(struct rev_info *revs) { int nr = revs->pending.nr; struct object_array_entry *e, *list; e = list = revs->pending.objects; revs->pending.nr = 0; revs->pending.alloc = 0; revs->pending.objects = NULL; while (--nr >= 0) { struct commit *commit = handle_commit(revs, e->item, e->name); if (commit) { if (!(commit->object.flags & SEEN)) { commit->object.flags |= SEEN; insert_by_date(commit, &revs->commits); } } e++; } free(list); if (revs->no_walk) return 0; if (revs->limited) if (limit_list(revs) < 0) return -1; if (revs->topo_order) sort_in_topological_order(&revs->commits, revs->lifo); if (revs->simplify_merges) simplify_merges(revs); if (revs->children.name) set_children(revs); return 0; }
struct BTree *init_tree5(void) { struct BTreeNode *nodes[5]; init_nodes(&nodes[0], 5); set_children(nodes[0], nodes[1], nodes[2]); set_children(nodes[1], nodes[3], nodes[4]); set_children(nodes[2], NULL, NULL); set_children(nodes[3], NULL, NULL); set_children(nodes[4], NULL, NULL); return build_tree("Binary Tree 5", " ┌────── 0 ──────┐\n" "┌────── 1 ──────┐ 2\n" "3 4", "5", "3", nodes[0]); }
static int push_document(lua_State *L) { const GumboDocument *document = lua_touserdata(L, 1); lua_createtable(L, 0, 4); if (document->has_doctype) { set_integer(L, "quirksModeEnum", document->doc_type_quirks_mode); set_children(L, &document->children, 2); lua_getfield(L, -1, "childNodes"); lua_createtable(L, 0, 3); // doctype set_string(L, "name", document->name); set_string(L, "publicId", document->public_identifier); set_string(L, "systemId", document->system_identifier); setmetatable(L, DocumentType); lua_rawseti(L, -2, 1); // childNodes[1] = doctype lua_pop(L, 1); } else { set_children(L, &document->children, 1); } setmetatable(L, Document); return 1; }
expr_ptr insert_child( expr_ptr node_to_insert, Lexer & lex, Lexer::token_type & token ) { auto curr_ptr = node_to_insert; if( curr_ptr ){ for( size_t i = 0; i != curr_ptr->num_children(); ++i ){ update_current_token( lex, token ); node_to_insert = convert_token_to_expression( token ); curr_ptr->set_children( i, insert_child( node_to_insert, lex, token ) ); } } return curr_ptr; }
void QObjectBrowserControl::set_object(QObject *obj_in) { if (m_obj) { disconnect(m_obj,SIGNAL(destroyed()),this,SLOT(on_object_destroyed())); } m_obj=obj_in; clear(); if (!m_obj) return; connect(m_obj,SIGNAL(destroyed()),this,SLOT(on_object_destroyed())); const QMetaObject *metaobj=m_obj->metaObject(); if (!metaobj) return; ui->class_name->setText(metaobj->className()); if (metaobj->superClass()) ui->base_class_name->setText(metaobj->superClass()->className()); else ui->base_class_name->setText(""); if (m_obj->parent()) ui->parent_button->setEnabled(true); else ui->parent_button->setEnabled(false); if ((m_obj->parent())&&(m_obj->parent()->metaObject())) ui->parent_class_name->setText(m_obj->parent()->metaObject()->className()); else ui->parent_class_name->setText(""); set_children(); set_properties(); set_signals(); set_slots(); set_methods(); emit object_changed(m_obj); }
struct BTree *init_tree7(void) { struct BTreeNode *nodes[6]; init_nodes(&nodes[0], 6ul); set_children(nodes[0], nodes[2], nodes[1]); set_children(nodes[1], nodes[4], nodes[3]); set_children(nodes[2], NULL, NULL); set_children(nodes[3], NULL, NULL); set_children(nodes[4], NULL, nodes[5]); set_children(nodes[5], NULL, NULL); return build_tree("Binary Tree 7", " ┌────── 0 ──────┐\n" " 2 ┌────── 1 ──────┐\n" " 4 ──────┐ 3\n" " 5", "6", "4", nodes[0]); }
struct BTree *init_tree2(void) { struct BTreeNode *nodes[6]; init_nodes(&nodes[0], 6ul); set_children(nodes[0], nodes[2], nodes[1]); set_children(nodes[1], NULL, NULL); set_children(nodes[2], nodes[3], nodes[4]); set_children(nodes[3], NULL, NULL); set_children(nodes[4], nodes[5], NULL); set_children(nodes[5], NULL, NULL); return build_tree("Binary Tree 2", " ┌────── 0 ──────┐\n" "┌────── 2 ──────┐ 1\n" "3 ┌────── 4\n" " 5", "6", "4", nodes[0]); }
code_node::code_node(code_node* l, code_node* r) { init(); set_children(l, r); }