예제 #1
0
 private IodineObject emit(VirtualMachine vm, IodineObject self, IodineObject[] args)
 {
     if (args.Length < 1) {
         vm.RaiseException (new IodineArgumentException (1));
         return null;
     }
     IodineString e = args [0] as IodineString;
     if (e == null) {
         vm.RaiseException (new IodineTypeException ("Str"));
         return null;
     }
     if (listeners.ContainsKey (e.Value)) {
         foreach (IodineObject obj in listeners [e.Value]) {
             obj.Invoke (vm, args.Skip (1).ToArray ());
         }
     }
     return null;
 }