Beispiel #1
0
 protected internal virtual void VisitCreateDelegate(CreateDelegate node, object data)
 {
     throw new NodeNotSupportedException(node);
 }
Beispiel #2
0
 protected internal override void VisitCreateDelegate(CreateDelegate node, object data)
 {
     StackTypes stack = data as StackTypes;
     Verifier.ProcessDelegateConstruction(stack,node.Method,node.DelegateCtor);
     AddTask(node.Next,stack);
 }
Beispiel #3
0
 protected internal override void VisitCreateDelegate(CreateDelegate node, object data)
 {
     if(node.IsVirtual)
     {
         generator.Emit(OpCodes.Dup);
       generator.Emit(OpCodes.Ldvirtftn, node.Method);
         generator.Emit(OpCodes.Newobj, node.DelegateCtor);
     }
     else
     {
         generator.Emit(OpCodes.Ldftn, node.Method);
         generator.Emit(OpCodes.Newobj, node.DelegateCtor);
     }
     AddTask(node.Next,null);
 }