Пример #1
0
		private IIndexedNodeWithRange NewNodeForConstraint(QConJoin join)
		{
			IIndexedNodeWithRange c1 = NodeForConstraint(join.Constraint1());
			IIndexedNodeWithRange c2 = NodeForConstraint(join.Constraint2());
			if (join.IsOr())
			{
				return new OrIndexedLeaf(FindLeafForJoin(join), c1, c2);
			}
			return new AndIndexedLeaf(join.Constraint1(), c1, c2);
		}
Пример #2
0
		private QCon FindLeafForJoin(QConJoin join)
		{
			if (join.Constraint1() is QConObject)
			{
				return join.Constraint1();
			}
			QCon con = join.Constraint2();
			if (con is QConObject)
			{
				return con;
			}
			return FindLeafForJoin((QConJoin)con);
		}
Пример #3
0
		private void CollectLeavesFromJoin(Collection4 leaves, QConJoin join)
		{
			CollectLeavesFromJoinConstraint(leaves, join.Constraint1());
			CollectLeavesFromJoinConstraint(leaves, join.Constraint2());
		}