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
- ComPlusServiceHost.cs
- CurrentTimeZone.cs
- AsymmetricSignatureDeformatter.cs
- Privilege.cs
- TablePattern.cs
- SimpleType.cs
- NativeMethods.cs
- UriTemplateMatch.cs
- ConfigUtil.cs
- SQLStringStorage.cs
- TemplateParser.cs
- TextRangeProviderWrapper.cs
- Constants.cs
- Base64Encoder.cs
- XmlNamespaceManager.cs
- SamlAuthorizationDecisionStatement.cs
- DateTimeFormatInfo.cs
- PrintingPermissionAttribute.cs
- RelationshipNavigation.cs
- SecurityUtils.cs
- FactoryId.cs
- RegexCompilationInfo.cs
- WS2007FederationHttpBindingCollectionElement.cs
- CommandSet.cs
- TokenizerHelper.cs
- CodePrimitiveExpression.cs
- HwndHostAutomationPeer.cs
- _Connection.cs
- CharEntityEncoderFallback.cs
- StoreContentChangedEventArgs.cs
- ResourcesBuildProvider.cs
- ColorAnimationUsingKeyFrames.cs
- XmlObjectSerializerReadContextComplex.cs
- UInt32Storage.cs
- AesManaged.cs
- InputScopeAttribute.cs
- ScriptIgnoreAttribute.cs
- AsyncPostBackTrigger.cs
- DateTimeValueSerializerContext.cs
- PreProcessor.cs
- ResourceDictionary.cs
- ProxyRpc.cs
- ResourceSet.cs
- NameTable.cs
- XmlDataProvider.cs
- ExpressionBindingCollection.cs
- UnsafeNativeMethods.cs
- XmlUtil.cs
- IIS7UserPrincipal.cs
- BindingCollection.cs
- WorkflowInstanceQuery.cs
- XhtmlBasicLiteralTextAdapter.cs
- AsyncWaitHandle.cs
- PerformanceCounterManager.cs
- isolationinterop.cs
- ServicePointManager.cs
- TemplatedWizardStep.cs
- ChannelRequirements.cs
- FocusTracker.cs
- ExceptionHandlersDesigner.cs
- SystemTcpConnection.cs
- ExtentCqlBlock.cs
- HttpBufferlessInputStream.cs
- ResourceCategoryAttribute.cs
- EventLogPermissionEntry.cs
- ItemsChangedEventArgs.cs
- SuppressIldasmAttribute.cs
- PrintController.cs
- DataGridViewRowPostPaintEventArgs.cs
- TrackingQueryElement.cs
- AnimationLayer.cs
- AssemblyAttributes.cs
- CompositionCommandSet.cs
- CodeDomSerializationProvider.cs
- Char.cs
- TrackingParameters.cs
- SessionPageStateSection.cs
- AccessDataSourceDesigner.cs
- TextEditorTyping.cs
- DataBindingList.cs
- InvariantComparer.cs
- EntityDataSourceDesignerHelper.cs
- oledbmetadatacollectionnames.cs
- GridViewCellAutomationPeer.cs
- CFStream.cs
- Solver.cs
- FrameworkTemplate.cs
- StyleHelper.cs
- ConfigXmlAttribute.cs
- TextElementCollectionHelper.cs
- ResourceSetExpression.cs
- MultiBindingExpression.cs
- DodSequenceMerge.cs
- TrackingConditionCollection.cs
- AbsoluteQuery.cs
- Context.cs
- CaseExpr.cs
- SettingsSection.cs
- GroupQuery.cs
- SpeakProgressEventArgs.cs