@typed_pos_args('get_option', str)
@noKwargs
def func_get_option(self, nodes: mparser.BaseNode, args: T.Tuple[str], kwargs: 'TYPE_kwargs') -> T.Union[(coredata.UserOption, 'TYPE_var')]:
    optname = args[0]
    if (':' in optname):
        raise InterpreterException('Having a colon in option name is forbidden, projects are not allowed to directly access options of other subprojects.')
    opt = self.get_option_internal(optname)
    if isinstance(opt, coredata.UserFeatureOption):
        opt.name = optname
        return opt
    elif isinstance(opt, coredata.UserOption):
        return opt.value
    return opt
@typed_pos_args('get_option', str)
@noKwargs
def func_get_option(self, nodes: mparser.BaseNode, args: T.Tuple[str], kwargs: 'TYPE_kwargs') -> T.Union[(coredata.UserOption, 'TYPE_var')]:
    optname = args[0]
    if (':' in optname):
        raise InterpreterException('Having a colon in option name is forbidden, projects are not allowed to directly access options of other subprojects.')
    opt = self.get_option_internal(optname)
    if isinstance(opt, coredata.UserFeatureOption):
        opt.name = optname
        return opt
    elif isinstance(opt, coredata.UserOption):
        return opt.value
    return opt