public override TypePrinterResult VisitFieldDecl(Field field) { var cSharpSourcesDummy = new CSharpSources(Context, new List <TranslationUnit>()); var safeIdentifier = cSharpSourcesDummy.SafeIdentifier(field.Name); if (safeIdentifier.All(c => c.Equals('_'))) { safeIdentifier = cSharpSourcesDummy.SafeIdentifier(field.Name); } PushMarshalKind(MarshalKind.NativeField); var fieldTypePrinted = field.QualifiedType.Visit(this); PopMarshalKind(); var returnTypePrinter = new TypePrinterResult(); if (!string.IsNullOrWhiteSpace(fieldTypePrinted.NameSuffix)) { returnTypePrinter.NameSuffix = fieldTypePrinted.NameSuffix; } returnTypePrinter.Type = $"{fieldTypePrinted.Type} {safeIdentifier}"; return(returnTypePrinter); }
private string SafeIdentifier(string id) => Options.IsCLIGenerator ? id : CSharpSources.SafeIdentifier(id);