public void VisitNode(JSReturnExpression node) { if (node.Value!= null && node.Value.SymbolInfo != null) { ParentNode.SymbolInfo = node.Value.SymbolInfo; node.SymbolInfo = null; } VisitChildren(node); }
public void VisitNode(JSReturnExpression node) { if (node.Value != null && node.Value.SymbolInfo != null) { ParentNode.SymbolInfo = node.Value.SymbolInfo; node.SymbolInfo = null; } VisitChildren(node); }
public void VisitNode(JSReturnExpression ret) { Output.WriteRaw("return"); if (ret.Value != null) { Output.Space(); Visit(ret.Value); } }
public void VisitNode(JSReturnExpression re) { RecordUntargettedExit(); VisitChildren(re); }
public void VisitNode(JSReturnExpression ret) { Formatter.WriteSExpr("return", (_) => Visit(ret.Value) ); }
public void VisitNode(JSReturnExpression ret) { ReturnsSeen++; var returnValue = ret.Value; JSResultReferenceExpression rre; while ((rre = returnValue as JSResultReferenceExpression) != null) { returnValue = rre.Referent; } var retInvocation = returnValue as JSInvocationExpression; if (retInvocation != null) { State.ResultVariable = null; State.ResultIsNew = false; if (retInvocation.JSMethod != null) { if (ReturnsSeen == 1) { State.ResultMethod = retInvocation.JSMethod; } else if (retInvocation.JSMethod != State.ResultMethod) { State.ResultMethod = null; } } else { State.ResultMethod = null; } } else { var retVar = returnValue as JSVariable; if (retVar != null) { State.EscapingVariables.Add(retVar.Identifier); if (ReturnsSeen == 1) { State.ResultVariable = retVar.Identifier; } else if (State.ResultVariable != retVar.Identifier) { State.ResultVariable = null; } } else { State.ResultVariable = null; } var retNew = returnValue as JSNewExpression; if (ReturnsSeen == 1) { State.ResultIsNew = (retNew != null); } else { State.ResultIsNew &= (retNew != null); } } VisitChildren(ret); }
public void VisitNode(JSReturnExpression re) { VisitChildren(re); Result.Add(GenerateSubtreeBarrier(0, BarrierFlags.Jump)); }