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
- ElementHostAutomationPeer.cs
- PathParser.cs
- ProxyWebPartConnectionCollection.cs
- OracleNumber.cs
- PathGeometry.cs
- CustomErrorCollection.cs
- HierarchicalDataSourceControl.cs
- ShortcutKeysEditor.cs
- SQLDecimal.cs
- DataPagerFieldCommandEventArgs.cs
- SafeUserTokenHandle.cs
- LZCodec.cs
- HttpProfileBase.cs
- PageContent.cs
- SmtpMail.cs
- GraphicsContainer.cs
- QilInvoke.cs
- UserNamePasswordServiceCredential.cs
- FormViewModeEventArgs.cs
- GCHandleCookieTable.cs
- HashCodeCombiner.cs
- NumberFormatInfo.cs
- Schema.cs
- NodeInfo.cs
- ChangePasswordDesigner.cs
- ComplexBindingPropertiesAttribute.cs
- User.cs
- safelink.cs
- OperandQuery.cs
- CommonDialog.cs
- ObjectDataSource.cs
- WebRequestModulesSection.cs
- ProvidersHelper.cs
- VirtualizedItemProviderWrapper.cs
- InternalPolicyElement.cs
- ScrollBar.cs
- ReferenceConverter.cs
- RuleSettings.cs
- UriExt.cs
- PartBasedPackageProperties.cs
- ComponentGuaranteesAttribute.cs
- WindowInteractionStateTracker.cs
- PageParser.cs
- SecureUICommand.cs
- HeaderedContentControl.cs
- ExceptionRoutedEventArgs.cs
- StreamGeometry.cs
- GeneratedView.cs
- CompiledQuery.cs
- ErrorRuntimeConfig.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- StackOverflowException.cs
- GridViewColumn.cs
- CompositeFontInfo.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- BufferedReadStream.cs
- ServerValidateEventArgs.cs
- ToolboxComponentsCreatingEventArgs.cs
- BitmapPalette.cs
- SqlUDTStorage.cs
- OleDbWrapper.cs
- ConfigurationManagerInternal.cs
- EnumUnknown.cs
- Attributes.cs
- NavigationProgressEventArgs.cs
- DayRenderEvent.cs
- ObjectDataSourceSelectingEventArgs.cs
- UIElementParaClient.cs
- ListSourceHelper.cs
- ServiceHandle.cs
- ADMembershipUser.cs
- IncrementalHitTester.cs
- SystemException.cs
- ToolStripContainer.cs
- WebPartConnectionsConfigureVerb.cs
- BindingList.cs
- RemotingConfiguration.cs
- AQNBuilder.cs
- RangeValidator.cs
- WindowsTokenRoleProvider.cs
- ConfigurationSettings.cs
- CodeAssignStatement.cs
- ObjectSet.cs
- GenericsInstances.cs
- ConnectionStringEditor.cs
- MyContact.cs
- FileChangesMonitor.cs
- XmlIlVisitor.cs
- XmlAttributeCollection.cs
- SourceFileBuildProvider.cs
- DataGridViewHeaderCell.cs
- CredentialSelector.cs
- StorageModelBuildProvider.cs
- SafeThemeHandle.cs
- ResourceKey.cs
- PhoneCallDesigner.cs
- MemberCollection.cs
- TokenizerHelper.cs
- ToolStripArrowRenderEventArgs.cs
- FilteredDataSetHelper.cs