semantifold 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,7 +20,16 @@ export declare class CReader {
20
20
  type: string;
21
21
  }>;
22
22
  /** @type {Set<string>} */
23
- declaredFunctions: Set<string>;
23
+ declaredFunctionNames: Set<string>;
24
+ /** @type {{name: string, node: CstNode, parameterTypes: string[], returnType: string}[]} */
25
+ prototypes: {
26
+ name: string;
27
+ node: CstNode;
28
+ parameterTypes: string[];
29
+ returnType: string;
30
+ }[];
31
+ /** @type {boolean} */
32
+ voidFunction: boolean;
24
33
  /**
25
34
  * Owns source content and its coordinate index, never native parser handles.
26
35
  * @param {string} filename - Original filename.
@@ -143,6 +152,30 @@ export declare class CReader {
143
152
  * @returns {import("../semantic/types.js").FunctionDeclaration} Semantic function.
144
153
  */
145
154
  function(node: CstNode): import("../semantic/types.js").FunctionDeclaration;
155
+ /**
156
+ * Validates one exact required positional parameter list and converts it in source order.
157
+ * @param {CstNode} parameters - Parameter list node.
158
+ * @returns {import("../semantic/types.js").Parameter[]} Converted parameters.
159
+ */
160
+ parameterList(parameters: CstNode): import("../semantic/types.js").Parameter[];
161
+ /**
162
+ * Recognizes a file-local function prototype declaration without descending further.
163
+ * @param {CstNode} node - Candidate translation-unit member.
164
+ * @returns {boolean} Whether this is a function prototype.
165
+ */
166
+ isPrototype(node: CstNode): boolean;
167
+ /**
168
+ * Records one exact static prototype signature before any body conversion.
169
+ * @param {CstNode} node - Prototype declaration.
170
+ * @returns {void}
171
+ */
172
+ recordPrototype(node: CstNode): void;
173
+ /**
174
+ * Confirms every recorded prototype agrees with its unique function definition.
175
+ * @param {import("../semantic/types.js").FunctionDeclaration[]} functions - Converted definitions.
176
+ * @returns {void}
177
+ */
178
+ validatePrototypes(functions: import("../semantic/types.js").FunctionDeclaration[]): void;
146
179
  /**
147
180
  * Removes only the exact main cleanup and status scaffolding.
148
181
  * @param {CstNode} node - Entry definition.
@@ -1 +1 @@
1
- {"version":3,"file":"c.d.ts","sourceRoot":"","sources":["../../../src/frontends/c.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"c.d.ts","sourceRoot":"","sources":["../../../src/frontends/c.js"],"names":[],"mappings":"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"}