Bläddra i källkod

[std] use Classdef.interfaces for parent interfaces (closes #9277)

Jens Fischer 5 år sedan
förälder
incheckning
5c4c81fc97
1 ändrade filer med 7 tillägg och 2 borttagningar
  1. 7 2
      std/haxe/rtti/XmlParser.hx

+ 7 - 2
std/haxe/rtti/XmlParser.hx

@@ -371,12 +371,17 @@ class XmlParser {
 		var fields = new Array();
 		var statics = new Array();
 		var meta = [];
+		var isInterface = x.x.exists("interface");
 		for (c in x.elements)
 			switch (c.name) {
 				case "haxe_doc":
 					doc = c.innerData;
 				case "extends":
-					csuper = xpath(c);
+					if (isInterface) {
+						interfaces.push(xpath(c));
+					} else {
+						csuper = xpath(c);
+					}
 				case "implements":
 					interfaces.push(xpath(c));
 				case "haxe_dynamic":
@@ -397,7 +402,7 @@ class XmlParser {
 			isPrivate: x.x.exists("private"),
 			isExtern: x.x.exists("extern"),
 			isFinal: x.x.exists("final"),
-			isInterface: x.x.exists("interface"),
+			isInterface: isInterface,
 			params: mkTypeParams(x.att.params),
 			superClass: csuper,
 			interfaces: interfaces,