internal abstract void GenerateSyntax(MemberType type, ISymbol symbol, SyntaxDetail syntax, SymbolVisitorAdapter adapter);
public virtual void DefaultVisit(ISymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter) { }
internal override void GenerateSyntax(MemberType type, ISymbol symbol, SyntaxDetail syntax, SymbolVisitorAdapter adapter) { foreach (var generator in _generators) { generator.GenerateSyntax(type, symbol, syntax, adapter); } }
internal abstract void GenerateReferenceInternal(ISymbol symbol, ReferenceItem reference, SymbolVisitorAdapter adapter);
protected abstract void GenerateReference(ISymbol symbol, ReferenceItem reference, SymbolVisitorAdapter adapter, bool asOverload);
internal override void GenerateReferenceInternal(ISymbol symbol, ReferenceItem reference, SymbolVisitorAdapter adapter, bool asOverload) { foreach (var generator in _generators) { generator.GenerateReferenceInternal(symbol, reference, adapter, asOverload); } }
internal string AddOverloadReference(ISymbol symbol, Dictionary <string, ReferenceItem> references, SymbolVisitorAdapter adapter) { string uidBody = VisitorHelper.GetOverloadIdBody(symbol); ReferenceItem reference = new ReferenceItem { Parts = new SortedList <SyntaxLanguage, List <LinkItem> >(), IsDefinition = true, CommentId = "Overload:" + uidBody }; GenerateReferenceInternal(symbol, reference, adapter, true); var uid = uidBody + "*"; if (!references.ContainsKey(uid)) { references[uid] = reference; } else { references[uid].Merge(reference); } return(uid); }
public virtual void GenerateField(IFieldSymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter) { }
public virtual void GenerateProperty(IPropertySymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter) { }
internal string AddReference(ISymbol symbol, Dictionary <string, ReferenceItem> references, SymbolVisitorAdapter adapter) { var id = VisitorHelper.GetId(symbol); ReferenceItem reference = new ReferenceItem { Parts = new SortedList <SyntaxLanguage, List <LinkItem> >(), IsDefinition = symbol.IsDefinition, CommentId = VisitorHelper.GetCommentId(symbol) }; GenerateReferenceInternal(symbol, reference, adapter); if (!references.ContainsKey(id)) { references[id] = reference; } else { references[id].Merge(reference); } return(id); }
internal abstract void GenerateReferenceInternal(ISymbol symbol, ReferenceItem reference, SymbolVisitorAdapter adapter, bool asOverload = false);
internal override sealed void GenerateReferenceInternal(ISymbol symbol, ReferenceItem reference, SymbolVisitorAdapter adapter, bool asOverload) { GenerateReference(symbol, reference, adapter, asOverload); }
internal override sealed void GenerateSyntax(MemberType type, ISymbol symbol, SyntaxDetail syntax, SymbolVisitorAdapter adapter) { string syntaxStr = GetSyntaxContent(type, symbol, adapter); Debug.Assert(!string.IsNullOrEmpty(syntaxStr)); if (string.IsNullOrEmpty(syntaxStr)) { return; } syntax.Content[Language] = syntaxStr; }
public virtual void GenerateNamedType(INamedTypeSymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter) { }
public override void GenerateNamedType(INamedTypeSymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter) { foreach (var generator in _generators) { generator.GenerateNamedType(symbol, item, adapter); } }
public virtual void GenerateMethod(IMethodSymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter) { }
public override void GenerateProperty(IPropertySymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter) { foreach (var generator in _generators) { generator.GenerateProperty(symbol, item, adapter); } }
public virtual void GenerateEvent(IEventSymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter) { }
protected abstract string GetSyntaxContent(MemberType typeKind, ISymbol symbol, SymbolVisitorAdapter adapter);