Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 45x 45x 138x 93x 48x 93x 45x 45x 45x 93x 138x 42x 1x 1x | import * as Expressions from "../../2_statements/expressions"; import {ExpressionNode} from "../../nodes"; import {AbstractType} from "../../types/basic/_abstract_type"; import {CurrentScope} from "../_current_scope"; import {ComponentChain} from "./component_chain"; import {Source} from "./source"; export class ComponentCompareSimple { public runSyntax(node: ExpressionNode, scope: CurrentScope, filename: string, rowType: AbstractType): void { let targetType: AbstractType | undefined = undefined; for (const c of node.getChildren()) { if (c instanceof ExpressionNode) { if (c.get() instanceof Expressions.ComponentChainSimple) { targetType = new ComponentChain().runSyntax(rowType, c, scope, filename); } else if (c.get() instanceof Expressions.Dynamic) { targetType = undefined; } else if (c.get() instanceof Expressions.Source) { new Source().runSyntax(c, scope, filename, targetType); } else { throw "ComponentCompareSimple, unexpected node"; } } } } } |