Ejemplo n.º 1
0
 internal abstract void GenerateSyntax(MemberType type, ISymbol symbol, SyntaxDetail syntax, SymbolVisitorAdapter adapter);
Ejemplo n.º 2
0
 public virtual void DefaultVisit(ISymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter)
 {
 }
Ejemplo n.º 3
0
 internal override void GenerateSyntax(MemberType type, ISymbol symbol, SyntaxDetail syntax, SymbolVisitorAdapter adapter)
 {
     foreach (var generator in _generators)
     {
         generator.GenerateSyntax(type, symbol, syntax, adapter);
     }
 }
Ejemplo n.º 4
0
 internal abstract void GenerateReferenceInternal(ISymbol symbol, ReferenceItem reference, SymbolVisitorAdapter adapter);
Ejemplo n.º 5
0
 protected abstract void GenerateReference(ISymbol symbol, ReferenceItem reference, SymbolVisitorAdapter adapter, bool asOverload);
Ejemplo n.º 6
0
 internal override void GenerateReferenceInternal(ISymbol symbol, ReferenceItem reference, SymbolVisitorAdapter adapter, bool asOverload)
 {
     foreach (var generator in _generators)
     {
         generator.GenerateReferenceInternal(symbol, reference, adapter, asOverload);
     }
 }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
 public virtual void GenerateField(IFieldSymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter)
 {
 }
Ejemplo n.º 9
0
 public virtual void GenerateProperty(IPropertySymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter)
 {
 }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
 internal abstract void GenerateReferenceInternal(ISymbol symbol, ReferenceItem reference, SymbolVisitorAdapter adapter, bool asOverload = false);
Ejemplo n.º 12
0
 internal override sealed void GenerateReferenceInternal(ISymbol symbol, ReferenceItem reference, SymbolVisitorAdapter adapter, bool asOverload)
 {
     GenerateReference(symbol, reference, adapter, asOverload);
 }
Ejemplo n.º 13
0
        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;
        }
Ejemplo n.º 14
0
 public virtual void GenerateNamedType(INamedTypeSymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter)
 {
 }
Ejemplo n.º 15
0
 public override void GenerateNamedType(INamedTypeSymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter)
 {
     foreach (var generator in _generators)
     {
         generator.GenerateNamedType(symbol, item, adapter);
     }
 }
Ejemplo n.º 16
0
 public virtual void GenerateMethod(IMethodSymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter)
 {
 }
Ejemplo n.º 17
0
 public override void GenerateProperty(IPropertySymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter)
 {
     foreach (var generator in _generators)
     {
         generator.GenerateProperty(symbol, item, adapter);
     }
 }
Ejemplo n.º 18
0
 public virtual void GenerateEvent(IEventSymbol symbol, MetadataItem item, SymbolVisitorAdapter adapter)
 {
 }
Ejemplo n.º 19
0
 protected abstract string GetSyntaxContent(MemberType typeKind, ISymbol symbol, SymbolVisitorAdapter adapter);