private void ProcessCtorInvocation()
 {
     V_3 = this.GetStatementsForInvocation(out V_1, out V_0, out V_2);
     if (V_3 == null)
     {
         return;
     }
     this.patternsContext = new CodePatternsContext(V_3);
     stackVariable10      = new ICodePattern[5];
     stackVariable10[0]   = new NullCoalescingPattern(this.patternsContext, this.methodContext);
     stackVariable10[1]   = new TernaryConditionPatternAgressive(this.patternsContext, this.typeSystem);
     stackVariable10[2]   = new ArrayInitialisationPattern(this.patternsContext, this.typeSystem);
     stackVariable10[3]   = new VariableInliningPatternAggressive(this.patternsContext, this.methodContext, this.context.get_Language().get_VariablesToNotInlineFinder());
     stackVariable10[4]   = new MultiAssignPattern(this.patternsContext, this.methodContext);
     V_4 = new List <ICodePattern>(stackVariable10);
     if (V_2)
     {
         V_4.Add(new InitializationPattern(this.patternsContext, this.context));
     }
     if (!this.ProcessStatementCollection(V_3, V_4))
     {
         return;
     }
     if (V_3.get_Item(0).get_CodeNodeType() != 5)
     {
         return;
     }
     V_5 = (V_3.get_Item(0) as ExpressionStatement).get_Expression() as MethodInvocationExpression;
     if (V_5.get_CodeNodeType() != 52 && V_5.get_CodeNodeType() != 53)
     {
         return;
     }
     this.methodContext.set_CtorInvokeExpression(V_5);
     return;
 }
 protected virtual IEnumerable <ICodePattern> GetCodePatterns()
 {
     stackVariable1    = new ICodePattern[6];
     stackVariable1[0] = new NullCoalescingPattern(this.patternsContext, this.context.get_MethodContext());
     stackVariable1[1] = this.GetTernaryPattern(this.patternsContext);
     stackVariable1[2] = new ArrayInitialisationPattern(this.patternsContext, this.typeSystem);
     stackVariable1[3] = new ObjectInitialisationPattern(this.patternsContext, this.typeSystem);
     stackVariable1[4] = new CollectionInitializationPattern(this.patternsContext, this.typeSystem);
     stackVariable1[5] = this.GetVariableInliningPattern(this.patternsContext);
     return(stackVariable1);
 }