Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Common / Utils / Boolean / Literal.cs / 2 / Literal.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
using System.Globalization;
using System.Collections.ObjectModel;
using System.Diagnostics;
namespace System.Data.Common.Utils.Boolean
{
///
/// Represents a literal in a normal form expression of the form:
///
/// Term
///
/// or
///
/// !Term
///
///
internal sealed class Literal : NormalFormNode,
IEquatable>
{
private readonly TermExpr _term;
private readonly bool _isTermPositive;
///
/// Initialize a new literal.
///
/// Term
/// Sign of term
internal Literal(TermExpr term, bool isTermPositive)
: base(isTermPositive ? (BoolExpr)term : (BoolExpr)new NotExpr(term))
{
Debug.Assert(null != term);
_term = term;
_isTermPositive = isTermPositive;
}
///
/// Gets literal term.
///
internal TermExpr Term
{
get { return _term; }
}
///
/// Gets sign of term.
///
internal bool IsTermPositive
{
get { return _isTermPositive; }
}
///
/// Creates a negated version of this literal.
///
/// !this
internal Literal MakeNegated()
{
return IdentifierService.Instance.NegateLiteral(this);
}
public override string ToString()
{
return StringUtil.FormatInvariant("{0}{1}",
_isTermPositive ? String.Empty : "!",
_term);
}
public override bool Equals(object obj)
{
Debug.Fail("use typed Equals");
return Equals(obj as Literal);
}
public bool Equals(Literal other)
{
return null != other &&
other._isTermPositive == _isTermPositive &&
other._term.Equals(_term);
}
public override int GetHashCode()
{
return _term.GetHashCode();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
using System.Globalization;
using System.Collections.ObjectModel;
using System.Diagnostics;
namespace System.Data.Common.Utils.Boolean
{
///
/// Represents a literal in a normal form expression of the form:
///
/// Term
///
/// or
///
/// !Term
///
///
internal sealed class Literal : NormalFormNode,
IEquatable>
{
private readonly TermExpr _term;
private readonly bool _isTermPositive;
///
/// Initialize a new literal.
///
/// Term
/// Sign of term
internal Literal(TermExpr term, bool isTermPositive)
: base(isTermPositive ? (BoolExpr)term : (BoolExpr)new NotExpr(term))
{
Debug.Assert(null != term);
_term = term;
_isTermPositive = isTermPositive;
}
///
/// Gets literal term.
///
internal TermExpr Term
{
get { return _term; }
}
///
/// Gets sign of term.
///
internal bool IsTermPositive
{
get { return _isTermPositive; }
}
///
/// Creates a negated version of this literal.
///
/// !this
internal Literal MakeNegated()
{
return IdentifierService.Instance.NegateLiteral(this);
}
public override string ToString()
{
return StringUtil.FormatInvariant("{0}{1}",
_isTermPositive ? String.Empty : "!",
_term);
}
public override bool Equals(object obj)
{
Debug.Fail("use typed Equals");
return Equals(obj as Literal);
}
public bool Equals(Literal other)
{
return null != other &&
other._isTermPositive == _isTermPositive &&
other._term.Equals(_term);
}
public override int GetHashCode()
{
return _term.GetHashCode();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Tracking.cs
- TcpHostedTransportConfiguration.cs
- Pointer.cs
- Transactions.cs
- AuthenticationException.cs
- StringTraceRecord.cs
- MsmqDiagnostics.cs
- FlowDocument.cs
- UnicodeEncoding.cs
- Cursor.cs
- CompilerParameters.cs
- PackageDigitalSignatureManager.cs
- DataGridDesigner.cs
- InvalidCastException.cs
- shaper.cs
- TaiwanCalendar.cs
- XmlSchemaCompilationSettings.cs
- BuildProvidersCompiler.cs
- XPathNavigator.cs
- TextMarkerSource.cs
- PreservationFileWriter.cs
- AddInContractAttribute.cs
- SplitterEvent.cs
- MimeParameter.cs
- Run.cs
- ViewGenerator.cs
- COM2IDispatchConverter.cs
- MembershipPasswordException.cs
- BitmapEffect.cs
- PrintController.cs
- AttributeEmitter.cs
- HierarchicalDataBoundControl.cs
- SpecialFolderEnumConverter.cs
- FontSource.cs
- SchemaTypeEmitter.cs
- IndependentAnimationStorage.cs
- ObjectViewQueryResultData.cs
- XmlSchemaRedefine.cs
- HandleRef.cs
- BindableAttribute.cs
- XhtmlBasicTextBoxAdapter.cs
- TextParagraphCache.cs
- TypeGeneratedEventArgs.cs
- SectionInput.cs
- DataBoundLiteralControl.cs
- WSDualHttpBinding.cs
- SafeThemeHandle.cs
- UserInitiatedNavigationPermission.cs
- AppDomain.cs
- ReversePositionQuery.cs
- XsdValidatingReader.cs
- DataRelationPropertyDescriptor.cs
- BuildResultCache.cs
- CqlParser.cs
- WebEventTraceProvider.cs
- ConnectionStringsExpressionBuilder.cs
- MappingModelBuildProvider.cs
- SlotInfo.cs
- MethodExpression.cs
- XmlCustomFormatter.cs
- XslNumber.cs
- Lease.cs
- UpdatePanelTriggerCollection.cs
- BreakRecordTable.cs
- DbgUtil.cs
- ProtectedProviderSettings.cs
- WebBrowser.cs
- StringValidator.cs
- Rotation3DAnimationUsingKeyFrames.cs
- PropertyChangedEventManager.cs
- DocumentSchemaValidator.cs
- PopOutPanel.cs
- WindowsSysHeader.cs
- WindowsAuthenticationEventArgs.cs
- RemotingAttributes.cs
- Context.cs
- XmlHelper.cs
- HotSpotCollection.cs
- CodeCastExpression.cs
- CriticalExceptions.cs
- PropertyKey.cs
- ProcessRequestArgs.cs
- AsymmetricSignatureFormatter.cs
- FrameworkElement.cs
- SHA1.cs
- TraceProvider.cs
- BamlVersionHeader.cs
- SizeConverter.cs
- MetadataElement.cs
- CultureMapper.cs
- DateTimeValueSerializer.cs
- QilUnary.cs
- SlipBehavior.cs
- HtmlTableRow.cs
- _CommandStream.cs
- AsyncDataRequest.cs
- OracleDateTime.cs
- HostingEnvironmentSection.cs
- ItemCheckedEvent.cs
- MappingSource.cs