extract dependencies from user attributes
Summary:
The dependency extraction logic of extract-standalone currently uses decls to discover the transitive closure of target dependencies then retrieves the related NASTs and renders. Since user attributes are not used for type checking, they are not contained within the decls and are therefore not collected as dependencies. However, when NASTs are rendered, the user attributes are generated meaning that the output of extract-standalone will fail to type check because of the missing definitions.
This diff updates dependency extraction to also use NASTs, and extract classes appearing in user attributes.
Reviewed By: madgen
Differential Revision:
D26750069
fbshipit-source-id:
f9618f0d3481fb179cdc125b214428a0ddfdebca