protected virtual string PrintParameters(UnrealEventInfo info, CXXFileType fileType, out int parameterCount) { var sb = new StringBuilder(); var pCount = 0; info.Parameters.ForEach(p => { var deconstructed = new List <IMemberInfo>(); if (DeconstructAttribute.TryDeconstruct(p, ref deconstructed)) { deconstructed.ForEach(o => { sb.Append(ParameterPrinter.Print(o, fileType) + ", "); pCount++; }); } else { sb.Append(ParameterPrinter.Print(p, fileType) + ", "); pCount++; } }); sb.RemoveLastComma(); parameterCount = pCount; return(sb.ToString()); }
public IEnumerable <IMemberInfo> Deconstruct() { if (!HasAttribute <DeconstructAttribute>() && !Type.ImplementsInterface <IDeconstructible>()) { Console.WriteLine("WHAT"); return(null); } var result = new List <IMemberInfo>(); return(DeconstructAttribute.TryDeconstruct(this, ref result) ? result : null); }
private string PrintParameters(CXXFunctionInfo info, CXXFileType fileType) { var sb = new StringBuilder(); info.Parameters.ForEach(p => { var deconstructed = new List <IMemberInfo>(); if (DeconstructAttribute.TryDeconstruct(p, ref deconstructed)) { deconstructed.ForEach(o => { sb.Append(ParameterPrinter.Print(o, fileType) + ", "); }); } else { sb.Append(ParameterPrinter.Print(p, fileType) + ", "); } }); sb.RemoveLastComma(); return(sb.ToString()); }