• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Dispatcher.Opcode类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中System.ServiceModel.Dispatcher.Opcode的典型用法代码示例。如果您正苦于以下问题:C# Opcode类的具体用法?C# Opcode怎么用?C# Opcode使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Opcode类属于System.ServiceModel.Dispatcher命名空间,在下文中一共展示了Opcode类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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


示例16: ValidateOpcode

 internal override LiteralRelationOpcode ValidateOpcode(Opcode opcode)
 {
     NumberIntervalOpcode opcode2 = opcode as NumberIntervalOpcode;
     if (opcode2 != null)
     {
         return opcode2;
     }
     return null;
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:9,代码来源:NumberIntervalBranchOpcode.cs


示例17: Add

 internal Opcode Add(object item, Opcode ops)
 {
     List<SubExpr> list = new List<SubExpr>();
     this.removalMapping.Add(item, list);
     while (ops.Next != null)
     {
         ops = ops.Next;
     }
     Opcode opcode = ops;
     while (ops != null)
     {
         if (IsExprStarter(ops))
         {
             SubExprOpcode opcode4;
             Opcode op = ops;
             Opcode prev = ops.Prev;
             ops.DetachFromParent();
             ops = ops.Next;
             while (ops.ID == OpcodeID.Select)
             {
                 ops = ops.Next;
             }
             ops.DetachFromParent();
             SubExpr expr = null;
             for (int i = 0; i < this.exprList.Count; i++)
             {
                 if (this.exprList[i].FirstOp.Equals(op))
                 {
                     expr = this.exprList[i];
                     break;
                 }
             }
             if (expr == null)
             {
                 expr = new SubExpr(null, op, this.NewVarID());
                 this.exprList.Add(expr);
                 opcode4 = new SubExprOpcode(expr);
             }
             else
             {
                 opcode4 = expr.Add(op, this);
             }
             opcode4.Expr.IncRef();
             list.Add(opcode4.Expr);
             opcode4.Attach(ops);
             ops = opcode4;
             if (prev != null)
             {
                 prev.Attach(ops);
             }
         }
         opcode = ops;
         ops = ops.Prev;
     }
     return opcode;
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:56,代码来源:SubExprEliminator.cs


示例18: Equals

        internal override bool Equals(Opcode op)
        {
            if (base.Equals(op))
            {
                FunctionCallOpcode functionCall = (FunctionCallOpcode)op;
                return functionCall.function.Equals(this.function);
            }

            return false;
        }
开发者ID:krytht,项目名称:DotNetReferenceSource,代码行数:10,代码来源:QueryFunctions.cs


示例19: DetachChild

 internal Opcode DetachChild()
 {
     Opcode next = this.next;
     if ((next != null) && this.IsInConditional())
     {
         this.DelinkFromConditional(next);
     }
     this.next = null;
     next.prev = null;
     return next;
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:11,代码来源:Opcode.cs


示例20: Add

 internal override void Add(Opcode opcode)
 {
     for (int i = 0; i < this.branches.Count; i++)
     {
         if (this.branches[i].IsEquivalentForAdd(opcode))
         {
             this.branches[i].Add(opcode);
             return;
         }
     }
     this.AddBranch(opcode);
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:12,代码来源:BranchOpcode.cs



注:本文中的System.ServiceModel.Dispatcher.Opcode类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Dispatcher.ProcessingContext类代码示例发布时间:2022-05-26
下一篇:
C# Dispatcher.MessageRpc类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap