Ejemplo n.º 1
0
 protected internal override void VisitCastClass(CastClass node, object data)
 {
     StackTypes stack = data as StackTypes;
     Verifier.ProcessCastClass(stack, new TypeEx(node.Type,true) );
     AddTask(node.Next,stack);
 }
Ejemplo n.º 2
0
 protected internal virtual void VisitCastClass(CastClass node, object data)
 {
     throw new NodeNotSupportedException(node);
 }
Ejemplo n.º 3
0
 protected override void VisitCastClass(CastClass upNode, object o)
 {
 }
Ejemplo n.º 4
0
 protected override void VisitCastClass(CastClass upNode, object o)
 {
     State state = o as State;
     BTValue val1 = state.Stack.Pop() as BTValue;
     BTValue val2;
     if (val1 is ReferenceBTValue)
         val2 = (val1 as ReferenceBTValue).ToStack(upNode.Type);
     else
         val2 = val1;
     state.Stack.Push(val2);
     Annotation.SetNodeBTType(upNode, val2.BTType);
 }
Ejemplo n.º 5
0
 protected internal override void VisitCastClass(CastClass node, object data)
 {
     if(node.ThrowException)
         generator.Emit(OpCodes.Castclass, node.Type);
     else
         generator.Emit(OpCodes.Isinst, node.Type);
     AddTask(node.Next,null);
 }