Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- DocumentPropertiesDialog.cs
- GroupBoxRenderer.cs
- CloseSequence.cs
- XmlSiteMapProvider.cs
- DataSourceCacheDurationConverter.cs
- WorkflowNamespace.cs
- PriorityRange.cs
- XhtmlBasicLabelAdapter.cs
- SqlCommand.cs
- SoapWriter.cs
- ContextMenuStripActionList.cs
- InvalidDataException.cs
- DataRow.cs
- HandleRef.cs
- SequenceNumber.cs
- SqlWorkflowPersistenceService.cs
- TextLineResult.cs
- ButtonDesigner.cs
- CollectionViewGroup.cs
- CompilerTypeWithParams.cs
- EncoderExceptionFallback.cs
- LoginDesigner.cs
- Point3DConverter.cs
- HttpResponse.cs
- ProfileGroupSettings.cs
- AttachedPropertyBrowsableAttribute.cs
- MemberBinding.cs
- TileBrush.cs
- FontEmbeddingManager.cs
- GenerateTemporaryTargetAssembly.cs
- ConstructorExpr.cs
- TextTreeRootTextBlock.cs
- ChannelTraceRecord.cs
- PanelStyle.cs
- VideoDrawing.cs
- GradientBrush.cs
- SourceFileBuildProvider.cs
- BrowsableAttribute.cs
- CustomBindingCollectionElement.cs
- AdornerHitTestResult.cs
- NullToBooleanConverter.cs
- BaseTreeIterator.cs
- HtmlButton.cs
- RectIndependentAnimationStorage.cs
- WindowsListViewGroup.cs
- ScriptingScriptResourceHandlerSection.cs
- ClientFactory.cs
- ValueCollectionParameterReader.cs
- DesignerView.Commands.cs
- DesignerActionKeyboardBehavior.cs
- InstanceKeyNotReadyException.cs
- XmlNodeReader.cs
- TreeViewItemAutomationPeer.cs
- SqlError.cs
- XmlDownloadManager.cs
- _NTAuthentication.cs
- RevocationPoint.cs
- AttachedAnnotation.cs
- InvalidChannelBindingException.cs
- AppDomainFactory.cs
- DesignerActionVerbList.cs
- OutputCacheProfile.cs
- NativeMethods.cs
- DateTimeConverter.cs
- QilScopedVisitor.cs
- RequestCacheManager.cs
- SQLCharsStorage.cs
- GridViewSortEventArgs.cs
- ObjectDataSourceFilteringEventArgs.cs
- ContentElement.cs
- FixedTextPointer.cs
- EastAsianLunisolarCalendar.cs
- TimeZone.cs
- PeerToPeerException.cs
- EditableTreeList.cs
- CompositeFontFamily.cs
- Transform.cs
- IpcServerChannel.cs
- NamespaceExpr.cs
- DrawingCollection.cs
- WMIInterop.cs
- UnsafeNativeMethods.cs
- StreamingContext.cs
- PasswordTextContainer.cs
- DataGridTableCollection.cs
- ExpandedWrapper.cs
- tooltip.cs
- StrongNameMembershipCondition.cs
- SessionEndingEventArgs.cs
- Html32TextWriter.cs
- Font.cs
- BamlLocalizationDictionary.cs
- MissingFieldException.cs
- ServiceHost.cs
- CodeTypeParameter.cs
- MessagePropertyVariants.cs
- ExecutionContext.cs
- Bold.cs
- Membership.cs
- SchemaElement.cs