Ejemplo n.º 1
0
        public override ISourceElement Locate()
        {
            var typeNode = new TypeNodeLocator(_root, _syntax.Type).Locate() as TypeNode;

            if (typeNode == null)
            {
                throw new SourceLinkLocateException($"Could not Locate TypeNode: { _syntax.Type }");
            }

            return(typeNode.GetMembers(_syntax.Identifier.Identifier)
                   .OfType <FieldMember>().Single(x => TypeStructureComparer.CompareTypes(x.Identifier, _syntax.Identifier)));
        }
Ejemplo n.º 2
0
        public override ISourceElement Locate()
        {
            var typeNode = new TypeNodeLocator(_root, _syntax.Type).Locate() as TypeNode;

            if (typeNode == null)
            {
                throw new SourceLinkLocateException($"Could not Locate TypeNode: { _syntax.Type }");
            }

            // TODO: Fix this to work with explicitly implemented properties!
            return(typeNode.GetMembers(_syntax.Identifier.Identifier)
                   .OfType <PropertyMember>()
                   .Single(x => TypeStructureComparer.CompareTypes(x.Identifier, _syntax.Identifier)));
        }
        public override ISourceElement Locate()
        {
            var typeNode = new TypeNodeLocator(_root, _syntax.Type).Locate() as TypeNode;

            if (typeNode == null)
            {
                throw new SourceLinkLocateException($"Could not Locate TypeNode: { _syntax.Type }");
            }

            return(typeNode
                   .GetMembers(_syntax.Identifier.Identifier)
                   .OfType <MethodMember>()
                   .Single(x => (x?.TypeArguments?.Length ?? 0) == _syntax.TypeArguments && MethodArgumentsAreEqual(x.Parameters)));
        }