import {DotGeneratorVisitor} from 'fincontracts-lib/src/fincontract-dot-generator.js'
DotGeneratorVisitor
Extends:
DotGeneratorVisitor performs collection of links and labels in order to later generate a DOT description of the Fincontract graph from FincNode description tree by extending Visitor.
Method Summary
Public Methods | ||
public |
processAndNode(node: FincNode, left: Object, right: Object): Object Called during preorder traversal when processing FincAndNode. |
|
public |
processGiveNode(node: FincNode, child: Object): Object Called during preorder traversal when processing FincGiveNode. |
|
public |
processIfNode(node: FincNode, left: Object, right: Object): Object Called during preorder traversal when processing FincIfNode. |
|
public |
processOneNode(node: FincNode): Object Called during preorder traversal when processing FincOneNode. |
|
public |
processOrNode(node: FincNode, left: Object, right: Object): Object Called during preorder traversal when processing FincOrNode. |
|
public |
processScaleNode(node: FincNode, child: Object): Object Called during preorder traversal when processing FincScaleNode. |
|
public |
processScaleObsNode(node: FincNode, child: Object): Object Called during preorder traversal when processing FincScaleObsNode. |
|
public |
processTimeboundNode(node: FincNode, child: Object): Object Called during preorder traversal when processing FincTimeboundNode. |
|
public |
Called during preorder traversal when processing an unknown node. |
|
public |
Called during preorder traversal when processing FincZeroNode. |
Inherited Summary
From class Visitor | ||
public abstract |
Called when processing FincAndNode. |
|
public abstract |
Called when processing FincGiveNode. |
|
public abstract |
Called when processing FincIfNode. |
|
public abstract |
Called when processing FincOneNode. |
|
public abstract |
Called when processing FincOrNode. |
|
public abstract |
Called when processing FincScaleNode. |
|
public abstract |
Called when processing FincScaleObsNode. |
|
public abstract |
Called when processing FincTimeboundNode. |
|
public abstract |
Called when processing FincZeroNode. |
|
public |
Visits current node. |
Public Methods
public processAndNode(node: FincNode, left: Object, right: Object): Object source
Called during preorder traversal when processing FincAndNode. Adds current links to all the children to the intermediate set of links and labels returned by children.
Override:
Visitor#processAndNodeParams:
Name | Type | Attribute | Description |
node | FincNode | currently processed node |
|
left | Object | an Object containing intermediate result of collecting links and labels form left child (first subtree) of the current node |
|
right | Object | an Object containing intermediate result of collecting links and labels form right child (second subtree) of the current node |
public processGiveNode(node: FincNode, child: Object): Object source
Called during preorder traversal when processing FincGiveNode. Adds current links to all the children to the intermediate set of links and labels returned by the only child.
Override:
Visitor#processGiveNodepublic processIfNode(node: FincNode, left: Object, right: Object): Object source
Called during preorder traversal when processing FincIfNode. Adds current links to all the children to the intermediate set of links and labels returned by children.
Override:
Visitor#processIfNodeParams:
Name | Type | Attribute | Description |
node | FincNode | currently processed node |
|
left | Object | an Object containing intermediate result of collecting links and labels form left child (first subtree) of the current node |
|
right | Object | an Object containing intermediate result of collecting links and labels form right child (second subtree) of the current node |
public processOneNode(node: FincNode): Object source
Called during preorder traversal when processing FincOneNode. As FincOneNode is a leaf node, therefore this functions just returns an empty object with a single label (this node).
Override:
Visitor#processOneNodeParams:
Name | Type | Attribute | Description |
node | FincNode | currently processed node |
public processOrNode(node: FincNode, left: Object, right: Object): Object source
Called during preorder traversal when processing FincOrNode. Adds current links to all the children to the intermediate set of links and labels returned by children.
Override:
Visitor#processOrNodeParams:
Name | Type | Attribute | Description |
node | FincNode | currently processed node |
|
left | Object | an Object containing intermediate result of collecting links and labels form left child (first subtree) of the current node |
|
right | Object | an Object containing intermediate result of collecting links and labels form right child (second subtree) of the current node |
public processScaleNode(node: FincNode, child: Object): Object source
Called during preorder traversal when processing FincScaleNode. Adds current links to all the children to the intermediate set of links and labels returned by the only child.
Override:
Visitor#processScaleNodepublic processScaleObsNode(node: FincNode, child: Object): Object source
Called during preorder traversal when processing FincScaleObsNode. Adds current links to all the children to the intermediate set of links and labels returned by the only child.
Override:
Visitor#processScaleObsNodepublic processTimeboundNode(node: FincNode, child: Object): Object source
Called during preorder traversal when processing FincTimeboundNode. Adds current links to all the children to the intermediate set of links and labels returned by the only child.
Override:
Visitor#processTimeboundNodepublic processUnknownNode() source
Called during preorder traversal when processing an unknown node. Throws an error.
Throw:
always |
public processZeroNode(): Object source
Called during preorder traversal when processing FincZeroNode. As FincZeroNode is a leaf node, therefore this functions just returns an empty object with a single label (this node).