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
- SiteOfOriginContainer.cs
- PropertyFilter.cs
- AdapterDictionary.cs
- XmlSerializerVersionAttribute.cs
- AsyncPostBackTrigger.cs
- PersonalizableAttribute.cs
- Internal.cs
- ChannelDispatcherCollection.cs
- Itemizer.cs
- DataGridViewTopRowAccessibleObject.cs
- SqlTrackingWorkflowInstance.cs
- XmlQueryOutput.cs
- DoubleAverageAggregationOperator.cs
- ReadOnlyDataSourceView.cs
- RtType.cs
- SafeCancelMibChangeNotify.cs
- CursorConverter.cs
- PathFigure.cs
- DESCryptoServiceProvider.cs
- XmlComplianceUtil.cs
- BitmapEffectvisualstate.cs
- ObjectDataProvider.cs
- TargetException.cs
- Comparer.cs
- Graph.cs
- ping.cs
- Win32PrintDialog.cs
- BackgroundFormatInfo.cs
- BooleanStorage.cs
- TraceProvider.cs
- FacetValues.cs
- DoubleCollection.cs
- DefaultHttpHandler.cs
- FixedSOMTableRow.cs
- SqlError.cs
- BinHexEncoding.cs
- MutexSecurity.cs
- SQLRoleProvider.cs
- ActivityStateQuery.cs
- OutputCacheSettings.cs
- StorageFunctionMapping.cs
- EntityDataSourceView.cs
- ParentQuery.cs
- InvalidFilterCriteriaException.cs
- WindowsTitleBar.cs
- UnauthorizedWebPart.cs
- ParserExtension.cs
- tibetanshape.cs
- TableAdapterManagerHelper.cs
- MediaPlayer.cs
- _BufferOffsetSize.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- CorrelationExtension.cs
- DBCSCodePageEncoding.cs
- SafeFileMapViewHandle.cs
- ToolStripSplitStackLayout.cs
- ScriptHandlerFactory.cs
- EntityContainerAssociationSetEnd.cs
- ExpandedWrapper.cs
- StyleHelper.cs
- StylusLogic.cs
- LabelTarget.cs
- NumericExpr.cs
- DataGridViewComboBoxColumn.cs
- HuffCodec.cs
- ScriptControlManager.cs
- EditCommandColumn.cs
- XMLDiffLoader.cs
- DbgUtil.cs
- PartManifestEntry.cs
- SizeKeyFrameCollection.cs
- TagMapCollection.cs
- HeaderElement.cs
- Point.cs
- Configuration.cs
- ClientBuildManager.cs
- RSAPKCS1SignatureDeformatter.cs
- WebReferencesBuildProvider.cs
- String.cs
- InstanceOwner.cs
- KernelTypeValidation.cs
- SqlServer2KCompatibilityCheck.cs
- DesignerSerializerAttribute.cs
- IdentityValidationException.cs
- ConfigurationSectionGroup.cs
- TextServicesDisplayAttribute.cs
- PageRequestManager.cs
- QfeChecker.cs
- UrlRoutingHandler.cs
- CopyAction.cs
- CodeCommentStatementCollection.cs
- BinaryCommonClasses.cs
- Application.cs
- EpmSyndicationContentSerializer.cs
- TransactionWaitAsyncResult.cs
- SetterBase.cs
- RefreshPropertiesAttribute.cs
- TcpHostedTransportConfiguration.cs
- FontCollection.cs
- SiteMapNode.cs