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
- IsolatedStorageFile.cs
- SqlDataSourceView.cs
- XamlSerializerUtil.cs
- HtmlSelect.cs
- SqlConnectionStringBuilder.cs
- Version.cs
- _WinHttpWebProxyDataBuilder.cs
- PageAsyncTask.cs
- GetIsBrowserClientRequest.cs
- TabControlEvent.cs
- CategoryGridEntry.cs
- ToolboxItemAttribute.cs
- LayoutEngine.cs
- AuthorizationContext.cs
- DateTimeUtil.cs
- ToolStripDropDownMenu.cs
- SecurityStateEncoder.cs
- XmlnsDictionary.cs
- NameObjectCollectionBase.cs
- CodeCommentStatementCollection.cs
- DirectoryLocalQuery.cs
- autovalidator.cs
- SoundPlayer.cs
- NamedPermissionSet.cs
- ReaderWriterLockWrapper.cs
- X509Chain.cs
- ScriptRegistrationManager.cs
- FilteredReadOnlyMetadataCollection.cs
- _NetworkingPerfCounters.cs
- TypeBuilder.cs
- DBCommand.cs
- TransactionException.cs
- DataSourceView.cs
- SQLConvert.cs
- EnumType.cs
- FontResourceCache.cs
- SourceChangedEventArgs.cs
- DictionaryManager.cs
- Inflater.cs
- X509Certificate.cs
- BitmapFrameDecode.cs
- WebBrowserUriTypeConverter.cs
- AlphabetConverter.cs
- VirtualizingPanel.cs
- ObjectDataSourceSelectingEventArgs.cs
- wmiprovider.cs
- Splitter.cs
- OdbcParameterCollection.cs
- SoapExtensionStream.cs
- UnsafeNativeMethods.cs
- RtfNavigator.cs
- CodeComment.cs
- TextElement.cs
- Vector.cs
- DecoderReplacementFallback.cs
- SeverityFilter.cs
- ReadOnlyDictionary.cs
- XmlDocumentSerializer.cs
- ToolStripSystemRenderer.cs
- TypographyProperties.cs
- TypeListConverter.cs
- Vector3dCollection.cs
- StylusPointDescription.cs
- XmlSecureResolver.cs
- ZipIOLocalFileBlock.cs
- WebPartConnectionsDisconnectVerb.cs
- ExceptionValidationRule.cs
- Cursor.cs
- ListViewGroupConverter.cs
- FirewallWrapper.cs
- RSAPKCS1KeyExchangeFormatter.cs
- SimpleApplicationHost.cs
- DataBoundLiteralControl.cs
- FieldDescriptor.cs
- RootCodeDomSerializer.cs
- CodeDomConfigurationHandler.cs
- KeyValuePair.cs
- TTSEngineProxy.cs
- PermissionToken.cs
- StringHandle.cs
- MarkupCompilePass2.cs
- VirtualDirectoryMapping.cs
- SimplePropertyEntry.cs
- EntitySqlQueryCacheKey.cs
- TemplateBamlRecordReader.cs
- QilVisitor.cs
- TabItemAutomationPeer.cs
- ProcessHostServerConfig.cs
- SqlExpander.cs
- HttpContextBase.cs
- SamlAction.cs
- BidOverLoads.cs
- XmlValidatingReaderImpl.cs
- OleDbRowUpdatingEvent.cs
- CircleHotSpot.cs
- SymDocumentType.cs
- ListSortDescriptionCollection.cs
- WebBrowserDocumentCompletedEventHandler.cs
- XmlByteStreamReader.cs
- CqlQuery.cs