diff --git a/CHANGELOG.md b/CHANGELOG.md index 1935d3f4..3bffdcfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ Modifications by (in alphabetical order): * P. Hill, University of York, UK * I. Kavcic, UK Met Office * A. Morvan, Bull S. A. S., France +* N. M. Nobre, Science & Technology Facilities Council, UK * A. R. Porter, Science & Technology Facilities Council, UK * B. Reuter, ECMWF, UK * S. Siso, Science & Technology Facilities Council, UK @@ -20,6 +21,10 @@ Modifications by (in alphabetical order): * P. Vitt, University of Siegen, Germany * A. Voysey, UK Met Office +15/12/2025 PR #487. Adds interfaces to the set of things a module provides. + Fixes fparser1 errors such as "fparser.common.utils.AnalyzeError: + entity name 'dummy_code' is not in module 'dummy_mod'" + 25/11/2025 PR #488 for #483. Do not recognize inline comments as Directives. 31/10/2025 PR #486 for #483. Recognize any comment that begins ``!$``, ``c$`` or ``*$`` followed by diff --git a/src/fparser/one/statements.py b/src/fparser/one/statements.py index 6ac77911..987ffe16 100644 --- a/src/fparser/one/statements.py +++ b/src/fparser/one/statements.py @@ -1345,6 +1345,7 @@ def analyze(self): # pylint: disable=invalid-name renames = [split_comma(item, comma="=>") for item in self.items if "=>" in item] norenames = [item for item in self.items if "=>" not in item] all_mod_provides = dict(module.a.module_provides) + all_mod_provides.update(module.a.module_interface) all_mod_provides.update(module.a.use_provides) if self.isonly: # populate use_provides with items/renames only.