Code:
                         / Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- WebBaseEventKeyComparer.cs
 - AutomationPropertyInfo.cs
 - ToolStripItemTextRenderEventArgs.cs
 - XmlBinaryReader.cs
 - UInt32.cs
 - NativeMethodsCLR.cs
 - Misc.cs
 - XmlImplementation.cs
 - ValidationErrorEventArgs.cs
 - RealProxy.cs
 - StrokeNodeData.cs
 - DbQueryCommandTree.cs
 - WebPartConnection.cs
 - Shared.cs
 - StateWorkerRequest.cs
 - ExceptionUtil.cs
 - Hash.cs
 - arabicshape.cs
 - BooleanToSelectiveScrollingOrientationConverter.cs
 - WindowsAuthenticationEventArgs.cs
 - BitmapEffectDrawingContextState.cs
 - NavigationWindowAutomationPeer.cs
 - SiteMapSection.cs
 - TableCell.cs
 - SqlFunctions.cs
 - ImageAttributes.cs
 - PointHitTestParameters.cs
 - SymLanguageVendor.cs
 - TypeSystemProvider.cs
 - XamlBrushSerializer.cs
 - DesignerTransactionCloseEvent.cs
 - AssemblyBuilderData.cs
 - LinqToSqlWrapper.cs
 - WebPartsPersonalization.cs
 - NamedPipeTransportManager.cs
 - Maps.cs
 - NativeActivityAbortContext.cs
 - EventsTab.cs
 - ZeroOpNode.cs
 - OciHandle.cs
 - PenThreadWorker.cs
 - RegularExpressionValidator.cs
 - COM2PropertyPageUITypeConverter.cs
 - SmiEventSink.cs
 - WebPartEditVerb.cs
 - SoapSchemaImporter.cs
 - SignerInfo.cs
 - InfoCardRSAPKCS1KeyExchangeDeformatter.cs
 - XmlArrayAttribute.cs
 - WebPartManagerInternals.cs
 - _HelperAsyncResults.cs
 - SupportingTokenProviderSpecification.cs
 - TextEditorParagraphs.cs
 - DesignerSelectionListAdapter.cs
 - WebConfigurationManager.cs
 - IconConverter.cs
 - ScriptDescriptor.cs
 - _SingleItemRequestCache.cs
 - DateTime.cs
 - Permission.cs
 - StackSpiller.Generated.cs
 - ResolvedKeyFrameEntry.cs
 - HttpListenerRequest.cs
 - DateTimeStorage.cs
 - FontStyleConverter.cs
 - HierarchicalDataBoundControlAdapter.cs
 - DataGridViewAutoSizeColumnsModeEventArgs.cs
 - LockedBorderGlyph.cs
 - ColorTranslator.cs
 - ComponentEvent.cs
 - GraphicsState.cs
 - RefExpr.cs
 - MoveSizeWinEventHandler.cs
 - ToolStripItemEventArgs.cs
 - FlowDocumentView.cs
 - QilCloneVisitor.cs
 - DataGridCellAutomationPeer.cs
 - UserControlBuildProvider.cs
 - ReachPrintTicketSerializerAsync.cs
 - BreakRecordTable.cs
 - CompositeDispatchFormatter.cs
 - GuidConverter.cs
 - OrderPreservingPipeliningSpoolingTask.cs
 - ClientSettingsSection.cs
 - ValidationContext.cs
 - SessionIDManager.cs
 - Resources.Designer.cs
 - ErrorReporting.cs
 - Point4DValueSerializer.cs
 - GPRECT.cs
 - basevalidator.cs
 - SubMenuStyleCollectionEditor.cs
 - ToolbarAUtomationPeer.cs
 - DoubleStorage.cs
 - AssociationType.cs
 - BindingMAnagerBase.cs
 - WinEventHandler.cs
 - WorkflowServiceNamespace.cs
 - EditorZoneDesigner.cs
 - BasicViewGenerator.cs