Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- SecurityKeyIdentifierClause.cs
- UriExt.cs
- VectorCollection.cs
- SecurityRuntime.cs
- StreamWriter.cs
- RefreshPropertiesAttribute.cs
- SizeAnimationUsingKeyFrames.cs
- ActionNotSupportedException.cs
- InstanceView.cs
- AllMembershipCondition.cs
- CompositionAdorner.cs
- TypeReference.cs
- ListDataHelper.cs
- CodeMethodReturnStatement.cs
- WpfSharedBamlSchemaContext.cs
- DetailsViewModeEventArgs.cs
- DataGridTableCollection.cs
- OneOf.cs
- XamlParser.cs
- IInstanceTable.cs
- wgx_sdk_version.cs
- TimeIntervalCollection.cs
- NavigationCommands.cs
- SatelliteContractVersionAttribute.cs
- PartitionedStream.cs
- ColumnMapVisitor.cs
- ColorConvertedBitmap.cs
- COM2PictureConverter.cs
- AttributeData.cs
- TemplateComponentConnector.cs
- ProbeMatches11.cs
- InputChannelAcceptor.cs
- ContextMenuStrip.cs
- ADMembershipUser.cs
- QilUnary.cs
- DragDeltaEventArgs.cs
- PagesChangedEventArgs.cs
- ComplexBindingPropertiesAttribute.cs
- ArgumentNullException.cs
- CodeCommentStatementCollection.cs
- ExceptionTrace.cs
- MSHTMLHost.cs
- SqlDataSourceCustomCommandEditor.cs
- ZipFileInfoCollection.cs
- TCEAdapterGenerator.cs
- XmlLinkedNode.cs
- XmlDictionaryReaderQuotas.cs
- DataGridViewLayoutData.cs
- BuildDependencySet.cs
- errorpatternmatcher.cs
- UInt32Storage.cs
- TableSectionStyle.cs
- DateTimeOffset.cs
- StylusEventArgs.cs
- WaitForChangedResult.cs
- WindowsEditBoxRange.cs
- ToolboxItem.cs
- HttpContextBase.cs
- ListViewHitTestInfo.cs
- HttpListenerException.cs
- TemplateControl.cs
- TextBoxRenderer.cs
- MetadataCollection.cs
- _NegoStream.cs
- RuntimeArgumentHandle.cs
- ContainerUIElement3D.cs
- DBCommandBuilder.cs
- DefinitionProperties.cs
- EntitySqlQueryCacheEntry.cs
- PeerEndPoint.cs
- SchemaConstraints.cs
- GridViewEditEventArgs.cs
- TableColumn.cs
- DataChangedEventManager.cs
- MessageProperties.cs
- ViewEvent.cs
- WebPartAuthorizationEventArgs.cs
- SingleConverter.cs
- WorkerRequest.cs
- PersonalizationDictionary.cs
- AggregateException.cs
- OutputCacheSection.cs
- MembershipSection.cs
- HtmlContainerControl.cs
- SplashScreenNativeMethods.cs
- TextTreeExtractElementUndoUnit.cs
- TypeExtensions.cs
- NameValuePermission.cs
- SiteOfOriginPart.cs
- Int16.cs
- InkCanvasSelection.cs
- Translator.cs
- SystemFonts.cs
- DesignTimeTemplateParser.cs
- WebServiceParameterData.cs
- ListBase.cs
- DbSourceCommand.cs
- InkCanvas.cs
- ColumnHeaderConverter.cs
- ServiceOperationInfoTypeConverter.cs