/** * Go Language Plugin * * Provides Go-specific AST handling, taint patterns, and framework detection. */ import type { Node as SyntaxNode } from 'web-tree-sitter'; import type { TypeInfo, CallInfo, ImportInfo } from '../../types/index.js'; import type { LanguageNodeTypes, ExtractionContext, FrameworkInfo, TaintSourcePattern, TaintSinkPattern } from '../types.js'; import { BaseLanguagePlugin } from './base.js'; /** * Go language plugin implementation. */ export declare class GoPlugin extends BaseLanguagePlugin { readonly id: "go"; readonly name = "Go"; readonly extensions: string[]; readonly wasmPath = "tree-sitter-go.wasm"; readonly nodeTypes: LanguageNodeTypes; /** * Detect Go web frameworks from imports. */ detectFramework(context: ExtractionContext): FrameworkInfo | undefined; /** * Go taint source patterns. */ getBuiltinSources(): TaintSourcePattern[]; /** * Go taint sink patterns. */ getBuiltinSinks(): TaintSinkPattern[]; /** * Get receiver type from a Go call expression. */ getReceiverType(node: SyntaxNode, _context: ExtractionContext): string | undefined; /** * Check if node is a Go string literal. */ isStringLiteral(node: SyntaxNode): boolean; /** * Get string value from Go string literal. */ getStringValue(node: SyntaxNode): string | undefined; /** * Extract type information from Go source. */ extractTypes(context: ExtractionContext): TypeInfo[]; /** * Extract call information from Go source. */ extractCalls(context: ExtractionContext): CallInfo[]; /** * Extract import information from Go source. */ extractImports(context: ExtractionContext): ImportInfo[]; /** * Extract package name from Go source. */ extractPackage(context: ExtractionContext): string | undefined; private parseImportSpec; private extractGoParams; } //# sourceMappingURL=go.d.ts.map