In cairo, a file is considered a module. Resolving file modules are pretty simple as they are usually tied to a single file. However, when attempting to resolve submodules with the resolver, specifically those that are inline submodules, the resolver fails to link the imports with the correct files. This causes a few issues:
Unable to properly resolve super imports
Inability to resolve anything residing in inline submodules of a file
Most issues comes down to the lack of context during the resolving stage.
This PR attempts to fix that by adding more context on the resolving stage for both the use statements and also for each file modules by adding inline submodule information.
In
cairo
, a file is considered a module. Resolving file modules are pretty simple as they are usually tied to a single file. However, when attempting to resolve submodules with the resolver, specifically those that are inline submodules, the resolver fails to link the imports with the correct files. This causes a few issues:Most issues comes down to the lack of context during the resolving stage.
This PR attempts to fix that by adding more context on the resolving stage for both the
use
statements and also for each file modules by adding inline submodule information.Closes #11