Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Reflection / Emit / Opcode.cs / 1305376 / Opcode.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //[....] namespace System.Reflection.Emit { using System; using System.Security.Permissions; using System.Diagnostics.Contracts; [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; } } [Pure] public override bool Equals(Object obj) { if (obj is OpCode) return Equals((OpCode)obj); else return false; } [Pure] public bool Equals(OpCode obj) { return obj.m_s1 == m_s1 && obj.m_s2 == m_s2; } [Pure] public static bool operator ==(OpCode a, OpCode b) { return a.Equals(b); } [Pure] 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; using System.Diagnostics.Contracts; [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; } } [Pure] public override bool Equals(Object obj) { if (obj is OpCode) return Equals((OpCode)obj); else return false; } [Pure] public bool Equals(OpCode obj) { return obj.m_s1 == m_s1 && obj.m_s2 == m_s2; } [Pure] public static bool operator ==(OpCode a, OpCode b) { return a.Equals(b); } [Pure] 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
- ListViewInsertedEventArgs.cs
- TransactedBatchingBehavior.cs
- DependentList.cs
- XmlValidatingReaderImpl.cs
- CookielessHelper.cs
- IApplicationTrustManager.cs
- GetRecipientRequest.cs
- FontWeight.cs
- DeferredSelectedIndexReference.cs
- ControlBuilderAttribute.cs
- SqlParameterizer.cs
- SQLRoleProvider.cs
- CodePageUtils.cs
- VirtualizingStackPanel.cs
- ReadOnlyPropertyMetadata.cs
- ElementAction.cs
- TagMapCollection.cs
- XmlTypeMapping.cs
- URLAttribute.cs
- PolyLineSegment.cs
- RichTextBox.cs
- DetectEofStream.cs
- PrimaryKeyTypeConverter.cs
- ItemCheckEvent.cs
- Method.cs
- GenericNameHandler.cs
- ToolZone.cs
- SessionPageStatePersister.cs
- NumericUpDown.cs
- Preprocessor.cs
- RowUpdatedEventArgs.cs
- CreateRefExpr.cs
- WmlPanelAdapter.cs
- ResourcesBuildProvider.cs
- CodeExpressionCollection.cs
- DataObject.cs
- SelectingProviderEventArgs.cs
- OutOfMemoryException.cs
- AnonymousIdentificationModule.cs
- ProviderCommandInfoUtils.cs
- CustomAttributeFormatException.cs
- LoginCancelEventArgs.cs
- AnimationClockResource.cs
- DataGridViewHitTestInfo.cs
- MemberBinding.cs
- TextPenaltyModule.cs
- SafeEventLogReadHandle.cs
- AuthorizationRule.cs
- LinkDesigner.cs
- AsymmetricSignatureFormatter.cs
- DataGridViewCellStyleConverter.cs
- BinaryNode.cs
- SoapInteropTypes.cs
- Composition.cs
- WpfSharedBamlSchemaContext.cs
- FixedTextBuilder.cs
- SecurityContext.cs
- ActionItem.cs
- XamlStream.cs
- BoundField.cs
- FileDialogPermission.cs
- DataControlReferenceCollection.cs
- HyperLinkStyle.cs
- CssStyleCollection.cs
- PreviewPrintController.cs
- Attributes.cs
- EntityTypeEmitter.cs
- CreateParams.cs
- TextInfo.cs
- cookiecontainer.cs
- TextControlDesigner.cs
- ClientSideProviderDescription.cs
- Int64Storage.cs
- securestring.cs
- SchemaObjectWriter.cs
- DateTimeFormatInfo.cs
- BindingWorker.cs
- DataObjectSettingDataEventArgs.cs
- BasicBrowserDialog.cs
- DateTimeFormatInfoScanner.cs
- HandleCollector.cs
- DataGridViewCheckBoxCell.cs
- ToolboxItemFilterAttribute.cs
- XmlHierarchicalDataSourceView.cs
- EtwTrackingBehaviorElement.cs
- WebPartDescription.cs
- TabControlCancelEvent.cs
- ArraySegment.cs
- CqlBlock.cs
- CaseStatement.cs
- RouteValueExpressionBuilder.cs
- DataServiceProviderWrapper.cs
- FrameworkElement.cs
- SecurityCriticalDataForSet.cs
- TypeSystem.cs
- TreeViewAutomationPeer.cs
- HashCodeCombiner.cs
- Point3DCollection.cs
- WebPartExportVerb.cs
- XmlWellformedWriter.cs