Exemple #1
0
        public BindingOperation Make(Tree <Cell> nameCell)
        {
            var name = nameCell.Value.Text.Trim();

            if (NoOperationIsImpliedBy(name))
            {
                return(new NoBinding());
            }

            if (CheckIsImpliedBy(name))
            {
                return(new CheckBinding(processor, targetProvider, nameCell));
            }

            var memberName = processor.ParseTree <Cell, MemberName>(nameCell);
            var member     = MemberQuery.FindInstance(processor.FindMember, targetProvider,
                                                      new MemberSpecification(memberName, 1));

            if (member == null && newIdentifier.IsStartOf(name))
            {
                string newMemberName = name.Substring(4);
                return(new CreateBinding(processor, adapter, newMemberName));
            }

            return(new InputBinding(processor, targetProvider, nameCell));
        }
Exemple #2
0
        static RuntimeMember GetMethodFromProcessor(object targetInstance, string memberName, int parameterCount)
        {
            var processor = Builder.CellProcessor();

            return(MemberQuery.FindInstance(processor.FindMember, targetInstance,
                                            new MemberSpecification(new MemberName(memberName), parameterCount)));
        }
Exemple #3
0
        [Test] public void GenericMethodWithParmsIsInvoked()
        {
            var member = new MemberName("genericmethodofsystemint32", "genericmethod", new[] { typeof(int) });
            var method = MemberQuery.FindInstance(MemberQuery.FindMember, instance,
                                                  new MemberSpecification(member, 1));

            Assert.IsNotNull(method);
            var result = method.Invoke(new object[] { 123 });

            Assert.AreEqual("sample123", result.Value.ToString());
        }
Exemple #4
0
 RuntimeMember GetMethod(string memberName, int count)
 {
     return(MemberQuery.FindInstance(MemberQuery.FindMember, instance,
                                     new MemberSpecification(new MemberName(memberName), count)));
 }
Exemple #5
0
 [Test] public void MethodwithMatchedParameterNamesIsFound()
 {
     Assert.IsNotNull(MemberQuery.FindInstance(MemberQuery.FindMember, instance,
                                               new MemberSpecification("methodwithparms", 1).WithParameterNames(new [] { "input" })));
 }