Browse Source

[java/cs] Fixed Issue #1009

Caue Waneck 13 years ago
parent
commit
4d1ae2d193
1 changed files with 12 additions and 0 deletions
  1. 12 0
      std/haxe/rtti/Meta.hx

+ 12 - 0
std/haxe/rtti/Meta.hx

@@ -33,7 +33,11 @@ class Meta {
 		Returns the metadata that were declared for the given type (class or enum)
 	**/
 	public static function getType( t : Dynamic ) : Dynamic<Array<Dynamic>> {
+		#if (java || cs)
+		var meta : Dynamic = Reflect.field(t, "__meta__");
+		#else
 		var meta : Dynamic = untyped t.__meta__;
+		#end
 		return (meta == null || meta.obj == null) ? {} : meta.obj;
 	}
 
@@ -41,7 +45,11 @@ class Meta {
 		Returns the metadata that were declared for the given class fields or enum constructors
 	**/
 	public static function getStatics( t : Dynamic ) : Dynamic<Dynamic<Array<Dynamic>>> {
+		#if (java || cs)
+		var meta : Dynamic = Reflect.field(t, "__meta__");
+		#else
 		var meta : Dynamic = untyped t.__meta__;
+		#end
 		return (meta == null || meta.statics == null) ? {} : meta.statics;
 	}
 
@@ -49,7 +57,11 @@ class Meta {
 		Returns the metadata that were declared for the given class static fields
 	**/
 	public static function getFields( t : Dynamic ) : Dynamic<Dynamic<Array<Dynamic>>> {
+		#if (java || cs)
+		var meta : Dynamic = Reflect.field(t, "__meta__");
+		#else
 		var meta : Dynamic = untyped t.__meta__;
+		#end
 		return (meta == null || meta.fields == null) ? {} : meta.fields;
 	}