Пример #1
0
        public override void VisitCrefParameterList(CrefParameterListSyntax node)
        {
            foreach (CrefParameterSyntax parameter in node.Parameters)
            {
                parameter.Accept(this);
            }

            base.VisitCrefParameterList(node);
        }
Пример #2
0
 public new void AddChildren()
 {
     base.AddChildren();
     Kind                 = Node.Kind();
     _name                = ((NameMemberCrefSyntax)Node).Name;
     _nameIsChanged       = false;
     _parameters          = ((NameMemberCrefSyntax)Node).Parameters;
     _parametersIsChanged = false;
 }
Пример #3
0
        public override Evaluation VisitCrefParameterList(CrefParameterListSyntax node)
        {
            foreach (CrefParameterSyntax parameter in node.Parameters)
            {
                parameter.Accept <Evaluation>(this);
            }

            return(base.VisitCrefParameterList(node));
        }
 public new void AddChildren()
 {
     base.AddChildren();
     Kind                      = Node.Kind();
     _operatorKeyword          = ((OperatorMemberCrefSyntax)Node).OperatorKeyword;
     _operatorKeywordIsChanged = false;
     _operatorToken            = ((OperatorMemberCrefSyntax)Node).OperatorToken;
     _operatorTokenIsChanged   = false;
     _parameters               = ((OperatorMemberCrefSyntax)Node).Parameters;
     _parametersIsChanged      = false;
 }
Пример #5
0
 public new void AddChildren()
 {
     base.AddChildren();
     Kind = Node.Kind();
     _implicitOrExplicitKeyword          = ((ConversionOperatorMemberCrefSyntax)Node).ImplicitOrExplicitKeyword;
     _implicitOrExplicitKeywordIsChanged = false;
     _operatorKeyword          = ((ConversionOperatorMemberCrefSyntax)Node).OperatorKeyword;
     _operatorKeywordIsChanged = false;
     _type                = ((ConversionOperatorMemberCrefSyntax)Node).Type;
     _typeIsChanged       = false;
     _parameters          = ((ConversionOperatorMemberCrefSyntax)Node).Parameters;
     _parametersIsChanged = false;
 }
Пример #6
0
        public override void VisitCrefParameterList(CrefParameterListSyntax node)
        {
            if (!PreVisit(node))
            {
                return;
            }

            foreach (CrefParameterSyntax parameter in node.Parameters)
            {
                parameter.Accept(this);
            }

            base.VisitCrefParameterList(node);

            PostVisit(node);
        }
Пример #7
0
        // NOTE: not guaranteed to be a method (e.g. class op_Addition)
        // NOTE: constructor fallback logic applies
        private ImmutableArray <Symbol> BindOperatorMemberCref(OperatorMemberCrefSyntax syntax, NamespaceOrTypeSymbol containerOpt, out Symbol ambiguityWinner, DiagnosticBag diagnostics)
        {
            const int arity = 0;

            CrefParameterListSyntax parameterListSyntax = syntax.Parameters;

            // NOTE: Prefer binary to unary, unless there is exactly one parameter.
            // CONSIDER: we're following dev11 by never using a binary operator name if there's
            // exactly one parameter, but doing so would allow us to match single-parameter constructors.
            SyntaxKind operatorTokenKind = syntax.OperatorToken.Kind();
            string     memberName        = parameterListSyntax != null && parameterListSyntax.Parameters.Count == 1
                ? null
                : OperatorFacts.BinaryOperatorNameFromSyntaxKindIfAny(operatorTokenKind);

            memberName = memberName ?? OperatorFacts.UnaryOperatorNameFromSyntaxKindIfAny(operatorTokenKind);

            if (memberName == null)
            {
                ambiguityWinner = null;
                return(ImmutableArray <Symbol> .Empty);
            }

            ImmutableArray <Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, memberName, arity, syntax.Parameters != null, diagnostics);

            if (sortedSymbols.IsEmpty)
            {
                ambiguityWinner = null;
                return(ImmutableArray <Symbol> .Empty);
            }

            return(ProcessCrefMemberLookupResults(
                       sortedSymbols,
                       arity,
                       syntax,
                       typeArgumentListSyntax: null,
                       parameterListSyntax: parameterListSyntax,
                       ambiguityWinner: out ambiguityWinner,
                       diagnostics: diagnostics));
        }
Пример #8
0
 public override void VisitCrefParameterList(CrefParameterListSyntax node)
 {
     Debug.Fail(node.ToString());
     base.VisitCrefParameterList(node);
 }
 //
 // Summary:
 //     Called when the visitor visits a CrefParameterListSyntax node.
 public virtual void VisitCrefParameterList(CrefParameterListSyntax node);
Пример #10
0
 public override UstNode VisitCrefParameterList(CrefParameterListSyntax node)
 {
     return(base.VisitCrefParameterList(node));
 }
Пример #11
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="node"></param>
 public override sealed void VisitCrefParameterList(CrefParameterListSyntax node)
 {
     this.OnNodeVisited(node);
     if (!this.traverseRootOnly) base.VisitCrefParameterList(node);
 }
Пример #12
0
 public override void VisitCrefParameterList(CrefParameterListSyntax node)
 {
     throw new NotImplementedException();
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="node"></param>
 public override sealed void VisitCrefParameterList(CrefParameterListSyntax node)
 {
     this.OnNodeVisited(node, this.type.IsInstanceOfType(node));
     base.VisitCrefParameterList(node);
 }
Пример #14
0
 public override void VisitCrefParameterList(CrefParameterListSyntax node)
 {
     Log(node, "Unsupported Syntax !");
 }
Пример #15
0
 public override void VisitCrefParameterList(CrefParameterListSyntax node)
 {
 }
 public TameCrefParameterListSyntax(CrefParameterListSyntax node)
 {
     Node = node;
     AddChildren();
 }
Пример #17
0
 public override SyntaxNode VisitCrefParameterList(CrefParameterListSyntax node)
 {
     node = (CrefParameterListSyntax)base.VisitCrefParameterList(node);
     Classes.Add(node);
     return(node);
 }
Пример #18
0
 public override void VisitCrefParameterList(CrefParameterListSyntax node) => base.VisitCrefParameterList(node);