當前位置: 首頁>>代碼示例>>C#>>正文


C# Dispatcher.Opcode類代碼示例

本文整理匯總了C#中System.ServiceModel.Dispatcher.Opcode的典型用法代碼示例。如果您正苦於以下問題:C# Opcode類的具體用法?C# Opcode怎麽用?C# Opcode使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


Opcode類屬於System.ServiceModel.Dispatcher命名空間,在下文中一共展示了Opcode類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: RemoveJump

 internal void RemoveJump(BlockEndOpcode jumpTo)
 {
     bool flag = base.IsReachableFromConditional();
     if (flag)
     {
         base.prev.DelinkFromConditional(this);
     }
     if (this.jump.ID == OpcodeID.Branch)
     {
         BranchOpcode jump = (BranchOpcode) this.jump;
         jumpTo.DeLinkJump(this);
         jump.RemoveChild(jumpTo);
         if (jump.Branches.Count == 0)
         {
             this.jump = null;
         }
     }
     else
     {
         jumpTo.DeLinkJump(this);
         this.jump = null;
     }
     if (flag && (this.jump != null))
     {
         base.prev.LinkToConditional(this);
     }
 }
開發者ID:pritesh-mandowara-sp,項目名稱:DecompliedDotNetLibraries,代碼行數:27,代碼來源:JumpOpcode.cs

示例2: Add

 internal override void Add(Opcode opcode)
 {
     LiteralRelationOpcode opcode2 = this.ValidateOpcode(opcode);
     if (opcode2 == null)
     {
         base.Add(opcode);
     }
     else
     {
         QueryBranch literalBranch = this.branchIndex[opcode2.Literal];
         if (literalBranch == null)
         {
             this.nextID++;
             literalBranch = new QueryBranch(opcode2, this.nextID);
             opcode2.Prev = this;
             this.branchIndex[opcode2.Literal] = literalBranch;
         }
         else
         {
             literalBranch.Branch.Next.Add(opcode2.Next);
         }
         opcode2.Flags |= OpcodeFlags.InConditional;
         this.AddAlwaysBranch(literalBranch, opcode2.Next);
     }
 }
開發者ID:pritesh-mandowara-sp,項目名稱:DecompliedDotNetLibraries,代碼行數:25,代碼來源:QueryConditionalBranchOpcode.cs

示例3: AddAlwaysBranch

 private void AddAlwaysBranch(QueryBranch literalBranch, Opcode next)
 {
     if (OpcodeID.Branch == next.ID)
     {
         BranchOpcode opcode = (BranchOpcode) next;
         OpcodeList branches = opcode.Branches;
         for (int i = 0; i < branches.Count; i++)
         {
             Opcode opcode2 = branches[i];
             if (this.IsAlwaysBranch(opcode2))
             {
                 this.AlwaysBranches.AddInOrder(new QueryBranch(opcode2, literalBranch.ID));
             }
             else
             {
                 opcode2.Flags |= OpcodeFlags.NoContextCopy;
             }
         }
     }
     else if (this.IsAlwaysBranch(next))
     {
         this.AlwaysBranches.AddInOrder(new QueryBranch(next, literalBranch.ID));
     }
     else
     {
         next.Flags |= OpcodeFlags.NoContextCopy;
     }
 }
開發者ID:pritesh-mandowara-sp,項目名稱:DecompliedDotNetLibraries,代碼行數:28,代碼來源:QueryConditionalBranchOpcode.cs

示例4: DelinkFromConditional

 internal override void DelinkFromConditional(Opcode child)
 {
     if (base.prev != null)
     {
         base.prev.DelinkFromConditional(child);
     }
 }
開發者ID:pritesh-mandowara-sp,項目名稱:DecompliedDotNetLibraries,代碼行數:7,代碼來源:BranchOpcode.cs

示例5: AddJump

 internal void AddJump(BlockEndOpcode jumpTo)
 {
     bool flag = base.IsReachableFromConditional();
     if (flag)
     {
         base.prev.DelinkFromConditional(this);
     }
     if (this.jump == null)
     {
         this.jump = jumpTo;
     }
     else
     {
         BranchOpcode jump;
         if (this.jump.ID == OpcodeID.Branch)
         {
             jump = (BranchOpcode) this.jump;
         }
         else
         {
             BlockEndOpcode opcode = (BlockEndOpcode) this.jump;
             jump = new BranchOpcode();
             jump.Branches.Add(opcode);
             this.jump = jump;
         }
         jump.Branches.Add(jumpTo);
     }
     jumpTo.LinkJump(this);
     if (flag && (this.jump != null))
     {
         base.prev.LinkToConditional(this);
     }
 }
開發者ID:pritesh-mandowara-sp,項目名稱:DecompliedDotNetLibraries,代碼行數:33,代碼來源:JumpOpcode.cs

