コード例 #1
0
		public override void VisitLeave(NotPredicate expression)
		{
			IsMatchPredicate local = _matchStack.Pop();
			_matchStack.Push(
				delegate(IInputIterator iterator)
				{
					_disableCapturingGroup.Push(true);

					_xmlDisableBackReferencePop.Push(true);

					Boolean result = true;
					Int32 savePosition = iterator.Index;
					if (!local(iterator))
					{
						iterator.Index = savePosition;
						result &= true;
					}
					else
					{
						iterator.Index = savePosition;
						result &= false;
					}

					_xmlDisableBackReferencePop.Pop();

					_disableCapturingGroup.Pop();

					return result;
				}
			);
		}
コード例 #2
0
		public override void VisitEnter(NotPredicate expression)
		{
		}
コード例 #3
0
		public override void VisitExecute(NotPredicate expression)
		{
		}
コード例 #4
0
		public override void VisitLeave(NotPredicate expression)
		{
			terminal.Peek().Append(")");
		}
コード例 #5
0
		public override void VisitEnter(NotPredicate expression)
		{
			terminal.Peek().Append("!(");
		}
コード例 #6
0
 public abstract void VisitExecute(NotPredicate expression);
コード例 #7
0
 public abstract void VisitEnter(NotPredicate expression);
コード例 #8
0
 public abstract void VisitLeave(NotPredicate expression);