constructor()

in src/parser/WDL/entities/WDLWorkflow.js [27:65]


  constructor(wfNode, context, initialName = null, isSubWorkflow = false, parentNamespace = '') {
    this.elementsParsingProcessors = {
      declaration: this.parseDeclarationElement,
      meta: this.parseMetaElement,
      parametermeta: this.parseMetaElement,
      call: this.parseCallElement,
      scatter: this.parseScatterElement,
      if: this.parseIfElement,
      whileloop: this.parseWhileElement,
    };
    this.bindingsParsingProcessors = {
      declaration: this.parseDeclarationBindings,
      workflowoutputs: this.parseWfOutputsBindings,
      call: this.parseCallBindings,
      scatter: this.parseScatterBindings,
      if: this.parseIfBindings,
      whileloop: this.parseWhileBindings,
    };

    this.scatterIndex = 0;
    this.loopIndex = 0;
    this.ifIndex = 0;

    this.context = context;
    this.name = wfNode.name.source_string;
    this.workflowStep = new Workflow(this.name, { initialName: initialName || null, isSubWorkflow });
    if (isSubWorkflow) {
      this.isSubWorkflow = isSubWorkflow;
    }
    if (parentNamespace) {
      this.parentNamespace = parentNamespace;
    }
    if (!isSubWorkflow && this.context.imports && this.context.imports.imports && this.context.imports.imports.length) {
      this.workflowStep.imports = this.context.imports.imports;
    }

    this.parseBodyElements(wfNode.body.list, 'workflow');
    this.parseBodyBindings(wfNode.body.list, 'workflow');
  }