Code:
/ FX-1434 / FX-1434 / 1.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
- ApplicationException.cs
- ToolStripSettings.cs
- ParsedAttributeCollection.cs
- RemoteWebConfigurationHost.cs
- MatrixTransform3D.cs
- WebPartEditorOkVerb.cs
- DataGridViewHitTestInfo.cs
- DescendentsWalkerBase.cs
- GenericUriParser.cs
- TrustLevel.cs
- RadioButtonRenderer.cs
- SemanticValue.cs
- DescendentsWalker.cs
- HttpCachePolicy.cs
- LinkConverter.cs
- TextTreeExtractElementUndoUnit.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- mansign.cs
- CacheSection.cs
- EntityStoreSchemaFilterEntry.cs
- Separator.cs
- BuildResultCache.cs
- RadioButtonFlatAdapter.cs
- MessageOperationFormatter.cs
- ChangeNode.cs
- ClientCultureInfo.cs
- CustomSignedXml.cs
- ToolStripCollectionEditor.cs
- HtmlGenericControl.cs
- EmptyCollection.cs
- WorkflowDispatchContext.cs
- UpdatePanelTriggerCollection.cs
- DockPanel.cs
- TypeContext.cs
- LostFocusEventManager.cs
- WebPartCancelEventArgs.cs
- configsystem.cs
- PolyLineSegment.cs
- SqlClientWrapperSmiStreamChars.cs
- CloudCollection.cs
- DeviceSpecificDesigner.cs
- ThreadAbortException.cs
- XmlSortKeyAccumulator.cs
- ItemsControlAutomationPeer.cs
- TransactionOptions.cs
- ExeContext.cs
- OrthographicCamera.cs
- PeerCustomResolverBindingElement.cs
- Rect.cs
- ToolTipService.cs
- ExpressionWriter.cs
- DataGridViewLinkColumn.cs
- BaseResourcesBuildProvider.cs
- SqlFunctions.cs
- NativeWindow.cs
- ForwardPositionQuery.cs
- SmtpException.cs
- SymDocumentType.cs
- TableHeaderCell.cs
- ProgressiveCrcCalculatingStream.cs
- ContextConfiguration.cs
- HierarchicalDataBoundControlAdapter.cs
- SQLResource.cs
- Inflater.cs
- ServerIdentity.cs
- EventDescriptor.cs
- DataTableClearEvent.cs
- ColorMatrix.cs
- RoleGroup.cs
- SerialPinChanges.cs
- ItemDragEvent.cs
- BatchParser.cs
- WinEventTracker.cs
- VariableDesigner.xaml.cs
- Application.cs
- FormViewCommandEventArgs.cs
- SplitterPanel.cs
- OleDbConnectionInternal.cs
- RadioButtonFlatAdapter.cs
- PkcsMisc.cs
- AuthenticationModulesSection.cs
- RoleBoolean.cs
- DoubleLink.cs
- RoutedEventHandlerInfo.cs
- WebServiceHost.cs
- XmlWriterTraceListener.cs
- Interlocked.cs
- CodeTypeReference.cs
- DataGridRowHeaderAutomationPeer.cs
- MessageSmuggler.cs
- WebPartConnectionsConnectVerb.cs
- NavigatorOutput.cs
- AuthenticationManager.cs
- ADMembershipProvider.cs
- SvcMapFile.cs
- DBCommandBuilder.cs
- TextTreeFixupNode.cs
- BasicHttpMessageSecurityElement.cs
- MetafileHeader.cs
- IpcClientManager.cs