Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / BCL / System / Reflection / Emit / Opcode.cs / 1 / Opcode.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== namespace System.Reflection.Emit { using System; using System.Security.Permissions; [System.Runtime.InteropServices.ComVisible(true)] public struct OpCode { internal String m_stringname; internal StackBehaviour m_pop; internal StackBehaviour m_push; internal OperandType m_operand; internal OpCodeType m_type; internal int m_size; internal byte m_s1; internal byte m_s2; internal FlowControl m_ctrl; // Specifies whether the current instructions causes the control flow to // change unconditionally. internal bool m_endsUncondJmpBlk; // Specifies the stack change that the current instruction causes not // taking into account the operand dependant stack changes. internal int m_stackChange; internal OpCode(String stringname, StackBehaviour pop, StackBehaviour push, OperandType operand, OpCodeType type, int size, byte s1, byte s2, FlowControl ctrl, bool endsjmpblk, int stack) { m_stringname = stringname; m_pop = pop; m_push = push; m_operand = operand; m_type = type; m_size = size; m_s1 = s1; m_s2 = s2; m_ctrl = ctrl; m_endsUncondJmpBlk = endsjmpblk; m_stackChange = stack; } internal bool EndsUncondJmpBlk() { return m_endsUncondJmpBlk; } internal int StackChange() { return m_stackChange; } public OperandType OperandType { get { return (m_operand); } } public FlowControl FlowControl { get { return (m_ctrl); } } public OpCodeType OpCodeType { get { return (m_type); } } public StackBehaviour StackBehaviourPop { get { return (m_pop); } } public StackBehaviour StackBehaviourPush { get { return (m_push); } } public int Size { get { return (m_size); } } public short Value { get { if (m_size == 2) return (short) (m_s1 << 8 | m_s2); return (short) m_s2; } } public String Name { get { return m_stringname; } } public override bool Equals(Object obj) { if (obj is OpCode) return Equals((OpCode)obj); else return false; } public bool Equals(OpCode obj) { return obj.m_s1 == m_s1 && obj.m_s2 == m_s2; } public static bool operator ==(OpCode a, OpCode b) { return a.Equals(b); } public static bool operator !=(OpCode a, OpCode b) { return !(a == b); } public override int GetHashCode() { return this.m_stringname.GetHashCode(); } public override String ToString() { return m_stringname; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== namespace System.Reflection.Emit { using System; using System.Security.Permissions; [System.Runtime.InteropServices.ComVisible(true)] public struct OpCode { internal String m_stringname; internal StackBehaviour m_pop; internal StackBehaviour m_push; internal OperandType m_operand; internal OpCodeType m_type; internal int m_size; internal byte m_s1; internal byte m_s2; internal FlowControl m_ctrl; // Specifies whether the current instructions causes the control flow to // change unconditionally. internal bool m_endsUncondJmpBlk; // Specifies the stack change that the current instruction causes not // taking into account the operand dependant stack changes. internal int m_stackChange; internal OpCode(String stringname, StackBehaviour pop, StackBehaviour push, OperandType operand, OpCodeType type, int size, byte s1, byte s2, FlowControl ctrl, bool endsjmpblk, int stack) { m_stringname = stringname; m_pop = pop; m_push = push; m_operand = operand; m_type = type; m_size = size; m_s1 = s1; m_s2 = s2; m_ctrl = ctrl; m_endsUncondJmpBlk = endsjmpblk; m_stackChange = stack; } internal bool EndsUncondJmpBlk() { return m_endsUncondJmpBlk; } internal int StackChange() { return m_stackChange; } public OperandType OperandType { get { return (m_operand); } } public FlowControl FlowControl { get { return (m_ctrl); } } public OpCodeType OpCodeType { get { return (m_type); } } public StackBehaviour StackBehaviourPop { get { return (m_pop); } } public StackBehaviour StackBehaviourPush { get { return (m_push); } } public int Size { get { return (m_size); } } public short Value { get { if (m_size == 2) return (short) (m_s1 << 8 | m_s2); return (short) m_s2; } } public String Name { get { return m_stringname; } } public override bool Equals(Object obj) { if (obj is OpCode) return Equals((OpCode)obj); else return false; } public bool Equals(OpCode obj) { return obj.m_s1 == m_s1 && obj.m_s2 == m_s2; } public static bool operator ==(OpCode a, OpCode b) { return a.Equals(b); } public static bool operator !=(OpCode a, OpCode b) { return !(a == b); } public override int GetHashCode() { return this.m_stringname.GetHashCode(); } public override String ToString() { return m_stringname; } } } // 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
- AutomationElementCollection.cs
- WpfSharedBamlSchemaContext.cs
- XhtmlMobileTextWriter.cs
- versioninfo.cs
- ObjectListTitleAttribute.cs
- QueryableFilterUserControl.cs
- TypeUtil.cs
- RootProfilePropertySettingsCollection.cs
- PerfCounterSection.cs
- ApplicationHost.cs
- PackUriHelper.cs
- SelectionItemPattern.cs
- ProgressBarRenderer.cs
- OleDbPermission.cs
- ZipPackagePart.cs
- ToolStripContentPanel.cs
- XmlElementAttribute.cs
- DebugHandleTracker.cs
- AttributeProviderAttribute.cs
- bidPrivateBase.cs
- SqlSelectStatement.cs
- Process.cs
- XmlElementElementCollection.cs
- InternalsVisibleToAttribute.cs
- FileBasedResourceGroveler.cs
- LingerOption.cs
- __ConsoleStream.cs
- SafeMILHandleMemoryPressure.cs
- UrlPropertyAttribute.cs
- SelectionGlyphBase.cs
- WebPartZoneCollection.cs
- FlagsAttribute.cs
- SpAudioStreamWrapper.cs
- Itemizer.cs
- MailHeaderInfo.cs
- SkipQueryOptionExpression.cs
- MemberCollection.cs
- PackWebRequest.cs
- XpsS0ValidatingLoader.cs
- TableCellCollection.cs
- WindowsPrincipal.cs
- And.cs
- TextTrailingWordEllipsis.cs
- PolyLineSegmentFigureLogic.cs
- DesignerCategoryAttribute.cs
- CaseInsensitiveComparer.cs
- CurrentChangingEventManager.cs
- ValidationError.cs
- StrongNamePublicKeyBlob.cs
- StreamGeometryContext.cs
- EventLogReader.cs
- TaskExtensions.cs
- WindowsToolbar.cs
- XmlNamespaceMapping.cs
- SharedStream.cs
- ContractInferenceHelper.cs
- BezierSegment.cs
- ManipulationDevice.cs
- x509utils.cs
- RemotingSurrogateSelector.cs
- LeafCellTreeNode.cs
- InvalidOleVariantTypeException.cs
- SqlPersonalizationProvider.cs
- MonthChangedEventArgs.cs
- Clause.cs
- ConfigPathUtility.cs
- TrustManagerMoreInformation.cs
- PageCodeDomTreeGenerator.cs
- CharacterHit.cs
- CachedCompositeFamily.cs
- AssociationSetEnd.cs
- CustomWebEventKey.cs
- XmlNavigatorFilter.cs
- TaskForm.cs
- FragmentNavigationEventArgs.cs
- ServiceObjectContainer.cs
- EventItfInfo.cs
- ListBoxAutomationPeer.cs
- PseudoWebRequest.cs
- CopyOnWriteList.cs
- RequestNavigateEventArgs.cs
- ReferencedCollectionType.cs
- DataGridViewBand.cs
- DbConnectionHelper.cs
- CatalogPartCollection.cs
- SymLanguageVendor.cs
- BitmapEffectState.cs
- QueueNameHelper.cs
- RightsManagementInformation.cs
- AnnouncementDispatcherAsyncResult.cs
- PlaceHolder.cs
- StylusCollection.cs
- Int32CollectionValueSerializer.cs
- WebPartConnectionsDisconnectVerb.cs
- PersistenceIOParticipant.cs
- EntityKey.cs
- SessionPageStatePersister.cs
- IProvider.cs
- WS2007HttpBinding.cs
- SymbolMethod.cs