comparison src/structs.h @ 19904:bd4f91762d0f v8.2.0508

patch 8.2.0508: Vim9: func and partial types not done yet Commit: https://github.com/vim/vim/commit/d77a8525d5438cae49f670eb473ef60d87ca5f54 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Apr 3 21:59:57 2020 +0200 patch 8.2.0508: Vim9: func and partial types not done yet Problem: Vim9: func and partial types not done yet Solution: Fill in details about func declaration, drop a separate partial declaration.
author Bram Moolenaar <Bram@vim.org>
date Fri, 03 Apr 2020 22:15:03 +0200
parents d73d982499ae
children d4fa9db88d16
comparison
equal deleted inserted replaced
19903:dab021621df2 19904:bd4f91762d0f
1340 // A type specification. 1340 // A type specification.
1341 typedef struct type_S type_T; 1341 typedef struct type_S type_T;
1342 struct type_S { 1342 struct type_S {
1343 vartype_T tt_type; 1343 vartype_T tt_type;
1344 short tt_argcount; // for func, partial, -1 for unknown 1344 short tt_argcount; // for func, partial, -1 for unknown
1345 short tt_flags; // TTFLAG_ values
1345 type_T *tt_member; // for list, dict, func return type 1346 type_T *tt_member; // for list, dict, func return type
1346 type_T *tt_args; // func arguments 1347 type_T **tt_args; // func arguments, allocated
1347 }; 1348 };
1349
1350 #define TTFLAG_VARARGS 1 // func args ends with "..."
1351 #define TTFLAG_OPTARG 2 // func arg type with "?"
1348 1352
1349 /* 1353 /*
1350 * Structure to hold an internal variable without a name. 1354 * Structure to hold an internal variable without a name.
1351 */ 1355 */
1352 typedef struct 1356 typedef struct