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); }
private Destructor(Destructor iiToCopyFrom) : base(null) { iiToCopyFrom.CloneInto(this); }
public VBDestructorPrinter(Destructor obj) { this.obj = obj; }
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); }
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); }