import { HttpApiAnalyser } from '../base/HttpApiAnalyser'; import { MemoizedQuery } from '../base/LanguageProfile'; import { CodeFile } from '../../codemodel/CodeElement'; import { LanguageIdentifier } from '../../base/common/languages/languages'; import { ApiResource } from "@autodev/worker-core"; export declare class FastApiAnalyser extends HttpApiAnalyser { readonly langId: LanguageIdentifier; constructor(); isApplicable(lang: LanguageIdentifier): boolean; analysis(codeFile: CodeFile, workspacePath: string): Promise; protected _restTemplateQuery: MemoizedQuery; protected routeQuery: MemoizedQuery; get restTemplateQuery(): MemoizedQuery; sourceCodeAnalysis(sourceCode: string, filePath: string, workspacePath: string): Promise; /** * 分析FastAPI路由 * @param rootNode AST根节点 * @param codeFile 解析后的代码文件结构 * @param filePath 源文件路径 */ private analyseRoutes; /** * 获取路由器的前缀 */ private getRouterPrefix; /** * 获取路由挂载前缀 */ private getMountPrefix; /** * 判断是否为HTTP方法 */ private isHttpMethod; /** * 标准化HTTP方法名称 */ private normalizeHttpMethod; /** * 清理字符串字面量,移除引号 */ private cleanStringLiteral; /** * 组合路径 */ private combinePaths; /** * 获取包名 */ private getPackageName; /** * 获取模块名 */ private getModuleName; }