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
- BuildProviderAppliesToAttribute.cs
- StringValueConverter.cs
- TemplatedAdorner.cs
- BitmapEffectGeneralTransform.cs
- TokenBasedSetEnumerator.cs
- Container.cs
- BitmapSourceSafeMILHandle.cs
- Exceptions.cs
- ClientSettings.cs
- ProviderBase.cs
- odbcmetadatacollectionnames.cs
- BaseDataBoundControl.cs
- TextServicesDisplayAttribute.cs
- RoleService.cs
- StateValidator.cs
- WebBaseEventKeyComparer.cs
- BaseServiceProvider.cs
- DoubleAnimationClockResource.cs
- ConfigPathUtility.cs
- FilteredXmlReader.cs
- BatchServiceHost.cs
- ListenerSingletonConnectionReader.cs
- WsrmTraceRecord.cs
- ListViewPagedDataSource.cs
- HttpMethodConstraint.cs
- ErrorStyle.cs
- ComAdminInterfaces.cs
- SmiRequestExecutor.cs
- ListView.cs
- URLIdentityPermission.cs
- Type.cs
- ConfigXmlSignificantWhitespace.cs
- ConstraintCollection.cs
- DesignerEditorPartChrome.cs
- ElementProxy.cs
- NameValueSectionHandler.cs
- SessionPageStatePersister.cs
- SqlCacheDependencySection.cs
- MorphHelper.cs
- SimpleHandlerFactory.cs
- ObjectListDesigner.cs
- DragCompletedEventArgs.cs
- TemplateBaseAction.cs
- ErrorReporting.cs
- PerfService.cs
- TextProperties.cs
- thaishape.cs
- BezierSegment.cs
- messageonlyhwndwrapper.cs
- SEHException.cs
- RelationshipType.cs
- AdornerPresentationContext.cs
- MediaElement.cs
- EncryptedXml.cs
- SaveFileDialog.cs
- _DisconnectOverlappedAsyncResult.cs
- SourceElementsCollection.cs
- Operand.cs
- CodeVariableReferenceExpression.cs
- AppPool.cs
- DataGridViewColumnHeaderCell.cs
- ViewGenerator.cs
- BitFlagsGenerator.cs
- HttpCacheVary.cs
- XamlTreeBuilderBamlRecordWriter.cs
- Propagator.Evaluator.cs
- CqlGenerator.cs
- IfAction.cs
- _NegotiateClient.cs
- TreeNodeBindingCollection.cs
- BindingExpressionUncommonField.cs
- UnionExpr.cs
- ToolStripManager.cs
- Convert.cs
- SqlDataAdapter.cs
- SchemaLookupTable.cs
- ToolStripItemBehavior.cs
- XmlUtf8RawTextWriter.cs
- FileDialog_Vista.cs
- DataSetFieldSchema.cs
- KeyGestureConverter.cs
- DeclarativeCatalogPart.cs
- TextMarkerSource.cs
- SolidColorBrush.cs
- TraceSection.cs
- MbpInfo.cs
- DataColumnMappingCollection.cs
- DurableServiceAttribute.cs
- XPathPatternParser.cs
- HwndAppCommandInputProvider.cs
- FontNamesConverter.cs
- X509Certificate2.cs
- RootDesignerSerializerAttribute.cs
- AsyncParams.cs
- DataGridViewCellConverter.cs
- BamlLocalizationDictionary.cs
- EntityProviderFactory.cs
- FormView.cs
- TextTabProperties.cs
- keycontainerpermission.cs