コード例 #1
0
ファイル: OperationNode.cs プロジェクト: harnold/cobe
        public override bool Cover(
            OperationNode patternOp, CoveringInfo coveringInfo)
        {
            bool result = false;

            if (IsCoverableWith(patternOp)) {

                UnaryOperationNode unaryPatternOp = (UnaryOperationNode) patternOp;

                if (OperandValue.Cover(unaryPatternOp.OperandValue, coveringInfo)) {
                    coveringInfo.CoveredOperations.Add(this);
                    result = true;
                }
            }

            return result;
        }
コード例 #2
0
ファイル: OperationNode.cs プロジェクト: harnold/cobe
 public abstract bool Cover(
     OperationNode patternOp, CoveringInfo coveringInfo);
コード例 #3
0
ファイル: OperationNode.cs プロジェクト: harnold/cobe
 public virtual bool IsCoverableWith(OperationNode patternOp)
 {
     return this.OperationType == patternOp.OperationType;
 }
コード例 #4
0
ファイル: OperationNode.cs プロジェクト: harnold/cobe
        public override bool Cover(
            OperationNode patternOp, CoveringInfo coveringInfo)
        {
            bool result = false;

            if (IsCoverableWith(patternOp)) {

                BinaryOperationNode binaryPatternOp =
                    (BinaryOperationNode) patternOp;

                if (LeftOperandValue.Cover(binaryPatternOp.LeftOperandValue,
                                           coveringInfo) &&
                    RightOperandValue.Cover(binaryPatternOp.RightOperandValue,
                                            coveringInfo)) {

                    coveringInfo.CoveredOperations.Add(this);
                    result = true;
                }
            }

            return result;
        }