Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ExtractedStateEntry.cs
- RelationshipType.cs
- ServiceAuthorizationElement.cs
- ObjectQueryState.cs
- DBPropSet.cs
- dbdatarecord.cs
- ContainerSelectorBehavior.cs
- HtmlWindow.cs
- TableLayoutCellPaintEventArgs.cs
- SqlOuterApplyReducer.cs
- CommandLineParser.cs
- DockPanel.cs
- RelatedEnd.cs
- TableRowCollection.cs
- GridToolTip.cs
- Brush.cs
- X509Extension.cs
- DataGridViewTextBoxColumn.cs
- ChineseLunisolarCalendar.cs
- ConstraintStruct.cs
- DataBinding.cs
- CallSiteHelpers.cs
- WebConfigurationFileMap.cs
- TrailingSpaceComparer.cs
- SplitterPanelDesigner.cs
- PeerToPeerException.cs
- XmlBoundElement.cs
- ToolStripComboBox.cs
- RequiredAttributeAttribute.cs
- IndexOutOfRangeException.cs
- ExtentJoinTreeNode.cs
- Exceptions.cs
- NetworkStream.cs
- CustomGrammar.cs
- EditorZoneBase.cs
- UpDownBase.cs
- WinFormsSecurity.cs
- ListViewTableRow.cs
- CacheOutputQuery.cs
- ParallelTimeline.cs
- PageCatalogPart.cs
- FormViewModeEventArgs.cs
- ExpressionDumper.cs
- WebServiceData.cs
- XmlILConstructAnalyzer.cs
- WebPartDisplayModeEventArgs.cs
- HtmlTableRowCollection.cs
- KeyConstraint.cs
- WebPartUtil.cs
- DataGridViewAutoSizeModeEventArgs.cs
- SQLInt32.cs
- OracleParameter.cs
- SchemaObjectWriter.cs
- TemplateColumn.cs
- DiscoveryRequestHandler.cs
- RemoveStoryboard.cs
- TextAnchor.cs
- FormViewUpdatedEventArgs.cs
- DiscriminatorMap.cs
- FontInfo.cs
- GridViewSelectEventArgs.cs
- COAUTHIDENTITY.cs
- UIPropertyMetadata.cs
- RichTextBoxAutomationPeer.cs
- DescendantQuery.cs
- FramingChannels.cs
- XmlFormatReaderGenerator.cs
- DataGridViewCellStyleConverter.cs
- ParserHooks.cs
- SafeMILHandle.cs
- cache.cs
- DesignerOptionService.cs
- WebPartTransformerCollection.cs
- ServiceKnownTypeAttribute.cs
- ConnectionManager.cs
- IisTraceListener.cs
- CompositeDispatchFormatter.cs
- RuleAction.cs
- PagedControl.cs
- RequestCacheValidator.cs
- ToolStripPanel.cs
- VisualBasicExpressionConverter.cs
- LogExtentCollection.cs
- MemberAccessException.cs
- RawKeyboardInputReport.cs
- _HeaderInfo.cs
- IPEndPointCollection.cs
- MetadataException.cs
- CommonXSendMessage.cs
- CompilationSection.cs
- ObjectStorage.cs
- ModuleBuilderData.cs
- DataReceivedEventArgs.cs
- ThrowHelper.cs
- SafeReversePInvokeHandle.cs
- QuaternionRotation3D.cs
- BitmapVisualManager.cs
- OdbcConnectionStringbuilder.cs
- ImageFormatConverter.cs
- DataGridAddNewRow.cs