Lines Matching refs:candidate
2156 clear_write_only(candidate);
2159 folded = candidate;
2162 folded = make_node(AST_Binary, candidate, {
2164 … left: lhs.fixed && lhs.definition().fixed ? lhs.fixed.to_binary(candidate) : lhs,
2210 if (candidate.TYPE == "Binary") {
2211 update_symbols(candidate, node);
2212 return make_node(AST_Assign, candidate, {
2214 left: candidate.right.left,
2215 … right: candidate.operator == "&&" ? make_node(AST_Conditional, candidate, {
2216 condition: candidate.left,
2217 consequent: candidate.right.right,
2219 }) : make_node(AST_Conditional, candidate, {
2220 condition: candidate.left,
2222 alternative: candidate.right.right,
2226 … if (candidate instanceof AST_UnaryPostfix) return make_node(AST_UnaryPrefix, candidate, {
2227 operator: candidate.operator,
2228 … expression: lhs.fixed && lhs.definition().fixed ? lhs.fixed.to_prefix(candidate) : lhs,
2230 if (candidate instanceof AST_UnaryPrefix) {
2231 clear_write_only(candidate);
2232 return candidate;
2235 if (candidate instanceof AST_VarDef) {
2236 var def = candidate.name.definition();
2241 return make_node(AST_Assign, candidate, {
2248 var assign = candidate.clone();
2312 if (node !== candidate) return node;
2323 if (!assign_used && node.body === candidate) {
2343 return make_node(AST_Assign, candidate, {
2369 var candidate = hit_stack[hit_stack.length - 1];
2377 var lhs = get_lhs(candidate);
2381 var scan_rhs = foldable(candidate);
2383 … var compound = candidate instanceof AST_Assign && candidate.operator.slice(0, -1);
2384 var funarg = candidate.name instanceof AST_SymbolFunarg;
2386 if (candidate.may_throw(compressor)) {
2397 var lvalues = get_lvalues(candidate);
2399 var rhs_value = get_rvalue(candidate);
2408 var replace_all = replace_all_symbols(candidate);
2414 for (var j = candidate.arg_index + 1; !abort && j < args.length; j++) {
2436 replaced = candidate instanceof AST_VarDef
2437 && candidate === hit_stack[hit_stack.length - 1]
2444 if (replaced) remove_candidate(candidate);
2795 var candidate = make_node(AST_VarDef, sym, {
2799 candidate.name_index = i;
2800 candidate.arg_index = value ? len + i : i;
2801 candidates.unshift([ candidate ]);
3116 var expr = candidate.clone();
3118 if (candidate.name_index >= 0) {
3119 expr.name_index = candidate.name_index;
3120 expr.arg_index = candidate.arg_index;
3122 candidate = expr;
3430 if (candidate instanceof AST_Unary) return false;
3436 if (candidate instanceof AST_Unary) return false;