Beispiel #1
0
        protected override bool CustomMergeStepInternal(BaseConstruct user, BaseConstruct newgen, BaseConstruct prevgen)
        {
            Destructor userCon = (Destructor)user, newgenCon = (Destructor)newgen, prevgenCon = (Destructor)prevgen;

            // IsExtern
            if (Utility.MergeSingleItem(ref isExtern, userCon.IsExtern, newgenCon.IsExtern, prevgenCon.IsExtern) == false)
            {
                return(false);
            }
            IsExtern = isExtern;             // Triggers the replacement of BodyText if needed.

            return(true);
        }
Beispiel #2
0
 private Destructor(Destructor iiToCopyFrom)
     : base(null)
 {
     iiToCopyFrom.CloneInto(this);
 }
 public VBDestructorPrinter(Destructor obj)
 {
     this.obj = obj;
 }
Beispiel #4
0
 private Destructor(Destructor iiToCopyFrom)
     : base(null)
 {
     iiToCopyFrom.CloneInto(this);
 }
        public void Destructor_Added_Extern()
        {
            const string className = "MyClassName1";
            string expectedResult = String.Format("extern ~{0}();".Replace("\n", Environment.NewLine), className);

            Destructor merged1 = new Destructor(controller);
            Destructor merged2 = new Destructor(controller);
            Destructor merged3 = new Destructor(controller);

            Destructor changing = new Destructor(controller, className);
            changing.IsExtern = true;
            Destructor unchanging = new Destructor(controller, className);

            Merge_And_Assert(merged1, merged2, merged3, changing, unchanging, expectedResult);
        }
Beispiel #6
0
        private void Process_Destructor(DestructorDeclaration node)
        {
            if (node == null) throw new ArgumentNullException("node");

            Destructor destructor = new Destructor(controller);
            destructor.Name = node.Name.Text;
            destructor.IsExtern = (node.Modifiers & Modifiers.Extern) != 0;

            ProcessBodyText(node, destructor, node.Statements, node.Comments);
            destructor.BodyText = formatter.ProcessBodyText(node.Statements, node.Comments, node.BlockStartOffset, node.BlockEndOffset - node.BlockStartOffset);

            SetupBaseConstruct(node, destructor);
        }