public string GenerateStackDump(ExpressionData expressionsData) { var codeGenerator = new CodeGenerator(_variableDeclarationType); var(generatedSyntax, expressionTypeCode) = _initializationManager.GenerateForMainObject(expressionsData); if (_typeAnalyzer.IsPrimitiveType(expressionTypeCode)) { codeGenerator.AddOnePrimitiveExpression(expressionsData.Name, expressionsData.Type, generatedSyntax); return(codeGenerator.GetStringDump()); } if (expressionTypeCode == TypeCode.Array) { var memberSyntax = _arrayCodeGenerator.Generate(expressionsData.Name, expressionsData.Type, generatedSyntax); return(codeGenerator.GetStringDump(memberSyntax)); } codeGenerator.AddOneExpression(expressionsData.Name, expressionsData.Type, generatedSyntax); return(codeGenerator.GetStringDump()); }