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
- EncoderExceptionFallback.cs
- PersonalizationAdministration.cs
- TemplateKey.cs
- SendActivityEventArgs.cs
- Int64Converter.cs
- AppSettingsReader.cs
- IndentTextWriter.cs
- WebPartHeaderCloseVerb.cs
- DesignerAttribute.cs
- TypeExtension.cs
- CodeGotoStatement.cs
- ImageDrawing.cs
- AssociationEndMember.cs
- Set.cs
- ConfigurationSectionGroupCollection.cs
- Rijndael.cs
- Ipv6Element.cs
- PrintPreviewDialog.cs
- Context.cs
- TextViewBase.cs
- FormatConvertedBitmap.cs
- SortQuery.cs
- ToolStripItemImageRenderEventArgs.cs
- DataGridItemAutomationPeer.cs
- Transactions.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- WorkflowExecutor.cs
- ScriptingWebServicesSectionGroup.cs
- InlinedAggregationOperatorEnumerator.cs
- DynamicQueryableWrapper.cs
- SqlInternalConnectionTds.cs
- GridViewRowPresenterBase.cs
- NamespaceCollection.cs
- DbCommandDefinition.cs
- WebScriptMetadataFormatter.cs
- RC2.cs
- ContactManager.cs
- PowerStatus.cs
- _SSPIWrapper.cs
- CompiledQueryCacheEntry.cs
- Rect.cs
- RotateTransform.cs
- ComponentCodeDomSerializer.cs
- DllNotFoundException.cs
- BindingList.cs
- BoolLiteral.cs
- DataBindEngine.cs
- IsolationInterop.cs
- DocumentPageViewAutomationPeer.cs
- ChannelServices.cs
- BufferCache.cs
- ParallelEnumerableWrapper.cs
- ContextBase.cs
- ActiveXContainer.cs
- PropertyEmitterBase.cs
- CustomErrorCollection.cs
- RtfFormatStack.cs
- GridViewUpdateEventArgs.cs
- RemotingConfigParser.cs
- PropertyReferenceExtension.cs
- PackWebResponse.cs
- UInt32Storage.cs
- XmlReflectionImporter.cs
- ToolStripPanelRenderEventArgs.cs
- XmlDomTextWriter.cs
- DescendantBaseQuery.cs
- Vector.cs
- ProgressPage.cs
- UInt32Converter.cs
- Application.cs
- DocumentEventArgs.cs
- UnaryNode.cs
- RouteParametersHelper.cs
- Domain.cs
- CodeGenerator.cs
- ExcCanonicalXml.cs
- DefaultShape.cs
- Cursors.cs
- BitmapDownload.cs
- SqlClientWrapperSmiStreamChars.cs
- ObjectDataSourceEventArgs.cs
- InvalidAsynchronousStateException.cs
- CompositeFontFamily.cs
- RawContentTypeMapper.cs
- SingleAnimationUsingKeyFrames.cs
- TokenDescriptor.cs
- CompiledXpathExpr.cs
- SystemColors.cs
- TemplatePropertyEntry.cs
- XmlSchemaChoice.cs
- ObjectAnimationUsingKeyFrames.cs
- ToolStripLocationCancelEventArgs.cs
- Vector3DCollectionConverter.cs
- PropertyNames.cs
- SqlServer2KCompatibilityCheck.cs
- Label.cs
- Transform.cs
- WebBrowserNavigatedEventHandler.cs
- WebPartZoneCollection.cs