Closed jakhog closed 7 years ago
Yes, I guess allPropertiesInDepth
is limited to property/var declared in things and states, but does not go deeper. We should also look at functions params, like we do for messages, but also in the detailed code for local vars, etc, as you mention. We have some utilities to find all expressions or all actions of a given type, which can help e.g. ThingMLHelpers.getAllExpressions(t, PropertyReference.class)
to get all PropertyReference anywhere in thing t (it will go recursively down to eveything that is contained directly or indirectly by t)
e.g. you should look for all actions of type LocalVariable in addition to the rest something like: ActionHelper.getAllActions(t, LocalVariable.class)
While going through some helper functions, it seems that we might not be retrieving all types in some of them. E.g. in allUsedTypes here:
But then we are missing the types for the variables in actions and functions right?
Also might be a problem in allUsedSimpleTypes, allObjectTypes.