Files
2026-07-13 12:49:17 +08:00

55 lines
1.0 KiB
Python

# Copyright (c) 2025 ByteDance Ltd. and/or its affiliates
# SPDX-License-Identifier: MIT
from dataclasses import dataclass
# Define dataclasses for CKG entries
@dataclass
class FunctionEntry:
"""
dataclass for function entry.
"""
name: str
file_path: str
body: str
start_line: int
end_line: int
parent_function: str | None = None
parent_class: str | None = None
@dataclass
class ClassEntry:
"""
dataclass for class entry.
"""
name: str
file_path: str
body: str
start_line: int
end_line: int
fields: str | None = None
methods: str | None = None
# We need a mapping from file extension to tree-sitter language name to parse files and build the graph
extension_to_language = {
".py": "python",
".java": "java",
".cpp": "cpp",
".hpp": "cpp",
".c++": "cpp",
".cxx": "cpp",
".cc": "cpp",
".c": "c",
".h": "c",
".ts": "typescript",
".tsx": "typescript",
".js": "javascript",
".jsx": "javascript",
}