public void VisitNode(JSFunctionExpression fn) { var countRefs = new CountVariableReferences(ReferenceCounts); countRefs.Visit(fn.Body); SecondPass = GetSecondPass(fn.Method); if (SecondPass == null) { throw new InvalidDataException("No second-pass static analysis data for function '" + fn.Method.QualifiedIdentifier + "'"); } VisitChildren(fn); }
public void VisitNode(JSFunctionExpression fn) { // Create a new visitor for nested function expressions if (Stack.OfType <JSFunctionExpression>().Skip(1).FirstOrDefault() != null) { var nested = new EmulateStructAssignment(TypeSystem, FunctionSource, CLR, OptimizeCopies); nested.Visit(fn); return; } var countRefs = new CountVariableReferences(ReferenceCounts); countRefs.Visit(fn.Body); SecondPass = FunctionSource.GetSecondPass(fn.Method); VisitChildren(fn); }
public void VisitNode (JSFunctionExpression fn) { var countRefs = new CountVariableReferences(ReferenceCounts); countRefs.Visit(fn.Body); SecondPass = GetSecondPass(fn.Method); if (SecondPass == null) throw new InvalidDataException("No second-pass static analysis data for function '" + fn.Method.QualifiedIdentifier + "'"); VisitChildren(fn); }
public void VisitNode(JSFunctionExpression fn) { // Create a new visitor for nested function expressions if (Stack.OfType<JSFunctionExpression>().Skip(1).FirstOrDefault() != null) { var nested = new EmulateStructAssignment(TypeSystem, CLR); nested.Visit(fn); return; } var countRefs = new CountVariableReferences(ReferenceCounts); countRefs.Visit(fn); VisitChildren(fn); }
public void VisitNode(JSFunctionExpression fn) { // Create a new visitor for nested function expressions if (Stack.OfType<JSFunctionExpression>().Skip(1).FirstOrDefault() != null) { var nested = new EmulateStructAssignment(TypeSystem, FunctionSource, CLR, OptimizeCopies); nested.Visit(fn); return; } var countRefs = new CountVariableReferences(ReferenceCounts); countRefs.Visit(fn.Body); SecondPass = FunctionSource.GetSecondPass(fn.Method); VisitChildren(fn); }