Adds a new meta for functions which:
- satisfies the function's return type automatically
- at compile time, emits a warning
- at runtime, throws a NotImplementedException
These properties help enable a basic form of Type-driven developmemt.
@:build(interlude.macro.NotImplemented.build())
class Example {
@notimpl // Warning : Notimpl: `foo` is not implemented.
public static function foo();
@notimpl('MESSAGE') // Warning : Notimpl: `bar` is not implemented. ('MESSAGE')
public static function bar():Unit {
// @notimpl allows this to compile with an incomplete implementation
// At runtime, this will `throw new NotImplementedException('MESSAGE');`
}
}