Files
gnatstudio/examples/python/globals.py
Nicolas Roche 0dbfc04918 Conform to pep8 and pyflakes
Change-Id: If3a1aa9f0509c98f408673ed645d29ac009b2f82
2017-06-26 19:51:50 +01:00

25 lines
818 B
Python

"""This script shows how to compute the list of global entities in a whole
application, in a project or in a source file"""
from GPS import Project, File
def global_entities(where=None):
"""Return all global entities in where, which should either be an instance
of GPS.File, GPS.Project, or None. In the latter case, all global
entities in the application are returned"""
result = []
if not where:
for p in Project.root().dependencies(recursive=True):
result.extend(global_entities(p))
elif isinstance(where, Project):
for s in where.sources():
result.extend(global_entities(s))
elif isinstance(where, File):
for e in where.entities():
if e.attributes()["global"]:
result.append(e)
return result