浏览代码

ignore newline differences when merging doc

Nicolas Cannasse 13 年之前
父节点
当前提交
875daa69e9
共有 1 个文件被更改,包括 11 次插入0 次删除
  1. 11 0
      std/haxe/rtti/XmlParser.hx

+ 11 - 0
std/haxe/rtti/XmlParser.hx

@@ -61,6 +61,13 @@ class XmlParser {
 			}
 			}
 	}
 	}
 
 
+	function simplifyDoc(d:String) {
+		if( d == null ) return null;
+		// don't take newline differences or extra spaces into account
+		d = d.split("\r\n").join("\n").split("\r").join("\n");
+		return StringTools.trim(d);
+	}
+
 	function sortFields(fl) {
 	function sortFields(fl) {
 		var a = Lambda.array(fl);
 		var a = Lambda.array(fl);
 		a.sort(function(f1 : ClassField,f2 : ClassField) {
 		a.sort(function(f1 : ClassField,f2 : ClassField) {
@@ -205,6 +212,10 @@ class XmlParser {
 					else
 					else
 						tinf.doc = inf.doc;
 						tinf.doc = inf.doc;
 				}
 				}
+				if( tinf.doc != inf.doc ) {
+					tinf.doc = simplifyDoc(tinf.doc);
+					inf.doc = simplifyDoc(inf.doc);
+				}
 				if( tinf.module == inf.module && tinf.doc == inf.doc && tinf.isPrivate == inf.isPrivate )
 				if( tinf.module == inf.module && tinf.doc == inf.doc && tinf.isPrivate == inf.isPrivate )
 					switch( ct ) {
 					switch( ct ) {
 					case TClassdecl(c):
 					case TClassdecl(c):