Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / Utils / Boolean / Literal.cs / 1305376 / 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
- InternalConfigHost.cs
- FontDriver.cs
- SymbolDocumentInfo.cs
- RecognizeCompletedEventArgs.cs
- NumericUpDownAcceleration.cs
- PenContext.cs
- StreamWriter.cs
- BorderGapMaskConverter.cs
- DataGridViewCellStyleEditor.cs
- SwitchLevelAttribute.cs
- PenLineCapValidation.cs
- XmlSerializationGeneratedCode.cs
- MemoryStream.cs
- CollectionBuilder.cs
- HttpCookieCollection.cs
- ConnectorMovedEventArgs.cs
- SelectionProviderWrapper.cs
- ClientFormsIdentity.cs
- XsdDateTime.cs
- StyleSheetComponentEditor.cs
- EdgeModeValidation.cs
- OleDbCommand.cs
- AliasExpr.cs
- SafeSecurityHelper.cs
- EpmAttributeNameBuilder.cs
- FilteredReadOnlyMetadataCollection.cs
- ConstructorNeedsTagAttribute.cs
- EncryptionUtility.cs
- ZeroOpNode.cs
- SplayTreeNode.cs
- InkCollectionBehavior.cs
- BlurBitmapEffect.cs
- BuildProvider.cs
- DependencyPropertyConverter.cs
- XmlComment.cs
- QueryExpression.cs
- EventLogEntry.cs
- MessageSecurityVersionConverter.cs
- StorageEntityTypeMapping.cs
- AudioDeviceOut.cs
- OutputCacheModule.cs
- PartialCachingAttribute.cs
- EntityTransaction.cs
- FontClient.cs
- FontDifferentiator.cs
- FontTypeConverter.cs
- GlyphCache.cs
- TableCellCollection.cs
- GridView.cs
- DataGridViewMethods.cs
- PipelineModuleStepContainer.cs
- RenameRuleObjectDialog.cs
- AuthenticationService.cs
- RequestSecurityToken.cs
- KnownBoxes.cs
- BitmapMetadataBlob.cs
- Crypto.cs
- IntegerValidator.cs
- DependencyPropertyValueSerializer.cs
- HierarchicalDataSourceControl.cs
- NavigationService.cs
- ClientCultureInfo.cs
- HtmlLink.cs
- SqlProfileProvider.cs
- ScriptResourceAttribute.cs
- DistinctQueryOperator.cs
- IPEndPointCollection.cs
- GenerateHelper.cs
- processwaithandle.cs
- CursorConverter.cs
- GroupBoxDesigner.cs
- CqlGenerator.cs
- Utils.cs
- ValueHandle.cs
- WebServiceAttribute.cs
- LocalBuilder.cs
- Convert.cs
- XmlText.cs
- SplitContainer.cs
- WizardDesigner.cs
- HttpDebugHandler.cs
- DataGridPageChangedEventArgs.cs
- BamlLocalizationDictionary.cs
- ToolTipService.cs
- ImageSourceConverter.cs
- MultipartIdentifier.cs
- DataView.cs
- SchemaDeclBase.cs
- SqlVersion.cs
- ParserHooks.cs
- WindowShowOrOpenTracker.cs
- RegistrationServices.cs
- tooltip.cs
- DataGridViewBindingCompleteEventArgs.cs
- TextRangeEditLists.cs
- SoapElementAttribute.cs
- Point3DCollectionConverter.cs
- WsatConfiguration.cs
- BindingContext.cs
- BuildProviderCollection.cs