示例#1
0
 private DuplicateStackTop newDuplicateStackTop(BasicBlock block)
 {
     DuplicateStackTop result = new DuplicateStackTop();
     result.Options[BasicBlock.BASIC_BLOCK_OPTION] = block;
     return result;
 }
示例#2
0
 protected internal override void VisitDuplicateStackTop(DuplicateStackTop node, object data)
 {
     StackTypes stack = data as StackTypes;
     stack.Push(stack.Peek());
     AddTask(node.Next,stack);
 }
示例#3
0
 protected internal virtual void VisitDuplicateStackTop(DuplicateStackTop node, object data)
 {
     throw new NodeNotSupportedException(node);
 }
示例#4
0
文件: BTA.cs 项目: DragonXYZ/cilpe
 protected override void VisitDuplicateStackTop(DuplicateStackTop upNode, object o)
 {
     State state = o as State;
     BTValue val = state.Stack[0] as BTValue;
     state.Stack.Push(val);
     Annotation.SetNodeBTType(upNode, val.BTType);
 }
示例#5
0
文件: BTA.cs 项目: DragonXYZ/cilpe
 protected override void VisitDuplicateStackTop(DuplicateStackTop upNode, object o)
 {
     DepthContainer cnt = o as DepthContainer;
     cnt.Depth -= 1;
 }
示例#6
0
 protected internal override void VisitDuplicateStackTop(DuplicateStackTop node, object data)
 {
     generator.Emit(OpCodes.Dup);
     AddTask(node.Next,null);
 }