In the example below, id_10 was renamed as an identifier and used, however, id_10 refers to an undeclared module, it occurs due to lack of context when generating programs. We must modify the IdentifierRenaming pass to ignore declared identifiers when there's a chance to generate this kind of construct. We must investigate it further but a starting point would be to discover which production generates it, add a new context to the IdentifierRenaming pass, and ignore all the identifiers created during this context.
id_10(
1, 1, id_7
);
assign id_10 = id_2;
In the example below, id_10 was renamed as an identifier and used, however, id_10 refers to an undeclared module, it occurs due to lack of context when generating programs. We must modify the
IdentifierRenamingpass to ignore declared identifiers when there's a chance to generate this kind of construct. We must investigate it further but a starting point would be to discover which production generates it, add a new context to theIdentifierRenamingpass, and ignore all the identifiers created during this context.