Nicolas Cannasse пре 18 година
родитељ
комит
af09f22f42
4 измењених фајлова са 30 додато и 23 уклоњено
  1. 5 5
      std/Date.hx
  2. 1 1
      std/Hash.hx
  3. 12 4
      std/Type.hx
  4. 12 13
      std/flash9/FlashXml__.hx

+ 5 - 5
std/Date.hx

@@ -163,11 +163,11 @@ extern class Date
 			var mi = this.getMinutes();
 			var s = this.getSeconds();
 			return this.getFullYear()
-				+"-"+(if( m < 10 ) "0"+m else m)
-				+"-"+(if( d < 10 ) "0"+d else d)
-				+" "+(if( h < 10 ) "0"+h else h)
-				+":"+(if( mi < 10 ) "0"+mi else mi)
-				+":"+(if( s < 10 ) "0"+s else s);
+				+"-"+(if( m < 10 ) "0"+m else ""+m)
+				+"-"+(if( d < 10 ) "0"+d else ""+d)
+				+" "+(if( h < 10 ) "0"+h else ""+h)
+				+":"+(if( mi < 10 ) "0"+mi else ""+mi)
+				+":"+(if( s < 10 ) "0"+s else ""+s);
 		};
 		#if flash9
 		#else flash

+ 1 - 1
std/Hash.hx

@@ -162,7 +162,7 @@ class Hash<T> {
 			ref : h,
 			it : keys(),
 			hasNext : function() { return this.it.hasNext(); },
-			next : function() { var i = this.it.next(); return this.ref[i]; }
+			next : function() { var i : Dynamic = this.it.next(); return this.ref[i]; }
 		};
 		#else flash
 		return untyped {

+ 12 - 4
std/Type.hx

@@ -137,7 +137,7 @@ class Type {
 			var cname = __global__["flash.utils.getQualifiedSuperclassName"](c);
 			if( cname == "Object" )
 				return null;
-			return __as__(__global__["flash.utils.getDefinitionByName"](cname),Class);
+			return __global__["flash.utils.getDefinitionByName"](cname);
 		#else true
 			return c.__super__;
 		#end
@@ -180,7 +180,7 @@ class Type {
 		untyped {
 		#if flash9
 			try {
-				cl = __as__(__global__["flash.utils.getDefinitionByName"](name),Class);
+				cl = __global__["flash.utils.getDefinitionByName"](name);
 				if( cl.__isenum )
 					return null;
 				return cl; // skip test below
@@ -259,7 +259,15 @@ class Type {
 	**/
 	public static function createInstance<T>( cl : Class<T>, args : Array<Dynamic> ) : T untyped {
 		#if flash9
-			return cl.__construct__.call(null,args);
+			return switch( args.length ) {
+			case 0: __new__(cl);
+			case 1: __new__(cl,args[0]);
+			case 2: __new__(cl,args[0],args[1]);
+			case 3: __new__(cl,args[0],args[1],args[2]);
+			case 4: __new__(cl,args[0],args[1],args[2],args[3]);
+			case 5: __new__(cl,args[0],args[1],args[2],args[3],args[4]);
+			default: throw "Too many arguments";
+			}
 		#else flash
 			var o = { __constructor__ : cl, __proto__ : cl.prototype };
 			cl["apply"](o,args);
@@ -281,7 +289,7 @@ class Type {
 		#if flash9
 			try {
 				flash.Boot.skip_constructor = true;
-				var i = cl.__construct__.call(null,[]);
+				var i = __new__(cl);
 				flash.Boot.skip_constructor = false;
 				return i;
 			} catch( e : Dynamic ) {

+ 12 - 13
std/flash9/FlashXml__.hx

@@ -60,11 +60,10 @@ class FlashXml__ {
 	var _children : Array<FlashXml__>;
 	var _parent : FlashXml__;
 
-	public static function parse( str : String ) : Xml {
+	public static function parse( str : String ) : FlashXml__ {
 		var rules = [enode,epcdata,eend,ecdata,edoctype,ecomment,eprolog];
 		var nrules = rules.length;
-		var current = Xml.createDocument();
-
+		var current = createDocument();
 		var stack = new List();
 		while( str.length > 0 ) {
 			var i = 0;
@@ -73,7 +72,7 @@ class FlashXml__ {
 				if( r.match(str) ) {
 					switch( i ) {
 					case 0: // Node
-						var x = Xml.createElement(r.matched(1));
+						var x = createElement(r.matched(1));
 						current.addChild(x);
 						str = r.matchedRight();
 						while( eattribute.match(str) ) {
@@ -90,15 +89,15 @@ class FlashXml__ {
 						}
 						str = eclose.matchedRight();
 					case 1: // PCData
-						var x = Xml.createPCData(r.matched(0));
+						var x = createPCData(r.matched(0));
 						current.addChild(x);
 						str = r.matchedRight();
 					case 2: // End Node
-						untyped if( current._children != null && current._children.length == 0 ) {
-							var e = Xml.createPCData("");
+						if( current._children != null && current._children.length == 0 ) {
+							var e = createPCData("");
 							current.addChild(e);
 						}
-						untyped if( r.matched(1) != current._nodeName || stack.isEmpty() ) {
+						if( r.matched(1) != current._nodeName || stack.isEmpty() ) {
 							i = nrules;
 							break;
 						}
@@ -108,7 +107,7 @@ class FlashXml__ {
 						str = r.matchedRight();
 						if( !ecdata_end.match(str) )
 							throw "End of CDATA section not found";
-						var x = Xml.createCData(ecdata_end.matchedLeft());
+						var x = createCData(ecdata_end.matchedLeft());
 						current.addChild(x);
 						str = ecdata_end.matchedRight();
 					case 4: // DocType
@@ -129,17 +128,17 @@ class FlashXml__ {
 									break;
 							}
 						}
-						var x = Xml.createDocType(old.substr(0,pos));
+						var x = createDocType(old.substr(0,pos));
 						current.addChild(x);
 					case 5: // Comment
 						if( !ecomment_end.match(str) )
 							throw "Unclosed Comment";
 						var p = ecomment_end.matchedPos();
-						var x = Xml.createComment(str.substr(0,p.pos+p.len));
+						var x = createComment(str.substr(0,p.pos+p.len));
 						current.addChild(x);
 						str = ecomment_end.matchedRight();
 					case 6: // Prolog
-						var x = Xml.createProlog(r.matched(0));
+						var x = createProlog(r.matched(0));
 						current.addChild(x);
 						str = r.matchedRight();
 					}
@@ -154,7 +153,7 @@ class FlashXml__ {
 					throw ("Xml parse error : Unexpected "+str);
 			}
 		}
-		untyped return current;
+		return current;
 	}
 
 	private function new(){