示例6: DelinkFromConditional

 internal virtual void DelinkFromConditional(Opcode child)
 {
     if (this.TestFlag(OpcodeFlags.InConditional))
     {
         ((QueryConditionalBranchOpcode) this.prev).RemoveAlwaysBranch(child);
     }
 }
開發者ID:pritesh-mandowara-sp,項目名稱:DecompliedDotNetLibraries,代碼行數:7,代碼來源:Opcode.cs

示例7: BranchAt

 private SubExpr BranchAt(Opcode op, SubExprEliminator elim)
 {
     Opcode firstOp = this.FirstOp;
     if (this.parent != null)
     {
         this.parent.RemoveChild(this);
     }
     else
     {
         elim.Exprs.Remove(this);
     }
     firstOp.DetachFromParent();
     op.DetachFromParent();
     SubExpr expr = new SubExpr(this.parent, firstOp, elim.NewVarID());
     if (this.parent != null)
     {
         this.parent.AddChild(expr);
     }
     else
     {
         elim.Exprs.Add(expr);
     }
     expr.AddChild(this);
     this.parent = expr;
     this.ops = new InternalSubExprOpcode(expr);
     this.ops.Attach(op);
     return expr;
 }
開發者ID:pritesh-mandowara-sp,項目名稱:DecompliedDotNetLibraries,代碼行數:28,代碼來源:SubExpr.cs

示例8: Equals

 internal override bool Equals(Opcode op)
 {
     if (base.Equals(op))
     {
         return (this.op == ((RelationOpcode)op).op);
     }
     return false;
 }
開發者ID:iskiselev,項目名稱:JSIL.NetFramework,代碼行數:8,代碼來源:QueryRelOp.cs

示例9: Equals

 internal override bool Equals(Opcode op)
 {
     if (base.Equals(op))
     {
         NumberEqualsOpcode opcode = (NumberEqualsOpcode) op;
         return (opcode.literal == this.literal);
     }
     return false;
 }
開發者ID:pritesh-mandowara-sp,項目名稱:DecompliedDotNetLibraries,代碼行數:9,代碼來源:NumberEqualsOpcode.cs

示例10: Equals

 internal override bool Equals(Opcode opcode)
 {
     if (!base.Equals(opcode))
     {
         return false;
     }
     NumberRelationOpcode opcode2 = (NumberRelationOpcode) opcode;
     return ((opcode2.op == this.op) && (opcode2.literal == this.literal));
 }
開發者ID:pritesh-mandowara-sp,項目名稱:DecompliedDotNetLibraries,代碼行數:9,代碼來源:NumberRelationOpcode.cs

示例11: Equals

        // Never used for inverse query, so don't need this
        internal override bool Equals(Opcode op)
        {
            if (base.Equals (op))
            {
                return (this.ordinal == ((LiteralOrdinalOpcode) op).ordinal);
            }

            return false;
        }
開發者ID:nlh774,項目名稱:DotNetReferenceSource,代碼行數:10,代碼來源:QuerySetOp.cs

示例12: AddBranch

 internal override void AddBranch(Opcode opcode)
 {
     this.branches.Add(opcode);
     opcode.Prev = this;
     if (this.IsInConditional())
     {
         this.LinkToConditional(opcode);
     }
 }
開發者ID:pritesh-mandowara-sp,項目名稱:DecompliedDotNetLibraries,代碼行數:9,代碼來源:BranchOpcode.cs

示例13: Equals

 internal override bool Equals(Opcode op)
 {
     if (base.Equals(op))
     {
         StringPrefixOpcode opcode = (StringPrefixOpcode) op;
         return (opcode.literal == this.literal);
     }
     return false;
 }
開發者ID:pritesh-mandowara-sp,項目名稱:DecompliedDotNetLibraries,代碼行數:9,代碼來源:StringPrefixOpcode.cs

示例14: Equals

        internal override bool Equals(Opcode op)
        {
            if (base.Equals(op))
            {
                return (this.mathOp == ((MathOpcode) op).mathOp);
            }

            return false;
        }
開發者ID:iskiselev,項目名稱:JSIL.NetFramework,代碼行數:9,代碼來源:QueryMath.cs

示例15: ValidateOpcode

 internal override LiteralRelationOpcode ValidateOpcode(Opcode opcode)
 {
     StringEqualsOpcode opcode2 = opcode as StringEqualsOpcode;
     if (opcode2 != null)
     {
         return opcode2;
     }
     return null;
 }
開發者ID:pritesh-mandowara-sp,項目名稱:DecompliedDotNetLibraries,代碼行數:9,代碼來源:StringEqualsBranchOpcode.cs


注:本文中的System.ServiceModel.Dispatcher.Opcode類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。