Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- BitmapEncoder.cs
- EntityKey.cs
- SyndicationElementExtension.cs
- AccessDataSource.cs
- PhysicalOps.cs
- WebPartConnectionsConfigureVerb.cs
- Policy.cs
- DataMemberFieldEditor.cs
- Type.cs
- ListBindingHelper.cs
- CompilerHelpers.cs
- ToolStripPanelRow.cs
- GridViewCellAutomationPeer.cs
- SpecularMaterial.cs
- DesignerProperties.cs
- RecordBuilder.cs
- SafeArrayRankMismatchException.cs
- ArrayConverter.cs
- BitmapEffectDrawing.cs
- RewritingProcessor.cs
- XmlCountingReader.cs
- BlockCollection.cs
- RepeaterCommandEventArgs.cs
- COAUTHINFO.cs
- SwitchLevelAttribute.cs
- SplitterPanel.cs
- EdmTypeAttribute.cs
- Baml2006ReaderFrame.cs
- RegistrySecurity.cs
- QilExpression.cs
- StylusPoint.cs
- DataObjectMethodAttribute.cs
- IntegerCollectionEditor.cs
- DataTableCollection.cs
- BrushValueSerializer.cs
- SystemInformation.cs
- ArraySortHelper.cs
- TransformGroup.cs
- TextReturnReader.cs
- PropertyGridEditorPart.cs
- ListViewGroupCollectionEditor.cs
- DrawingState.cs
- RegistrySecurity.cs
- SupportsPreviewControlAttribute.cs
- CurrentTimeZone.cs
- ValidationEventArgs.cs
- DataGridColumnsPage.cs
- OdbcParameter.cs
- CodeSnippetExpression.cs
- SubMenuStyleCollection.cs
- StaticFileHandler.cs
- SubstitutionResponseElement.cs
- TextLineResult.cs
- TemplatePagerField.cs
- Timer.cs
- _SslStream.cs
- GZipStream.cs
- UnmanagedMemoryStreamWrapper.cs
- x509store.cs
- DbConnectionStringBuilder.cs
- SQLChars.cs
- GlobalAclOperationRequirement.cs
- HostExecutionContextManager.cs
- ClusterRegistryConfigurationProvider.cs
- DateTimeOffsetAdapter.cs
- SchemaImporterExtensionElementCollection.cs
- Package.cs
- DropShadowBitmapEffect.cs
- Update.cs
- QuaternionConverter.cs
- TypeDelegator.cs
- XmlText.cs
- EpmTargetPathSegment.cs
- DragDropHelper.cs
- DuplicateWaitObjectException.cs
- SimpleApplicationHost.cs
- SizeLimitedCache.cs
- FixedTextBuilder.cs
- EnumMemberAttribute.cs
- GenericTypeParameterBuilder.cs
- Array.cs
- MonitoringDescriptionAttribute.cs
- Regex.cs
- Monitor.cs
- RawStylusSystemGestureInputReport.cs
- MarshalByRefObject.cs
- OdbcRowUpdatingEvent.cs
- ListViewCancelEventArgs.cs
- RegexReplacement.cs
- JulianCalendar.cs
- ContentDisposition.cs
- CursorInteropHelper.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- DiagnosticsConfigurationHandler.cs
- Vector3D.cs
- ApplicationId.cs
- XmlSchemaSimpleTypeList.cs
- ImageDrawing.cs
- WindowsNonControl.cs
- DbParameterHelper.cs