def add_typedef(c):
    json_ref_data.append({
        "file": clang_utils.filenameFromClangChild(c.cursor),
        "type": "typedef",
        "folder": c.data['folder'],
        "name": c.data['name'],
    })
def parse_file_child(child, of_root):
    if child.spelling.startswith("of"):
        offilename = clang_utils.filenameFromClangChild(child)

        if clang_utils.is_class(child):
            i = 0
            for c in child.get_children():
                if clang_utils.is_variable(c) or clang_utils.is_method(c) or c.kind == CursorKind.CXX_BASE_SPECIFIER:
                    i += 1
            if i > 0 and child.spelling not in visited_classes:
                new_class = DocClass(child, of_root)
                add_class(new_class.serialize(), offilename, new_class.folder)
                visited_classes.append(child.spelling)
                # clang_reference.add_class(new_class)

        elif clang_utils.is_function(child):
            if child.spelling not in visited_function and offilename != "ofMain":
                visited_function.append(child.spelling)
                new_func = DocFunction(child, None, of_root)
                add_function(new_func.serialize(), offilename, new_func.folder)
                # clang_reference.add_function(new_func)

        elif clang_utils.is_enum(child):
            if child.spelling not in visited_enums:
                new_enum = DocEnum(child, of_root)
                add_enum(new_enum.serialize(), offilename, new_enum.folder)
                visited_enums.append(child.spelling)

        elif clang_utils.is_typedef(child):
            if child.spelling not in visited_typedefs:
                add_typedef(DocTypedef(child, of_root).serialize(), offilename)
                visited_typedefs.append(child.spelling)
Exemplo n.º 3
0
def add_typedef(c):
    json_ref_data.append({
        "file": clang_utils.filenameFromClangChild(c.cursor),
        "type": "typedef",
        "folder": c.data['folder'],
        "name": c.data['name'],
    })
def add_variable(var):
    json_ref_data.append({
        "file": clang_utils.filenameFromClangChild(var.cursor),
        "type": "variable",
        "name": var.data['name'],
        "folder": var.data['folder'],
        "class": var.parentclass.data['name']  if var.parentclass else None
    })
def add_function(func):
    json_ref_data.append({
        "file": clang_utils.filenameFromClangChild(func.cursor),
        "type": "function",
        "name": func.data['name'],
        "folder": func.data['folder'],
        "class": func.parentclass.data['name'] if func.parentclass else None
    })
Exemplo n.º 6
0
def add_variable(var):
    json_ref_data.append({
        "file":
        clang_utils.filenameFromClangChild(var.cursor),
        "type":
        "variable",
        "name":
        var.data['name'],
        "folder":
        var.data['folder'],
        "class":
        var.parentclass.data['name'] if var.parentclass else None
    })
Exemplo n.º 7
0
def add_function(func):
    json_ref_data.append({
        "file":
        clang_utils.filenameFromClangChild(func.cursor),
        "type":
        "function",
        "name":
        func.data['name'],
        "folder":
        func.data['folder'],
        "class":
        func.parentclass.data['name'] if func.parentclass else None
    })
def add_enum(c):
    file = clang_utils.filenameFromClangChild(c.cursor)
    json_ref_data.append({
        "file": file,
        "type": "enum",
        "folder": c.data['folder'],
        "name": c.data['name'],
    })

    for o in c.data['options']:
        json_ref_data.append({
            "file": file,
            "type": "enum_option",
            "folder": c.data['folder'],
            "name": o['name'],
            "enum": c.data['name']
        })
Exemplo n.º 9
0
def add_enum(c):
    file = clang_utils.filenameFromClangChild(c.cursor)
    json_ref_data.append({
        "file": file,
        "type": "enum",
        "folder": c.data['folder'],
        "name": c.data['name'],
    })

    for o in c.data['options']:
        json_ref_data.append({
            "file": file,
            "type": "enum_option",
            "folder": c.data['folder'],
            "name": o['name'],
            "enum": c.data['name']
        })