Browse Source

use hscript getFields

Nicolas Cannasse 4 years ago
parent
commit
91227f3f99
1 changed files with 3 additions and 29 deletions
  1. 3 29
      hide/comp/ScriptEditor.hx

+ 3 - 29
hide/comp/ScriptEditor.hx

@@ -321,35 +321,9 @@ class ScriptEditor extends CodeEditor {
 			vars = [];
 			var t = checker.getCompletion(script);
 			if( t != null ) {
-				switch( checker.checker.follow(t) ) {
-				case TInst(c,args):
-					var map = (t) -> checker.checker.apply(t,c.params,args);
-					while( c != null ) {
-						for( f in c.fields ) {
-							if( !f.isPublic || !f.complete ) continue;
-							var name = f.name;
-							var t = map(f.t);
-							if( StringTools.startsWith(name,"a_") ) {
-								t = checker.checker.unasync(t);
-								name = name.substr(2);
-							}
-							vars.set(name, t);
-						}
-						if( c.superClass == null ) break;
-						switch( c.superClass ) {
-						case TInst(csup,args):
-							var curMap = map;
-							map = (t) -> curMap(checker.checker.apply(t,csup.params,args));
-							c = csup;
-						default:
-							break;
-						}
-					}
-				case TAnon(fields):
-					for( f in fields )
-						vars.set(f.name, f.t);
-				default:
-				}
+				var fields = checker.checker.getFields(t);
+				for( f in fields )
+					vars.set(f.name, f.t);
 			}
 		}
 		var checker = checker.checker;