Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- GeometryValueSerializer.cs
- XPathNavigatorKeyComparer.cs
- HttpsHostedTransportConfiguration.cs
- XmlWrappingReader.cs
- ValidationError.cs
- DrawItemEvent.cs
- ClientConfigurationSystem.cs
- RootBrowserWindowAutomationPeer.cs
- UIElementParagraph.cs
- SelectorAutomationPeer.cs
- AttributeSetAction.cs
- Range.cs
- IISUnsafeMethods.cs
- InputMethodStateTypeInfo.cs
- XmlDocumentSurrogate.cs
- SimpleRecyclingCache.cs
- EntityStoreSchemaGenerator.cs
- TerminatorSinks.cs
- LogEntryHeaderSerializer.cs
- BaseDataList.cs
- ResourceReader.cs
- PolicyLevel.cs
- XmlSerializer.cs
- FrameworkElementAutomationPeer.cs
- WebBrowserUriTypeConverter.cs
- XmlSerializerVersionAttribute.cs
- ExtensionsSection.cs
- ModuleConfigurationInfo.cs
- Error.cs
- LogicalMethodInfo.cs
- DataGridViewCellEventArgs.cs
- ControlBuilderAttribute.cs
- SafeBitVector32.cs
- ResourcesChangeInfo.cs
- ColumnWidthChangingEvent.cs
- MemoryPressure.cs
- DelegateArgumentReference.cs
- MediaElementAutomationPeer.cs
- HighlightComponent.cs
- RotateTransform3D.cs
- Dynamic.cs
- TraceContextEventArgs.cs
- DataBindingValueUIHandler.cs
- ValidationErrorEventArgs.cs
- XmlSchemaAny.cs
- CriticalHandle.cs
- ComponentManagerBroker.cs
- SizeF.cs
- TextTreeTextBlock.cs
- ToolStripStatusLabel.cs
- ObjectAssociationEndMapping.cs
- AssemblyInfo.cs
- RuntimeEnvironment.cs
- SimpleWorkerRequest.cs
- XmlHierarchyData.cs
- XmlAggregates.cs
- TextTreeText.cs
- SecurityTokenProvider.cs
- DataGridClipboardHelper.cs
- UIHelper.cs
- WmlTextViewAdapter.cs
- ImageMapEventArgs.cs
- Rfc4050KeyFormatter.cs
- Underline.cs
- ContainerFilterService.cs
- StringPropertyBuilder.cs
- RbTree.cs
- DuplicateWaitObjectException.cs
- SQLMembershipProvider.cs
- SmiGettersStream.cs
- DataGridAutoFormatDialog.cs
- EventLogPermission.cs
- Duration.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- PngBitmapDecoder.cs
- TabOrder.cs
- QilIterator.cs
- TypeElement.cs
- TriggerActionCollection.cs
- DesignerDataSchemaClass.cs
- XmlILOptimizerVisitor.cs
- SafeEventLogWriteHandle.cs
- QilName.cs
- AppSecurityManager.cs
- IgnoreFileBuildProvider.cs
- StylusButtonCollection.cs
- PageCatalogPart.cs
- NewArrayExpression.cs
- NotSupportedException.cs
- OperationAbortedException.cs
- SQLRoleProvider.cs
- DrawingState.cs
- ParagraphResult.cs
- EmptyControlCollection.cs
- ElementNotAvailableException.cs
- Errors.cs
- NavigationWindowAutomationPeer.cs
- WebConfigurationHost.cs
- ControlCodeDomSerializer.cs
- DeferredTextReference.cs