Skip to content

[Request-evaluator] Graphviz visualization of cross-file dependencies #26084

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

DougGregor
Copy link
Member

Extend the GraphViz output of the request-evaluator's dependency graph to color-code the requests based on the source files with which the requests are associated. Cross-file dependencies show up as edges among nodes of different colors. This won't scale to large files, but it's nice for visualizing small ones. The graph is still fairly sparse because we're missing many useful requests.

Introduce a stub request for type checking a function body. It’s currently
not triggered lazily, but we’ll start migrating the synthesis and
type-checking logic here.
Use the "nearest source location" information on a request to map it
to a particular source buffer, then use that information in the
GraphViz dependency graphs so we can see cross-file dependencies more
clearly.
…ce buffers

To help make the current GraphViz output of the dependency graph more
legible, introduce "fake" nodes for the source buffers we encounter,
and draw edges from those nodes to any requests associated with those
source buffers that have no other edges leading to them. This is a
temporary visualization hack, to be replaced by proper "top-level"
requests for things like type-checking an entire source file.
@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor
Copy link
Member Author

@swift-ci please smoke test and merge

@DougGregor
Copy link
Member Author

@swift-ci please smoke test

1 similar comment
@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor DougGregor merged commit 75a5496 into swiftlang:master Jul 11, 2019
@DougGregor DougGregor deleted the request-evaluator-cross-file-vis branch July 11, 2019 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant