UNPKG

il2cpp-dump-analyzer-mcp

Version:

Agentic RAG system for analyzing IL2CPP dump.cs files from Unity games

227 lines (226 loc) 5.84 kB
export interface IL2CPPConstruct { name: string; namespace: string; fullName: string; typeDefIndex: number; isNested: boolean; parentType?: string; isCompilerGenerated: boolean; accessModifier: 'public' | 'private' | 'internal' | 'protected'; attributes: string[]; } export interface IL2CPPDelegate extends IL2CPPConstruct { returnType: string; parameters: IL2CPPParameter[]; isMulticast: boolean; invokeMethod: IL2CPPMethod; constructorMethod: IL2CPPMethod; beginInvokeMethod?: IL2CPPMethod; endInvokeMethod?: IL2CPPMethod; } export interface IL2CPPGenericType extends IL2CPPConstruct { genericParameters: IL2CPPGenericParameter[]; isGenericDefinition: boolean; isGenericInstance: boolean; genericArguments?: string[]; instantiations: IL2CPPGenericInstantiation[]; baseClass?: string; interfaces: string[]; fields: IL2CPPField[]; methods: IL2CPPMethod[]; } export interface IL2CPPGenericParameter { name: string; position: number; constraints: string[]; variance: 'in' | 'out' | 'none'; hasReferenceTypeConstraint: boolean; hasValueTypeConstraint: boolean; hasDefaultConstructorConstraint: boolean; } export interface IL2CPPGenericInstantiation { typeArguments: string[]; rva: string; offset: string; virtualAddress: string; methodName: string; } export interface IL2CPPNestedType extends IL2CPPConstruct { nestedLevel: number; typeKind: 'class' | 'struct' | 'enum' | 'interface' | 'delegate'; compilerGeneratedType?: string; fields: IL2CPPField[]; methods: IL2CPPMethod[]; baseClass?: string; interfaces: string[]; } export interface IL2CPPMethod { name: string; returnType: string; parameters: IL2CPPParameter[]; isPublic: boolean; isPrivate?: boolean; isStatic: boolean; isVirtual: boolean; isAbstract: boolean; isOverride: boolean; attributes: string[]; rva: string; offset: string; slot?: number; isGeneric?: boolean; genericConstraints?: string; genericParameters?: IL2CPPGenericParameter[]; genericInstantiations?: IL2CPPGenericInstantiation[]; } export interface IL2CPPField { name: string; type: string; isPublic: boolean; isPrivate?: boolean; isStatic: boolean; isReadOnly: boolean; attributes: string[]; offset: string; isGeneric?: boolean; } export interface IL2CPPParameter { name: string; type: string; isGeneric?: boolean; } export interface EnhancedParseResult { classes: IL2CPPClass[]; enums: IL2CPPEnum[]; interfaces: IL2CPPInterface[]; delegates: IL2CPPDelegate[]; generics: IL2CPPGenericType[]; nestedTypes: IL2CPPNestedType[]; properties: IL2CPPProperty[]; events: IL2CPPEvent[]; constants: IL2CPPConstant[]; operators: IL2CPPOperator[]; indexers: IL2CPPIndexer[]; destructors: IL2CPPDestructor[]; extensionMethods: IL2CPPExtensionMethod[]; imageMappings: Map<number, string>; statistics: ParseStatistics; } export interface ParseStatistics { totalConstructs: number; classCount: number; enumCount: number; interfaceCount: number; delegateCount: number; genericCount: number; nestedTypeCount: number; propertyCount: number; eventCount: number; constantCount: number; operatorCount: number; indexerCount: number; destructorCount: number; extensionMethodCount: number; compilerGeneratedCount: number; coveragePercentage: number; methodCount: number; fieldCount: number; parseErrors: number; parsingCoverage: number; } export interface IL2CPPClass { name: string; namespace: string; fullName: string; baseClass?: string; interfaces: string[]; fields: IL2CPPField[]; methods: IL2CPPMethod[]; isMonoBehaviour: boolean; isStruct?: boolean; typeDefIndex: number; isNested?: boolean; parentType?: string; isCompilerGenerated?: boolean; accessModifier?: string; attributes?: string[]; } export interface IL2CPPEnum { name: string; namespace: string; fullName: string; values: { name: string; value: string; }[]; typeDefIndex: number; isNested?: boolean; parentType?: string; accessModifier?: string; attributes?: string[]; } export interface IL2CPPInterface { name: string; namespace: string; fullName: string; methods: IL2CPPMethod[]; typeDefIndex: number; isNested?: boolean; parentType?: string; accessModifier?: string; attributes?: string[]; } export interface IL2CPPProperty { name: string; type: string; isPublic: boolean; isStatic: boolean; isVirtual: boolean; isOverride: boolean; hasGetter: boolean; hasSetter: boolean; attributes: string[]; } export interface IL2CPPEvent { name: string; type: string; isPublic: boolean; isStatic: boolean; attributes: string[]; } export interface IL2CPPConstant { name: string; type: string; value: string; isPublic: boolean; } export interface IL2CPPOperator { symbol: string; returnType: string; parameters: IL2CPPParameter[]; isPublic: boolean; } export interface IL2CPPIndexer { returnType: string; parameters: IL2CPPParameter[]; isPublic: boolean; } export interface IL2CPPDestructor { className: string; name: string; } export interface IL2CPPExtensionMethod extends IL2CPPMethod { extendedType: string; isExtensionMethod: boolean; } export interface ClassInfo { name: string; declaration: string; inheritance: string; body: string; startLine: number; endLine: number; accessModifier: string; typeDefIndex: number; attributes: string[]; }