string GetShortType (IType type, CppResolver state) { var builder = new TypeSystemAstBuilder (state); var dt = state.CurrentTypeDefinition; var declaring = type.DeclaringType != null ? type.DeclaringType.GetDefinition () : null; if (declaring != null) { while (dt != null) { if (dt.Equals (declaring)) { builder.AlwaysUseShortTypeNames = true; break; } dt = dt.DeclaringTypeDefinition; } } var shortType = builder.ConvertType (type); using (var w = new System.IO.StringWriter ()) { var visitor = new CppOutputVisitor (w, FormattingPolicy); shortType.AcceptVisitor (visitor, null); return w.ToString (); } }
public static ICSharpCode.NRefactory.Cpp.AstType ConvertToAstType(this IType type) { var builder = new TypeSystemAstBuilder(); return(builder.ConvertType(type)); }