Add call to find main class.

This commit is contained in:
Juraj Kirchheim
2019-05-07 22:42:39 +02:00
parent 9018b06279
commit d90fb966d2
3 changed files with 24 additions and 0 deletions

View File

@@ -29,6 +29,19 @@ typedef TypeResolution = Ref<Either<String, TypeDefinition>>;
class MacroApi {
static var MAIN_CANDIDATES = ['-main', '-x', '--run'];
static public function getMainClass():Option<String> {
var args = Sys.args();
for (c in MAIN_CANDIDATES)
switch args.indexOf(c) {
case -1:
case v: return Some(args[v+1]);
}
return None;
}
static var idCounter = 0;
@:noUsing static public inline function tempName(?prefix:String = 'tmp'):String

10
tests/Misc.hx Normal file
View File

@@ -0,0 +1,10 @@
import tink.MacroApi;
import haxe.unit.TestCase;
using tink.CoreApi;
class Misc extends TestCase {
function testMain() {
assertEquals('Run', MacroApi.getMainClass().force());
}
}

View File

@@ -12,6 +12,7 @@ class Run {
new Types(),
new Positions(),
new TypeMapTest(),
new Misc(),
];
#end
macro static function test() {