我想要的是一个像@required
这样的注释,但是我想根据参数的类型做一些逻辑,并像@required
那样显示使用警告。
(如果类型为ParamTuple
,则显示警告)
abstract class Tuple {
const Tuple();
}
abstract class NullTuple extends Tuple {
const NullTuple();
}
abstract class ParamTuple extends Tuple {
const ParamTuple();
}
如果类型为ParamTuple,我想警告用户,但在其他情况下,我不想发出警告。
在下面的代码中,应实现逻辑
const TupleRequired tupleRequired = TupleRequired();
class TupleRequired {
const TupleRequired();
}
我还认为我应该为我的analysis_options.yaml
添加一个@required
以显示类似@tupleRequired
的警告。
我想要的示例
class Example {
// Tuple0 extends NullTuple
void nullParam({@tupleRequired Tuple0 param}) {}
// Tuple1 extends ParamTuple
void withParam({@tupleRequired Tuple1 param}) {}
}
因此,当我们要使用这些方法时,我想看到以下自定义警告:
nullParam
:如果我将其设置为空,则什么也不显示,但是如果我传递一个参数,则表明该参数是多余的,将被忽略withParam
:如果我将其设置为空,则显示警告传递参数,如果传递参数则不显示任何内容