enter: function()

in legacy/javascript/src/refactor.js [322:352]


            enter: function (node) {
                if (node.type === 'CallExpression') {
                    if (methodHashMap.has(node.callee.name)) {
                        const argumentIndex = methodHashMap.get(node.callee.name).argumentIndex;
                        const nodeArgument = node.arguments[argumentIndex];

                        let nodeArgumentIsFlag = false;
                        switch (nodeArgument.type) {
                            case 'Identifier':
                                nodeArgumentIsFlag = nodeArgument.name === engine.flagname;
                                break;
                            case 'Literal':
                                nodeArgumentIsFlag = nodeArgument.value === engine.flagname;
                                break;
                        }
                        if (nodeArgumentIsFlag) {
                            const flagType = methodHashMap.get(node.callee.name).flagType;
                            engine.changed = true;

                            if (
                                (flagType === 'treated' && engine.behaviour) ||
                                (flagType === 'control' && !engine.behaviour)
                            ) {
                                return engine.trueLiteral();
                            } else {
                                return engine.falseLiteral();
                            }
                        }
                    }
                }
            },