Files
rea/src/domain/native/procedureInfo.ts
T

21 lines
678 B
TypeScript

import { nativeSymbolMetadataSchema } from "./nativeSymbol.js";
import { z } from "zod";
import {
functionBodySchema,
localVariableSchema,
procedureClassificationSchema,
} from "../hopperValues.js";
/** Provider-neutral procedure metadata, including exact body ranges. */
export const procedureInfoSchema = z.object({
name: z.string(),
symbol: nativeSymbolMetadataSchema.nullable().exactOptional(),
entrypoint: z.string(),
basicblock_count: z.number().int().min(0),
length: z.number().min(0),
signature: z.string().nullable(),
locals: z.array(localVariableSchema),
classification: procedureClassificationSchema.nullable(),
body: functionBodySchema,
});