The addVar, removeVar, removeVarIfUnused, addModuleVar and isVarUsed methods use a varList argument whose first element is a scope path.
It would be better (from an object-oriented point of view) to suppress this path and to call these different methods directly on the right scope.
For instance self.addVar([[scope.path, 'I', 'INTEGER :: I', None]]) would become scope.addVar([['I', 'INTEGER :: I', None]]).
This feature can be implemented using the --restrictScope argument defined in scripting.
The addVar, removeVar, removeVarIfUnused, addModuleVar and isVarUsed methods use a varList argument whose first element is a scope path.
It would be better (from an object-oriented point of view) to suppress this path and to call these different methods directly on the right scope.
For instance
self.addVar([[scope.path, 'I', 'INTEGER :: I', None]])would becomescope.addVar([['I', 'INTEGER :: I', None]]).This feature can be implemented using the --restrictScope argument defined in scripting.