本文整理汇总了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;未经允许,请勿转载。 |
请发表评论