Nicolas Cannasse 14 éve
szülő
commit
dc9e68f2c9
1 módosított fájl, 2 hozzáadás és 3 törlés
  1. 2 3
      std/haxe/web/Dispatch.hx

+ 2 - 3
std/haxe/web/Dispatch.hx

@@ -186,7 +186,7 @@ class Dispatch {
 				return MRFloat;
 				return MRFloat;
 			case "String":
 			case "String":
 				return MRString;
 				return MRString;
-			case "Dispatch":
+			case "haxe.web.Dispatch":
 				return MRDispatch;
 				return MRDispatch;
 			default:
 			default:
 				var c = i.get();
 				var c = i.get();
@@ -259,14 +259,13 @@ class Dispatch {
 
 
 	static function makeConfig( obj : Expr ) {
 	static function makeConfig( obj : Expr ) {
 		var p = obj.pos;
 		var p = obj.pos;
-		var t = Context.typeof(obj);
+		var t = try Context.typeof(obj) catch( e : Dynamic ) return { expr : EObjectDecl([ { field : "obj", expr : obj }, { field : "rules", expr : { expr : EConst(CIdent("null")), pos : p } } ]), pos : p };
 		switch( Context.follow(t) ) {
 		switch( Context.follow(t) ) {
 		case TAnonymous(fl):
 		case TAnonymous(fl):
 			var fields = [];
 			var fields = [];
 			for( f in fl.get().fields ) {
 			for( f in fl.get().fields ) {
 				if( f.name.substr(0, 2) != "do" )
 				if( f.name.substr(0, 2) != "do" )
 					continue;
 					continue;
-
 				var r = makeRule(f);
 				var r = makeRule(f);
 				fields.push( { field : f.name.charAt(2).toLowerCase() + f.name.substr(3), expr : Context.makeExpr(r,p) } );
 				fields.push( { field : f.name.charAt(2).toLowerCase() + f.name.substr(3), expr : Context.makeExpr(r,p) } );
 			}
 			}