-
Notifications
You must be signed in to change notification settings - Fork 13
Description
At this moment, module signatures do not capture exported variables or arrays, only exported function declarations. This means that changing an array or variable declaration in an incompatible way doesn't cause the signature to differ and isn't captured, even though the remote code is incompatible with the local code.
Exported arrays definitely should be captured in signatures, and probably even variables.
Capturing array/variable declarations isn't easy, because at this moment they're stored in the raw AST structure when the signature is generated. Either a variable declaration preprocessing will need to be made, similarly to function call graph creation, or AST interpreter needs to be implemented (which would implicitly preprocess simple variable declarations in the way we need).