Add call to find main class.
This commit is contained in:
@@ -29,6 +29,19 @@ typedef TypeResolution = Ref<Either<String, TypeDefinition>>;
|
|||||||
|
|
||||||
class MacroApi {
|
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;
|
static var idCounter = 0;
|
||||||
|
|
||||||
@:noUsing static public inline function tempName(?prefix:String = 'tmp'):String
|
@:noUsing static public inline function tempName(?prefix:String = 'tmp'):String
|
||||||
|
|||||||
10
tests/Misc.hx
Normal file
10
tests/Misc.hx
Normal 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());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,6 +12,7 @@ class Run {
|
|||||||
new Types(),
|
new Types(),
|
||||||
new Positions(),
|
new Positions(),
|
||||||
new TypeMapTest(),
|
new TypeMapTest(),
|
||||||
|
new Misc(),
|
||||||
];
|
];
|
||||||
#end
|
#end
|
||||||
macro static function test() {
|
macro static function test() {
|
||||||
|
|||||||
Reference in New Issue
Block a user