Build cache works better with compiler server.

This commit is contained in:
back2dos
2017-03-06 17:58:07 +01:00
parent dbebd0d70d
commit bd4b8c436f

View File

@@ -5,6 +5,7 @@ import haxe.macro.Expr;
import haxe.macro.Type;
import tink.macro.TypeMap;
using tink.MacroApi;
using haxe.macro.Tools;
typedef BuildContextN = {
@@ -157,17 +158,28 @@ private class Group {
name: path.split('.').pop()
});
Context.defineModule(path, [def], usings);
entries.set(type, { name: path } );
Context.defineModule(path, [def], usings);
return Context.getType(path);
}
function doMake()
while (true)
switch '$name${counter++}' {
case _.definedType() => Some(_):
case v:
return make(v);
}
return
switch entries.get(type) {
case null:
make('$name${counter++}');
doMake();
case v:
Context.getType(v.name);
switch v.name.definedType() {
case Some(v): v;
default: doMake();
}
}
}
}