Browse Source

- restored previous version of Proxy class
- fixed issue with functions assigned to instance variables
- fixed issue removing fields in spod Manager

Franco Ponticelli 16 years ago
parent
commit
15c5005194
4 changed files with 5 additions and 18 deletions
  1. 2 0
      doc/CHANGES.txt
  2. 1 0
      genphp.ml
  3. 0 16
      std/haxe/xml/Proxy.hx
  4. 2 2
      std/php/db/Manager.hx

+ 2 - 0
doc/CHANGES.txt

@@ -48,6 +48,8 @@ TODO :
 	php: changed special vars to use the » prefix instead of __
 	php: fixed use of reserved keywords for var names
 	php: List iterator is now class based (faster)
+	php: fixed behavior of class variables having assigned functions
+	php: fixed php.db.Manager (was uncorrectly removing superclass fields)
 
 2009-03-22: 2.03
 	optimized Type.enumEq : use index instead of tag comparison for neko/flash9/php

+ 1 - 0
genphp.ml

@@ -515,6 +515,7 @@ let is_in_dynamic_methods ctx e s =
 
 let is_dynamic_method f =
 	(match f.cf_set with
+		| NormalAccess -> true
 		| MethodAccess true -> true
 		| _ -> false)
 		

+ 0 - 16
std/haxe/xml/Proxy.hx

@@ -42,7 +42,6 @@ package haxe.xml;
 	// in your XML, and completion works as well
 	]
 **/
-/*
 class Proxy<Const,T> {
 
 	var __f : String -> T;
@@ -56,18 +55,3 @@ class Proxy<Const,T> {
 	}
 
 }
-*/
-
-class Proxy<Const,T> {
-
-	dynamic function __f(s : String) : T { return null; }
-
-	public function new(f) {
-		this.__f = f;
-	}
-
-	public function resolve(k) : T {
-		return __f(k);
-	}
-
-}

+ 2 - 2
std/php/db/Manager.hx

@@ -75,10 +75,10 @@ class Manager<T : Object> {
 
 		var instance_fields = Type.getInstanceFields(cls);
 		var scls = Type.getSuperClass(cls);
-		while (Type.getSuperClass(scls) != null) scls = Type.getSuperClass(scls);
-		if(scls != null) {
+		while(scls != null) {
 			for(remove in Type.getInstanceFields(scls))
 				instance_fields.remove(remove);
+			scls = Type.getSuperClass(scls);
 		}
 
 		for( f in instance_fields ) {