mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 9.0.2076: Vim9: No support for type aliases
Problem: Vim9: No support for type aliases Solution: Implement :type command A type definition is giving a name to a type specification. This also known type alias. :type ListOfStrings = list<string> The type alias can be used wherever a built-in type can be used. The type alias name must start with an upper case character. closes: #13407 Signed-off-by: Christian Brabandt <cb@256bit.org> Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
This commit is contained in:
committed by
Christian Brabandt
parent
4bca4897a1
commit
ec3cebbd2b
@@ -3807,6 +3807,13 @@ exec_instructions(ectx_T *ectx)
|
||||
case ISN_STORE:
|
||||
--ectx->ec_stack.ga_len;
|
||||
tv = STACK_TV_VAR(iptr->isn_arg.number);
|
||||
if (STACK_TV_BOT(0)->v_type == VAR_TYPEALIAS)
|
||||
{
|
||||
semsg(_(e_using_typealias_as_variable),
|
||||
STACK_TV_BOT(0)->vval.v_typealias->ta_name);
|
||||
clear_tv(STACK_TV_BOT(0));
|
||||
goto on_error;
|
||||
}
|
||||
clear_tv(tv);
|
||||
*tv = *STACK_TV_BOT(0);
|
||||
break;
|
||||
@@ -7517,6 +7524,7 @@ tv2bool(typval_T *tv)
|
||||
case VAR_INSTR:
|
||||
case VAR_CLASS:
|
||||
case VAR_OBJECT:
|
||||
case VAR_TYPEALIAS:
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
|
Reference in New Issue
Block a user