il2cpp-dump-analyzer-mcp
Version:
Agentic RAG system for analyzing IL2CPP dump.cs files from Unity games
93 lines (92 loc) • 2.18 kB
TypeScript
export interface IL2CPPClass {
name: string;
namespace: string;
fullName: string;
baseClass?: string;
interfaces: string[];
fields: IL2CPPField[];
methods: IL2CPPMethod[];
isMonoBehaviour: boolean;
isStruct?: boolean;
typeDefIndex: number;
attributes: string[];
}
export interface IL2CPPField {
name: string;
type: string;
isPublic: boolean;
isPrivate?: boolean;
isStatic: boolean;
isReadOnly: boolean;
attributes: string[];
offset: string;
}
export interface IL2CPPMethod {
name: string;
returnType: string;
parameters: IL2CPPParameter[];
isPublic: boolean;
isPrivate?: boolean;
isStatic: boolean;
isVirtual: boolean;
isAbstract: boolean;
isOverride: boolean;
isGeneric?: boolean;
genericConstraints?: string;
slot?: number;
attributes: string[];
rva: string;
offset: string;
}
export interface IL2CPPParameter {
name: string;
type: string;
}
export interface IL2CPPEnum {
name: string;
namespace: string;
fullName: string;
values: {
name: string;
value: string;
}[];
typeDefIndex: number;
}
export interface IL2CPPInterface {
name: string;
namespace: string;
fullName: string;
methods: IL2CPPMethod[];
typeDefIndex: number;
}
export interface ParseStatistics {
totalConstructs: number;
classCount: number;
enumCount: number;
interfaceCount: number;
methodCount: number;
fieldCount: number;
parseErrors: number;
parsingCoverage: number;
}
export interface EnhancedParseResult {
classes: IL2CPPClass[];
enums: IL2CPPEnum[];
interfaces: IL2CPPInterface[];
imageMappings: Map<number, string>;
statistics: ParseStatistics;
}
/**
* Initialize the tree-sitter parser with C# grammar
*/
export declare function initializeParser(): Promise<void>;
/**
* Parse an IL2CPP dump.cs file
* @param filePath Path to the dump.cs file
* @returns Parsed IL2CPP entities
*/
export declare function parseIL2CPPDump(filePath: string): Promise<{
classes: IL2CPPClass[];
enums: IL2CPPEnum[];
interfaces: IL2CPPInterface[];
}>;