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
- BoundField.cs
- HandleValueEditor.cs
- SqlClientWrapperSmiStream.cs
- ParentUndoUnit.cs
- BitmapEffectGroup.cs
- Tuple.cs
- embossbitmapeffect.cs
- SplineQuaternionKeyFrame.cs
- LocalIdKeyIdentifierClause.cs
- _HTTPDateParse.cs
- RoutingBehavior.cs
- CodeAccessPermission.cs
- CanExecuteRoutedEventArgs.cs
- TypeInfo.cs
- AVElementHelper.cs
- AtomicFile.cs
- Translator.cs
- DataRelation.cs
- XmlWriter.cs
- PolyQuadraticBezierSegment.cs
- oledbconnectionstring.cs
- PrinterResolution.cs
- ComponentConverter.cs
- ExclusiveTcpListener.cs
- ItemList.cs
- ConsumerConnectionPointCollection.cs
- TranslateTransform.cs
- PathFigureCollection.cs
- FrameworkReadOnlyPropertyMetadata.cs
- TypeConverterAttribute.cs
- SqlCrossApplyToCrossJoin.cs
- IisTraceListener.cs
- ServiceBuildProvider.cs
- Polygon.cs
- PageScaling.cs
- SiteMapNode.cs
- EntityViewGenerationConstants.cs
- CombinedTcpChannel.cs
- xmlsaver.cs
- FixedSOMContainer.cs
- XDRSchema.cs
- IODescriptionAttribute.cs
- XmlQueryCardinality.cs
- PathFigureCollectionValueSerializer.cs
- ThemeDictionaryExtension.cs
- StagingAreaInputItem.cs
- SettingsSection.cs
- DesignerOptionService.cs
- CodeDomSerializerBase.cs
- Canvas.cs
- SQLInt16.cs
- FixedNode.cs
- KeyNotFoundException.cs
- BasicSecurityProfileVersion.cs
- TextAnchor.cs
- XmlSchemaAttribute.cs
- AuthStoreRoleProvider.cs
- WebHttpBehavior.cs
- mediaeventshelper.cs
- LogEntrySerialization.cs
- ResXDataNode.cs
- WebDisplayNameAttribute.cs
- LinkButton.cs
- PrimaryKeyTypeConverter.cs
- EntityWrapper.cs
- TypeSystem.cs
- _HeaderInfo.cs
- FileDialogCustomPlace.cs
- ToolStripSystemRenderer.cs
- AliasGenerator.cs
- Splitter.cs
- DataContext.cs
- RepeatInfo.cs
- SystemIcmpV4Statistics.cs
- PatternMatchRules.cs
- UndoManager.cs
- InstallHelper.cs
- ChangePasswordAutoFormat.cs
- OutputScopeManager.cs
- OleDbMetaDataFactory.cs
- NullableLongAverageAggregationOperator.cs
- DBParameter.cs
- UnsafeNativeMethods.cs
- IndexedDataBuffer.cs
- DocumentPageViewAutomationPeer.cs
- ContextDataSourceView.cs
- MLangCodePageEncoding.cs
- MsmqBindingElementBase.cs
- SystemIPv6InterfaceProperties.cs
- Timer.cs
- SqlDataSourceRefreshSchemaForm.cs
- DispatcherTimer.cs
- KnownTypesProvider.cs
- SimpleWebHandlerParser.cs
- MSG.cs
- DispatcherSynchronizationContext.cs
- CacheModeValueSerializer.cs
- FormattedTextSymbols.cs
- StringUtil.cs
- KnownTypeDataContractResolver.cs