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
- ToolStripButton.cs
- ImageList.cs
- NullRuntimeConfig.cs
- MaskDesignerDialog.cs
- StrokeNode.cs
- IsolatedStorage.cs
- securitycriticaldataformultiplegetandset.cs
- PathFigure.cs
- FlowNode.cs
- TransformProviderWrapper.cs
- PenContexts.cs
- CombinedGeometry.cs
- RefreshPropertiesAttribute.cs
- WebRequestModuleElementCollection.cs
- CallTemplateAction.cs
- KnownBoxes.cs
- AutomationPropertyInfo.cs
- SqlRowUpdatedEvent.cs
- RedirectionProxy.cs
- HttpWebRequest.cs
- BCLDebug.cs
- TextRangeEditTables.cs
- EastAsianLunisolarCalendar.cs
- ClientViaElement.cs
- RequestCache.cs
- UpdatePanelControlTrigger.cs
- SplitterPanel.cs
- ListContractAdapter.cs
- BinaryMethodMessage.cs
- GPRECTF.cs
- ObjectContext.cs
- DefaultPropertyAttribute.cs
- WebPartVerbCollection.cs
- DefaultAssemblyResolver.cs
- SvcMapFileLoader.cs
- EdmItemError.cs
- DataSourceXmlTextReader.cs
- AutomationAttributeInfo.cs
- MainMenu.cs
- TcpProcessProtocolHandler.cs
- BoundField.cs
- GeometryModel3D.cs
- PerformanceCounters.cs
- CqlBlock.cs
- DPCustomTypeDescriptor.cs
- TextChange.cs
- XmlEncoding.cs
- KnowledgeBase.cs
- LayoutEvent.cs
- ToolStripTextBox.cs
- SQLMoneyStorage.cs
- MediaPlayerState.cs
- ObjectAnimationUsingKeyFrames.cs
- GenericAuthenticationEventArgs.cs
- IdnElement.cs
- GenericUI.cs
- TypeResolvingOptionsAttribute.cs
- TrackBar.cs
- AuthorizationSection.cs
- QueryStoreStatusRequest.cs
- Queue.cs
- DocumentPageView.cs
- _SslState.cs
- dataSvcMapFileLoader.cs
- GPPOINTF.cs
- FlagPanel.cs
- documentsequencetextcontainer.cs
- StartUpEventArgs.cs
- CachedFontFamily.cs
- TypeElement.cs
- CaseInsensitiveHashCodeProvider.cs
- MemberMaps.cs
- XsdCachingReader.cs
- DataSourceSelectArguments.cs
- ApplyTemplatesAction.cs
- FormatterServices.cs
- NotifyInputEventArgs.cs
- InputBindingCollection.cs
- XmlIgnoreAttribute.cs
- Rotation3DAnimationUsingKeyFrames.cs
- SpecularMaterial.cs
- XmlSchemaSimpleTypeRestriction.cs
- ExpressionConverter.cs
- oledbmetadatacolumnnames.cs
- TCPClient.cs
- WindowsTokenRoleProvider.cs
- Set.cs
- CustomError.cs
- LineMetrics.cs
- ServiceModelReg.cs
- Attributes.cs
- ResourceAssociationSetEnd.cs
- XmlChildNodes.cs
- InternalBufferOverflowException.cs
- CustomCategoryAttribute.cs
- SystemGatewayIPAddressInformation.cs
- __Filters.cs
- ObjectViewEntityCollectionData.cs
- XPathParser.cs
- Encoder.cs