21 lines
678 B
TypeScript
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,
|
|
});
|