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
- XmlSchemaObject.cs
- ProcessModelInfo.cs
- CacheModeValueSerializer.cs
- EdmComplexTypeAttribute.cs
- TemplateManager.cs
- ListControlConvertEventArgs.cs
- Accessible.cs
- SqlNotificationRequest.cs
- XamlToRtfWriter.cs
- ParserStreamGeometryContext.cs
- EncoderReplacementFallback.cs
- DirectoryObjectSecurity.cs
- ScrollEvent.cs
- UriTemplateTableMatchCandidate.cs
- ViewPort3D.cs
- AnnotationAdorner.cs
- GeneratedCodeAttribute.cs
- ListBoxItemAutomationPeer.cs
- ValueExpressions.cs
- InputQueue.cs
- ExpressionBuilder.cs
- ClientApiGenerator.cs
- MatrixAnimationBase.cs
- TransformValueSerializer.cs
- DefaultCommandConverter.cs
- EndEvent.cs
- Faults.cs
- COM2TypeInfoProcessor.cs
- DataGridHeaderBorder.cs
- ActivitySurrogateSelector.cs
- PasswordDeriveBytes.cs
- TopClause.cs
- VerticalAlignConverter.cs
- HotCommands.cs
- SelectionChangedEventArgs.cs
- HttpModulesSection.cs
- LinqDataSourceDeleteEventArgs.cs
- TreeBuilder.cs
- GlobalProxySelection.cs
- ImageKeyConverter.cs
- TracingConnectionListener.cs
- ComplusEndpointConfigContainer.cs
- RenderCapability.cs
- ZipIOModeEnforcingStream.cs
- EntityConnectionStringBuilder.cs
- SafeEventLogWriteHandle.cs
- oledbmetadatacollectionnames.cs
- VisualTransition.cs
- NullToBooleanConverter.cs
- SqlMetaData.cs
- IList.cs
- FixedStringLookup.cs
- OdbcConnectionHandle.cs
- Marshal.cs
- LayoutTableCell.cs
- CellRelation.cs
- Vector3D.cs
- MasterPage.cs
- sortedlist.cs
- SapiRecoContext.cs
- ObjRef.cs
- ImageSource.cs
- Int64Converter.cs
- HttpServerUtilityBase.cs
- LogRestartAreaEnumerator.cs
- formatter.cs
- ContentDisposition.cs
- MouseOverProperty.cs
- FunctionCommandText.cs
- MachineKeySection.cs
- ModelItemCollection.cs
- DesignerPerfEventProvider.cs
- METAHEADER.cs
- StringAnimationUsingKeyFrames.cs
- EndpointFilterProvider.cs
- GraphicsContext.cs
- LexicalChunk.cs
- ConfigurationLocation.cs
- UserNameSecurityTokenParameters.cs
- ImageBrush.cs
- CryptoHelper.cs
- ViewStateModeByIdAttribute.cs
- SafeFindHandle.cs
- SettingsPropertyIsReadOnlyException.cs
- TableItemStyle.cs
- ParentUndoUnit.cs
- IPeerNeighbor.cs
- PropertyPushdownHelper.cs
- XPathNodeList.cs
- ObjectFullSpanRewriter.cs
- KeyBinding.cs
- SystemInfo.cs
- HiddenFieldPageStatePersister.cs
- TextDpi.cs
- EntityCodeGenerator.cs
- CharacterMetrics.cs
- DurationConverter.cs
- FormatterConverter.cs
- ContentType.cs
- ConstraintManager.cs