Ejemplo n.º 1
0
        public void Interface_Indexer()
        {
            const string code = @"    
            public interface Interface1 
            {
                string this[int i] { get; set; }
            }
            ";

            CSharpParser parser = new CSharpParser();

            parser.ParseCode(code);

            ICodeRoot codeRoot = parser.CreatedCodeRoot;
            Interface clazz    = (Interface)codeRoot.WalkChildren()[0];

            InterfaceIndexer inter = (InterfaceIndexer)clazz.WalkChildren()[0];

            Assert.That(inter.DataType.ToString(), Is.EqualTo("string"));
            Assert.That(inter.GetAccessor, Is.Not.Null);
            Assert.That(inter.SetAccessor, Is.Not.Null);
            Assert.That(inter.Parameters, Has.Count(1));
            Assert.That(inter.Parameters[0].Name, Is.EqualTo("i"));
            Assert.That(inter.Parameters[0].DataType, Is.EqualTo("int"));
        }
Ejemplo n.º 2
0
        public void InterfaceIndexer()
        {
            Interface        it   = new Interface(controller, "Interface1");
            InterfaceIndexer item = new InterfaceIndexer(controller, new DataType(controller, "int"), false);

            item.Parameters.Add(new Parameter(controller, "float", "f"));
            item.Parameters.Add(new Parameter(controller, "InputObject", "j"));
            Assert.That(item.FullyQualifiedDisplayName, Is.EqualTo("Indexer [float, InputObject]"));

            it.AddChild(item);
            Namespace ns = new Namespace(controller);

            ns.Name = "ns1";
            ns.AddChild(it);

            Assert.That(item.FullyQualifiedDisplayName, Is.EqualTo("ns1.Interface1.Indexer [float, InputObject]"));
        }
 public VBInterfaceIndexerPrinter(InterfaceIndexer obj)
 {
     this.obj = obj;
 }
        public void InterfaceIndexer_Change_DataType()
        {
            InterfaceIndexer merged1 = new InterfaceIndexer(controller);
            InterfaceIndexer merged2 = new InterfaceIndexer(controller);
            InterfaceIndexer merged3 = new InterfaceIndexer(controller);

            DataType type1 = new DataType(controller, DataType1);
            DataType type2 = new DataType(controller, DataType2);

            const string expectedResult = DataType2 + " this []";
            InterfaceIndexer unchanging = new InterfaceIndexer(controller, type1, false);
            InterfaceIndexer changing = new InterfaceIndexer(controller, type2, false);

            Merge_And_Assert(merged1, merged2, merged3, changing, unchanging, expectedResult);
        }
        public void InterfaceIndexer_Add_HasNewKeyword()
        {
            InterfaceIndexer merged1 = new InterfaceIndexer(controller);
            InterfaceIndexer merged2 = new InterfaceIndexer(controller);
            InterfaceIndexer merged3 = new InterfaceIndexer(controller);

            DataType type1 = new DataType(controller, DataType1);
            const string expectedResult = "new " + DataType1 + " this []";
            InterfaceIndexer unchanging = new InterfaceIndexer(controller, type1, false);
            InterfaceIndexer changing = new InterfaceIndexer(controller, type1, true);

            Merge_And_Assert(merged1, merged2, merged3, changing, unchanging, expectedResult);
        }
        public void InterfaceIndexer()
        {
            Interface it = new Interface(controller, "Interface1");
            InterfaceIndexer item = new InterfaceIndexer(controller, new DataType(controller, "int"), false);
            item.Parameters.Add(new Parameter(controller, "float", "f"));
            item.Parameters.Add(new Parameter(controller, "InputObject", "j"));
            Assert.That(item.FullyQualifiedDisplayName, Is.EqualTo("Indexer [float, InputObject]"));

            it.AddChild(item);
            Namespace ns = new Namespace(controller);
            ns.Name = "ns1";
            ns.AddChild(it);

            Assert.That(item.FullyQualifiedDisplayName, Is.EqualTo("ns1.Interface1.Indexer [float, InputObject]"));
        }
Ejemplo n.º 7
0
        private void Process_Interace_Property_Declaration(InterfacePropertyDeclaration node)
        {
            if (node == null) throw new ArgumentNullException("node");

            if (node.IsIndexer)
            {
                InterfaceIndexer inter = new InterfaceIndexer(controller);
                inter.DataType = FormatterUtility.GetDataTypeFromTypeReference(node.ReturnType, document, controller);
                foreach (ParameterDeclaration paramNode in node.Parameters)
                {
                    inter.Parameters.Add(GetParameterFromParameterDeclaration(document, controller, paramNode));
                }

                SetupBaseConstruct(node, inter);
            }
            else
            {
                InterfaceProperty inter = new InterfaceProperty(controller, node.Name.Text);
                inter.DataType = FormatterUtility.GetDataTypeFromTypeReference(node.ReturnType, document, controller);

                SetupBaseConstruct(node, inter);
            }
        }
 public InterfaceIndexerPrinter(InterfaceIndexer obj)
     : base(obj)
 {
     this.obj = obj;
 }
Ejemplo n.º 9
0
 public VBInterfaceIndexerPrinter(InterfaceIndexer obj)
 {
     this.obj = obj;
 }
 public InterfaceIndexerPrinter(InterfaceIndexer obj)
     : base(obj)
 {
     this.obj = obj;
 }