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); }