Skip to content
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

refactoring workflow AST to facilitate runtime dependency analysis #195

Merged
merged 9 commits into from
Jul 11, 2019

Conversation

mlin
Copy link
Collaborator

@mlin mlin commented Jul 11, 2019

  • Introduces WorkflowNode as a base class for Decl, Call, Scatter, and Conditional. Each workflow node has a string ID (unique within the workflow) and reports the IDs of its dependencies.
  • Furthermore Scatter and Conditional inherit WorkflowSection : WorkflowNode which centralizes access to the Gather nodes.
  • Renames {Workflow,Scatter,Conditional}.elements to .body

The typechecker and cycle detection are unchanged, but probably can be simplified by using these new constructs (especially the gathers for typechecking).

@coveralls
Copy link

coveralls commented Jul 11, 2019

Pull Request Test Coverage Report for Build 855

  • 125 of 129 (96.9%) changed or added relevant lines in 3 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.07%) to 96.927%

Changes Missing Coverage Covered Lines Changed/Added Lines %
WDL/Tree.py 117 121 96.69%
Totals Coverage Status
Change from base Build 840: -0.07%
Covered Lines: 3659
Relevant Lines: 3775

💛 - Coveralls

@mlin mlin merged commit 1324df5 into master Jul 11, 2019
@mlin mlin deleted the mlin-workflow-nodes branch July 15, 2019 08:25
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.

2 participants