string TypeToString(ConvertTypeOptions options, TypeReference type, ICustomAttributeProvider typeAttributes = null) { var envProvider = new ILSpyEnvironmentProvider(); var converter = new CSharpToCppConverterVisitor(envProvider); var astType = AstBuilder.ConvertType(type, typeAttributes, options); StringWriter w = new StringWriter(); if (type.IsByReference) { w.Write("ByRef "); if (astType is NRefactory.CSharp.ComposedType && ((NRefactory.CSharp.ComposedType)astType).PointerRank > 0) { ((NRefactory.CSharp.ComposedType)astType).PointerRank--; } } var cppAstType = astType.AcceptVisitor(converter, null); cppAstType.AcceptVisitor(new CppOutputVisitor(w, new CppFormattingOptions()), null); return(w.ToString()); }
string TypeToString(ConvertTypeOptions options, TypeReference type, ICustomAttributeProvider typeAttributes = null) { var envProvider = new ILSpyEnvironmentProvider(); var converter = new CSharpToCppConverterVisitor(envProvider); var astType = AstBuilder.ConvertType(type, typeAttributes, options); StringWriter w = new StringWriter(); if (type.IsByReference) { w.Write("ByRef "); if (astType is NRefactory.CSharp.ComposedType && ((NRefactory.CSharp.ComposedType)astType).PointerRank > 0) ((NRefactory.CSharp.ComposedType)astType).PointerRank--; } var cppAstType = astType.AcceptVisitor(converter, null); cppAstType.AcceptVisitor(new CppOutputVisitor(w, new CppFormattingOptions()), null); return w.ToString(); }