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
- WindowsFormsSynchronizationContext.cs
- EnumUnknown.cs
- DataReceivedEventArgs.cs
- ProjectionNode.cs
- Gdiplus.cs
- BamlStream.cs
- SocketPermission.cs
- ClientConfigurationSystem.cs
- XpsDocumentEvent.cs
- ActivityMarkupSerializer.cs
- SubstitutionResponseElement.cs
- DPCustomTypeDescriptor.cs
- Configuration.cs
- _LoggingObject.cs
- EventProviderWriter.cs
- MetadataUtil.cs
- _FtpDataStream.cs
- HttpModuleAction.cs
- AuthenticationModeHelper.cs
- MultiView.cs
- VectorAnimationUsingKeyFrames.cs
- ValueUtilsSmi.cs
- GenericEnumerator.cs
- BoundPropertyEntry.cs
- SharedUtils.cs
- HostingEnvironmentException.cs
- FontEmbeddingManager.cs
- MatrixKeyFrameCollection.cs
- ComboBox.cs
- ChangeDirector.cs
- ChangeNode.cs
- CellPartitioner.cs
- ScrollChrome.cs
- ComplexPropertyEntry.cs
- DebuggerAttributes.cs
- MailAddressCollection.cs
- ModelVisual3D.cs
- LocatorBase.cs
- RoleGroup.cs
- ToolStripSeparatorRenderEventArgs.cs
- ModelItemDictionaryImpl.cs
- PrintingPermissionAttribute.cs
- DoubleLink.cs
- LinqDataSourceValidationException.cs
- GridViewEditEventArgs.cs
- Stack.cs
- SignatureToken.cs
- AuthorizationRuleCollection.cs
- Intellisense.cs
- HttpBrowserCapabilitiesBase.cs
- ResourceReader.cs
- MatrixAnimationBase.cs
- HtmlDocument.cs
- CodeParameterDeclarationExpressionCollection.cs
- XmlChildEnumerator.cs
- LinkConverter.cs
- FontFamily.cs
- XPathException.cs
- CompositionAdorner.cs
- WorkflowRequestContext.cs
- DefaultBindingPropertyAttribute.cs
- BaseCAMarshaler.cs
- CopyAction.cs
- dsa.cs
- SqlMethodAttribute.cs
- Terminate.cs
- Rotation3DAnimationBase.cs
- TagPrefixCollection.cs
- TraceHandler.cs
- DocumentPaginator.cs
- GuidConverter.cs
- CookielessData.cs
- UnicodeEncoding.cs
- DBCommand.cs
- SchemaImporterExtension.cs
- CertificateManager.cs
- SizeAnimationBase.cs
- XPathScanner.cs
- InstanceDataCollectionCollection.cs
- PersianCalendar.cs
- ReplacementText.cs
- MetadataSerializer.cs
- StringBuilder.cs
- ScriptHandlerFactory.cs
- User.cs
- PassportIdentity.cs
- PolyQuadraticBezierSegment.cs
- QilName.cs
- Attributes.cs
- VisualTarget.cs
- KoreanCalendar.cs
- SubpageParagraph.cs
- CacheEntry.cs
- AnnotationDocumentPaginator.cs
- RootBrowserWindow.cs
- NavigationPropertyAccessor.cs
- MimeWriter.cs
- SpecularMaterial.cs
- AdRotator.cs
- ProxyElement.cs