Mercurial > vim
view src/vim9class.c @ 31388:1ff377bc0726 v9.0.1027
patch 9.0.1027: LGTM is soon shutting down
Commit: https://github.com/vim/vim/commit/647b8dfa7f6300df833b4e5e2a38a4cdfa7de3fc
Author: Philip H <47042125+pheiduck@users.noreply.github.com>
Date: Wed Dec 7 23:00:26 2022 +0000
patch 9.0.1027: LGTM is soon shutting down
Problem: LGTM is soon shutting down.
Solution: Remove LGTM from CI. (closes https://github.com/vim/vim/issues/11671)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 08 Dec 2022 00:15:02 +0100 |
parents | 5acc0d2cf4f7 |
children | 307f68a41b03 |
line wrap: on
line source
/* vi:set ts=8 sts=4 sw=4 noet: * * VIM - Vi IMproved by Bram Moolenaar * * Do ":help uganda" in Vim to read copying and usage conditions. * Do ":help credits" in Vim to see a list of people who contributed. * See README.txt for an overview of the Vim source code. */ /* * vim9class.c: Vim9 script class support */ #define USING_FLOAT_STUFF #include "vim.h" #if defined(FEAT_EVAL) || defined(PROTO) // When not generating protos this is included in proto.h #ifdef PROTO # include "vim9.h" #endif /* * Handle ":class" and ":abstract class" up to ":endclass". */ void ex_class(exarg_T *eap) { int is_abstract = eap->cmdidx == CMD_abstract; char_u *arg = eap->arg; if (is_abstract) { if (STRNCMP(arg, "class", 5) != 0 || !VIM_ISWHITE(arg[5])) { semsg(_(e_invalid_argument_str), arg); return; } arg = skipwhite(arg + 5); } if (!ASCII_ISUPPER(*arg)) { semsg(_(e_class_name_must_start_with_uppercase_letter_str), arg); return; } // TODO: // generics: <Tkey, Tentry> // extends SomeClass // implements SomeInterface // specifies SomeInterface // TODO: handle until "endclass" is found: // object and class members (public, read access, private): // public this.varname // public static varname // this.varname // static varname // this._varname // static _varname // // constructors: // def new() // enddef // def newOther() // enddef // // methods (object, class, generics): // def someMethod() // enddef // static def someMethod() // enddef // def <Tval> someMethod() // enddef // static def <Tval> someMethod() // enddef } /* * Handle ":interface" up to ":endinterface". */ void ex_interface(exarg_T *eap UNUSED) { // TODO } /* * Handle ":enum" up to ":endenum". */ void ex_enum(exarg_T *eap UNUSED) { // TODO } /* * Handle ":type". */ void ex_type(exarg_T *eap UNUSED) { // TODO } #endif // FEAT_EVAL