geany  1.38
About: Geany is a text editor (using GTK2) with basic features of an integrated development environment (syntax highlighting, code folding, symbol name auto-completion, ...). F: office T: editor programming GTK+ IDE
  Fossies Dox: geany-1.38.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

geany_jscript.c File Reference
#include "general.h"
#include <ctype.h>
#include <string.h>
#include "debug.h"
#include "entry.h"
#include "keyword.h"
#include "parse.h"
#include "read.h"
#include "routines.h"
#include "vstring.h"
#include "objpool.h"
#include "options.h"
#include "mbcs.h"
#include "trace.h"
#include "strlist.h"
Include dependency graph for geany_jscript.c:

Go to the source code of this file.

Classes

struct  sTokenInfo
 

Macros

#define isType(token, t)   (bool) ((token)->type == (t))
 
#define isKeyword(token, k)   (bool) ((token)->keyword == (k))
 
#define isIdentChar(c)
 
#define newToken()   (objPoolGet (TokenPool))
 
#define deleteToken(t)   (objPoolPut (TokenPool, (t)))
 
#define JSCRIPT_DEBUG_ENTER()   do { } while(0)
 JSCRIPT_DO_DEBUGGING. More...
 
#define JSCRIPT_DEBUG_LEAVE()   do { } while(0)
 
#define JSCRIPT_DEBUG_ENTER_TEXT(_szFormat, ...)   do { } while(0)
 
#define JSCRIPT_DEBUG_LEAVE_TEXT(_szFormat, ...)   do { } while(0)
 
#define JSCRIPT_DEBUG_PRINT(_szFormat, ...)   do { } while(0)
 
#define JSCRIPT_DEBUG_ASSERT(_condition, _szFormat, ...)   do { } while(0)
 
#define IS_STMT_SEPARATOR(t)
 
#define IS_BINARY_OPERATOR(t)
 

Typedefs

typedef int keywordId
 
typedef enum eTokenType tokenType
 
typedef struct sTokenInfo tokenInfo
 

Enumerations

enum  eKeywordId {
  KEYWORD_article , KEYWORD_book , KEYWORD_booklet , KEYWORD_conference ,
  KEYWORD_inbook , KEYWORD_incollection , KEYWORD_inproceedings , KEYWORD_manual ,
  KEYWORD_mastersthesis , KEYWORD_misc , KEYWORD_phdthesis , KEYWORD_proceedings ,
  KEYWORD_string , KEYWORD_techreport , KEYWORD_unpublished , KEYWORD_ATTRIBUTE ,
  KEYWORD_ABSTRACT , KEYWORD_ALIAS , KEYWORD_BOOLEAN , KEYWORD_BYTE ,
  KEYWORD_BAD_STATE , KEYWORD_BAD_TRANS , KEYWORD_BIND , KEYWORD_BIND_VAR ,
  KEYWORD_BIT , KEYWORD_BODY , KEYWORD_CASE , KEYWORD_CATCH ,
  KEYWORD_CHAR , KEYWORD_CLASS , KEYWORD_CONST , KEYWORD_CONSTRAINT ,
  KEYWORD_COVERAGE_BLOCK , KEYWORD_COVERAGE_DEF , KEYWORD_DEFAULT , KEYWORD_DELEGATE ,
  KEYWORD_DELETE , KEYWORD_DO , KEYWORD_DOUBLE , KEYWORD_ELSE ,
  KEYWORD_ENUM , KEYWORD_EXPLICIT , KEYWORD_EXTERN , KEYWORD_EXTENDS ,
  KEYWORD_EVENT , KEYWORD_FINAL , KEYWORD_FINALLY , KEYWORD_FLOAT ,
  KEYWORD_FOR , KEYWORD_FRIEND , KEYWORD_FUNCTION , KEYWORD_GET ,
  KEYWORD_GOTO , KEYWORD_IF , KEYWORD_IMPLEMENTS , KEYWORD_IMPORT ,
  KEYWORD_IN , KEYWORD_INLINE , KEYWORD_INT , KEYWORD_INOUT ,
  KEYWORD_INPUT , KEYWORD_INTEGER , KEYWORD_INTERFACE , KEYWORD_INTERNAL ,
  KEYWORD_LOCAL , KEYWORD_LONG , KEYWORD_M_BAD_STATE , KEYWORD_M_BAD_TRANS ,
  KEYWORD_M_STATE , KEYWORD_M_TRANS , KEYWORD_MODULE , KEYWORD_MUTABLE ,
  KEYWORD_NAMESPACE , KEYWORD_NEW , KEYWORD_NEWCOV , KEYWORD_NATIVE ,
  KEYWORD_NOEXCEPT , KEYWORD_OPERATOR , KEYWORD_OUT , KEYWORD_OUTPUT ,
  KEYWORD_OVERLOAD , KEYWORD_OVERRIDE , KEYWORD_PACKED , KEYWORD_PORT ,
  KEYWORD_PACKAGE , KEYWORD_PRIVATE , KEYWORD_PROGRAM , KEYWORD_PROTECTED ,
  KEYWORD_PUBLIC , KEYWORD_REF , KEYWORD_REGISTER , KEYWORD_RETURN ,
  KEYWORD_SHADOW , KEYWORD_STATE , KEYWORD_SET , KEYWORD_SHORT ,
  KEYWORD_SIGNAL , KEYWORD_SIGNED , KEYWORD_SIZE_T , KEYWORD_STATIC ,
  KEYWORD_STATIC_ASSERT , KEYWORD_STRING , KEYWORD_STRUCT , KEYWORD_SWITCH ,
  KEYWORD_SYNCHRONIZED , KEYWORD_TASK , KEYWORD_TEMPLATE , KEYWORD_THIS ,
  KEYWORD_THROW , KEYWORD_THROWS , KEYWORD_TRANSIENT , KEYWORD_TRANS ,
  KEYWORD_TRANSITION , KEYWORD_TRY , KEYWORD_TYPEDEF , KEYWORD_TYPENAME ,
  KEYWORD_UINT , KEYWORD_ULONG , KEYWORD_UNION , KEYWORD_UNSIGNED ,
  KEYWORD_USHORT , KEYWORD_USING , KEYWORD_VIRTUAL , KEYWORD_VOID ,
  KEYWORD_VOLATILE , KEYWORD_WCHAR_T , KEYWORD_WEAK , KEYWORD_WHILE ,
  KEYWORD_function , KEYWORD_capital_function , KEYWORD_object , KEYWORD_capital_object ,
  KEYWORD_prototype , KEYWORD_var , KEYWORD_const , KEYWORD_new ,
  KEYWORD_this , KEYWORD_for , KEYWORD_while , KEYWORD_do ,
  KEYWORD_if , KEYWORD_else , KEYWORD_switch , KEYWORD_try ,
  KEYWORD_catch , KEYWORD_finally , KEYWORD_return , KEYWORD_public ,
  KEYWORD_private , KEYWORD_protected , KEYWORD_internal , KEYWORD_final ,
  KEYWORD_native , KEYWORD_dynamic , KEYWORD_class , KEYWORD_interface ,
  KEYWORD_package , KEYWORD_extends , KEYWORD_static , KEYWORD_implements ,
  KEYWORD_get , KEYWORD_set , KEYWORD_import , KEYWORD_id ,
  KEYWORD_name , KEYWORD_script , KEYWORD_cdata , KEYWORD_mx ,
  KEYWORD_fx , KEYWORD_override , KEYWORD_allocatable , KEYWORD_assignment ,
  KEYWORD_associate , KEYWORD_automatic , KEYWORD_bind , KEYWORD_block ,
  KEYWORD_byte , KEYWORD_cexternal , KEYWORD_cglobal , KEYWORD_character ,
  KEYWORD_codimension , KEYWORD_common , KEYWORD_complex , KEYWORD_contains ,
  KEYWORD_data , KEYWORD_dimension , KEYWORD_dllexport , KEYWORD_dllimport ,
  KEYWORD_do , KEYWORD_double , KEYWORD_elemental , KEYWORD_end ,
  KEYWORD_entry , KEYWORD_enum , KEYWORD_enumerator , KEYWORD_equivalence ,
  KEYWORD_extends , KEYWORD_external , KEYWORD_forall , KEYWORD_format ,
  KEYWORD_function , KEYWORD_if , KEYWORD_implicit , KEYWORD_include ,
  KEYWORD_inline , KEYWORD_integer , KEYWORD_intent , KEYWORD_interface ,
  KEYWORD_intrinsic , KEYWORD_kind , KEYWORD_len , KEYWORD_logical ,
  KEYWORD_map , KEYWORD_module , KEYWORD_namelist , KEYWORD_operator ,
  KEYWORD_optional , KEYWORD_parameter , KEYWORD_pascal , KEYWORD_pexternal ,
  KEYWORD_pglobal , KEYWORD_pointer , KEYWORD_precision , KEYWORD_private ,
  KEYWORD_procedure , KEYWORD_program , KEYWORD_public , KEYWORD_pure ,
  KEYWORD_real , KEYWORD_record , KEYWORD_recursive , KEYWORD_save ,
  KEYWORD_select , KEYWORD_sequence , KEYWORD_static , KEYWORD_stdcall ,
  KEYWORD_structure , KEYWORD_subroutine , KEYWORD_target , KEYWORD_then ,
  KEYWORD_type , KEYWORD_union , KEYWORD_use , KEYWORD_value ,
  KEYWORD_virtual , KEYWORD_volatile , KEYWORD_where , KEYWORD_while ,
  KEYWORD_package , KEYWORD_import , KEYWORD_const , KEYWORD_type ,
  KEYWORD_var , KEYWORD_func , KEYWORD_struct , KEYWORD_interface ,
  KEYWORD_map , KEYWORD_chan , KEYWORD_function , KEYWORD_capital_function ,
  KEYWORD_capital_object , KEYWORD_prototype , KEYWORD_var , KEYWORD_let ,
  KEYWORD_const , KEYWORD_new , KEYWORD_this , KEYWORD_for ,
  KEYWORD_while , KEYWORD_do , KEYWORD_if , KEYWORD_else ,
  KEYWORD_switch , KEYWORD_try , KEYWORD_catch , KEYWORD_finally ,
  KEYWORD_sap , KEYWORD_return , KEYWORD_class , KEYWORD_extends ,
  KEYWORD_static , KEYWORD_default , KEYWORD_export , KEYWORD_async ,
  KEYWORD_is , KEYWORD_begin , KEYWORD_body , KEYWORD_cursor ,
  KEYWORD_declare , KEYWORD_end , KEYWORD_function , KEYWORD_if ,
  KEYWORD_else , KEYWORD_elseif , KEYWORD_endif , KEYWORD_loop ,
  KEYWORD_while , KEYWORD_case , KEYWORD_for , KEYWORD_do ,
  KEYWORD_call , KEYWORD_package , KEYWORD_pragma , KEYWORD_procedure ,
  KEYWORD_record , KEYWORD_object , KEYWORD_ref , KEYWORD_rem ,
  KEYWORD_return , KEYWORD_returns , KEYWORD_subtype , KEYWORD_table ,
  KEYWORD_trigger , KEYWORD_type , KEYWORD_index , KEYWORD_event ,
  KEYWORD_publication , KEYWORD_service , KEYWORD_domain , KEYWORD_datatype ,
  KEYWORD_result , KEYWORD_url , KEYWORD_internal , KEYWORD_external ,
  KEYWORD_when , KEYWORD_then , KEYWORD_variable , KEYWORD_exception ,
  KEYWORD_at , KEYWORD_on , KEYWORD_primary , KEYWORD_references ,
  KEYWORD_unique , KEYWORD_check , KEYWORD_constraint , KEYWORD_foreign ,
  KEYWORD_ml_table , KEYWORD_ml_table_lang , KEYWORD_ml_table_dnet , KEYWORD_ml_table_java ,
  KEYWORD_ml_table_chk , KEYWORD_ml_conn , KEYWORD_ml_conn_lang , KEYWORD_ml_conn_dnet ,
  KEYWORD_ml_conn_java , KEYWORD_ml_conn_chk , KEYWORD_ml_prop , KEYWORD_local ,
  KEYWORD_temporary , KEYWORD_drop , KEYWORD_view , KEYWORD_synonym ,
  KEYWORD_handler , KEYWORD_comment , KEYWORD_create , KEYWORD_go
}
 
enum  eTokenType {
  TOKEN_OPEN_CURLY = '{' , TOKEN_UNDEFINED = 256 , TOKEN_KEYWORD , TOKEN_IDENTIFIER ,
  TOKEN_NONE , TOKEN_ARGS , TOKEN_BRACE_CLOSE , TOKEN_BRACE_OPEN ,
  TOKEN_COMMA , TOKEN_DOUBLE_COLON , TOKEN_KEYWORD , TOKEN_NAME ,
  TOKEN_PACKAGE , TOKEN_PAREN_NAME , TOKEN_SEMICOLON , TOKEN_SPEC ,
  TOKEN_STAR , TOKEN_ARRAY , TOKEN_COUNT , TOKEN_UNDEFINED ,
  TOKEN_EOF , TOKEN_CHARACTER , TOKEN_CLOSE_PAREN , TOKEN_SEMICOLON ,
  TOKEN_COLON , TOKEN_COMMA , TOKEN_KEYWORD , TOKEN_OPEN_PAREN ,
  TOKEN_IDENTIFIER , TOKEN_STRING , TOKEN_PERIOD , TOKEN_OPEN_CURLY ,
  TOKEN_CLOSE_CURLY , TOKEN_EQUAL_SIGN , TOKEN_EXCLAMATION , TOKEN_FORWARD_SLASH ,
  TOKEN_OPEN_SQUARE , TOKEN_CLOSE_SQUARE , TOKEN_OPEN_MXML , TOKEN_CLOSE_MXML ,
  TOKEN_CLOSE_SGML , TOKEN_LESS_THAN , TOKEN_GREATER_THAN , TOKEN_QUESTION_MARK ,
  TOKEN_OPEN_NAMESPACE , TOKEN_POSTFIX_OPERATOR , TOKEN_STAR , TOKEN_BINARY_OPERATOR ,
  TOKEN_UNDEFINED , TOKEN_COMMA , TOKEN_DOUBLE_COLON , TOKEN_IDENTIFIER ,
  TOKEN_KEYWORD , TOKEN_LABEL , TOKEN_NUMERIC , TOKEN_OPERATOR ,
  TOKEN_PAREN_CLOSE , TOKEN_PAREN_OPEN , TOKEN_SQUARE_CLOSE , TOKEN_SQUARE_OPEN ,
  TOKEN_PERCENT , TOKEN_STATEMENT_END , TOKEN_STRING , TOKEN_NONE = -1 ,
  TOKEN_OTHER , TOKEN_KEYWORD , TOKEN_IDENTIFIER , TOKEN_STRING ,
  TOKEN_OPEN_PAREN , TOKEN_CLOSE_PAREN , TOKEN_OPEN_CURLY , TOKEN_CLOSE_CURLY ,
  TOKEN_OPEN_SQUARE , TOKEN_CLOSE_SQUARE , TOKEN_SEMICOLON , TOKEN_STAR ,
  TOKEN_LEFT_ARROW , TOKEN_DOT , TOKEN_COMMA , TOKEN_EOF ,
  TOKEN_UNDEFINED , TOKEN_EOF , TOKEN_CHARACTER , TOKEN_CLOSE_PAREN ,
  TOKEN_SEMICOLON , TOKEN_COLON , TOKEN_COMMA , TOKEN_KEYWORD ,
  TOKEN_OPEN_PAREN , TOKEN_IDENTIFIER , TOKEN_STRING , TOKEN_TEMPLATE_STRING ,
  TOKEN_PERIOD , TOKEN_OPEN_CURLY , TOKEN_CLOSE_CURLY , TOKEN_EQUAL_SIGN ,
  TOKEN_OPEN_SQUARE , TOKEN_CLOSE_SQUARE , TOKEN_REGEXP , TOKEN_POSTFIX_OPERATOR ,
  TOKEN_STAR , TOKEN_BINARY_OPERATOR , TOKEN_UNDEFINED , TOKEN_EOF ,
  TOKEN_CHARACTER , TOKEN_CLOSE_PAREN , TOKEN_SEMICOLON , TOKEN_COLON ,
  TOKEN_COMMA , TOKEN_KEYWORD , TOKEN_OPEN_PAREN , TOKEN_OPERATOR ,
  TOKEN_IDENTIFIER , TOKEN_STRING , TOKEN_PERIOD , TOKEN_OPEN_CURLY ,
  TOKEN_CLOSE_CURLY , TOKEN_EQUAL_SIGN , TOKEN_OPEN_SQUARE , TOKEN_CLOSE_SQUARE ,
  TOKEN_VARIABLE , TOKEN_AMPERSAND , TOKEN_UNDEFINED , TOKEN_EOF ,
  TOKEN_CLOSE_PAREN , TOKEN_SEMICOLON , TOKEN_COLON , TOKEN_COMMA ,
  TOKEN_KEYWORD , TOKEN_OPEN_PAREN , TOKEN_OPERATOR , TOKEN_IDENTIFIER ,
  TOKEN_STRING , TOKEN_PERIOD , TOKEN_OPEN_CURLY , TOKEN_CLOSE_CURLY ,
  TOKEN_EQUAL_SIGN , TOKEN_OPEN_SQUARE , TOKEN_CLOSE_SQUARE , TOKEN_VARIABLE ,
  TOKEN_UNDEFINED , TOKEN_BLOCK_LABEL_BEGIN , TOKEN_BLOCK_LABEL_END , TOKEN_CHARACTER ,
  TOKEN_CLOSE_PAREN , TOKEN_COLON , TOKEN_SEMICOLON , TOKEN_COMMA ,
  TOKEN_IDENTIFIER , TOKEN_KEYWORD , TOKEN_OPEN_PAREN , TOKEN_OPERATOR ,
  TOKEN_OTHER , TOKEN_STRING , TOKEN_PERIOD , TOKEN_OPEN_CURLY ,
  TOKEN_CLOSE_CURLY , TOKEN_OPEN_SQUARE , TOKEN_CLOSE_SQUARE , TOKEN_TILDE ,
  TOKEN_FORWARD_SLASH , TOKEN_EQUAL
}
 
enum  jsKind {
  JSTAG_FUNCTION , JSTAG_CLASS , JSTAG_METHOD , JSTAG_PROPERTY ,
  JSTAG_CONSTANT , JSTAG_VARIABLE , JSTAG_GENERATOR , JSTAG_COUNT
}
 

Functions

static void readTokenFull (tokenInfo *const token, bool include_newlines, vString *const repr)
 
static void parseFunction (tokenInfo *const token)
 
static bool parseBlock (tokenInfo *const token, const vString *const parentScope)
 
static bool parseLine (tokenInfo *const token, bool is_inside_class)
 
static void parseUI5 (tokenInfo *const token)
 
static void * newPoolToken (void *createArg)
 
static void clearPoolToken (void *data)
 
static void deletePoolToken (void *data)
 
static void copyToken (tokenInfo *const dest, const tokenInfo *const src, bool const include_non_read_info)
 
static void makeJsTagCommon (const tokenInfo *const token, const jsKind kind, vString *const signature, vString *const inheritance, bool anonymous)
 
static void makeJsTag (const tokenInfo *const token, const jsKind kind, vString *const signature, vString *const inheritance)
 
static void makeClassTagCommon (tokenInfo *const token, vString *const signature, vString *const inheritance, bool anonymous)
 
static void makeClassTag (tokenInfo *const token, vString *const signature, vString *const inheritance)
 
static void makeFunctionTagCommon (tokenInfo *const token, vString *const signature, bool generator, bool anonymous)
 
static void makeFunctionTag (tokenInfo *const token, vString *const signature, bool generator)
 
static int handleUnicodeCodePoint (uint32_t point)
 
static bool readUnicodeEscapeSequenceValue (uint32_t *const value, bool *const isUTF16)
 
static int valueToXDigit (unsigned char v)
 
static int readUnicodeEscapeSequence (const int fallback)
 
static void parseString (vString *const string, const int delimiter)
 
static void parseRegExp (void)
 
static void parseIdentifier (vString *const string, const int firstChar)
 
static void parseTemplateString (vString *const string)
 
static void readToken (tokenInfo *const token)
 
static void skipArgumentList (tokenInfo *const token, bool include_newlines, vString *const repr)
 
static void skipArrayList (tokenInfo *const token, bool include_newlines)
 
static void addContext (tokenInfo *const parent, const tokenInfo *const child)
 
static void addToScope (tokenInfo *const token, const vString *const extra)
 
static bool findCmdTerm (tokenInfo *const token, bool include_newlines, bool include_commas)
 
static void parseSwitch (tokenInfo *const token)
 
static bool parseLoop (tokenInfo *const token)
 
static bool parseIf (tokenInfo *const token)
 
static bool parseMethods (tokenInfo *const token, const tokenInfo *const class, const bool is_es6_class)
 
static bool parseES6Class (tokenInfo *const token, const tokenInfo *targetName)
 
static bool parseStatement (tokenInfo *const token, bool is_inside_class)
 
static void parseJsFile (tokenInfo *const token)
 
static void initialize (const langType language)
 
static void finalize (langType language, bool initialized)
 
static void findJsTags (void)
 
parserDefinitionJavaScriptParser (void)
 

Variables

static stringListClassNames
 JSCRIPT_DO_DEBUGGING. More...
 
static stringListFunctionNames
 
static tokenType LastTokenType
 
static tokenInfoNextToken
 
static langType Lang_js
 
static objPoolTokenPool = NULL
 
static kindDefinition JsKinds []
 
static const keywordTable JsKeywordTable []
 

Macro Definition Documentation

◆ deleteToken

#define deleteToken (   t)    (objPoolPut (TokenPool, (t)))

Definition at line 61 of file geany_jscript.c.

◆ IS_BINARY_OPERATOR

#define IS_BINARY_OPERATOR (   t)
Value:
((t) == TOKEN_EQUAL_SIGN || \
(t) == TOKEN_COLON || \
(t) == TOKEN_PERIOD || \
(t) == TOKEN_STAR || \
@ TOKEN_STAR
@ TOKEN_BINARY_OPERATOR
@ TOKEN_COLON
@ TOKEN_EQUAL_SIGN
@ TOKEN_PERIOD

◆ IS_STMT_SEPARATOR

#define IS_STMT_SEPARATOR (   t)
Value:
((t) == TOKEN_SEMICOLON || \
(t) == TOKEN_EOF || \
(t) == TOKEN_COMMA || \
@ TOKEN_OPEN_CURLY
@ TOKEN_COMMA
@ TOKEN_EOF
@ TOKEN_SEMICOLON

◆ isIdentChar

#define isIdentChar (   c)
Value:
(isalpha (c) || isdigit (c) || (c) == '$' || \
(c) == '@' || (c) == '_' || (c) == '#' || \
(c) >= 0x80)

Definition at line 56 of file geany_jscript.c.

◆ isKeyword

#define isKeyword (   token,
 
)    (bool) ((token)->keyword == (k))

Definition at line 55 of file geany_jscript.c.

◆ isType

#define isType (   token,
 
)    (bool) ((token)->type == (t))

Definition at line 54 of file geany_jscript.c.

◆ JSCRIPT_DEBUG_ASSERT

#define JSCRIPT_DEBUG_ASSERT (   _condition,
  _szFormat,
  ... 
)    do { } while(0)

Definition at line 104 of file geany_jscript.c.

◆ JSCRIPT_DEBUG_ENTER

#define JSCRIPT_DEBUG_ENTER ( )    do { } while(0)

JSCRIPT_DO_DEBUGGING.

Definition at line 96 of file geany_jscript.c.

◆ JSCRIPT_DEBUG_ENTER_TEXT

#define JSCRIPT_DEBUG_ENTER_TEXT (   _szFormat,
  ... 
)    do { } while(0)

Definition at line 99 of file geany_jscript.c.

◆ JSCRIPT_DEBUG_LEAVE

#define JSCRIPT_DEBUG_LEAVE ( )    do { } while(0)

Definition at line 97 of file geany_jscript.c.

◆ JSCRIPT_DEBUG_LEAVE_TEXT

#define JSCRIPT_DEBUG_LEAVE_TEXT (   _szFormat,
  ... 
)    do { } while(0)

Definition at line 100 of file geany_jscript.c.

◆ JSCRIPT_DEBUG_PRINT

#define JSCRIPT_DEBUG_PRINT (   _szFormat,
  ... 
)    do { } while(0)

Definition at line 102 of file geany_jscript.c.

◆ newToken

#define newToken (   void)    (objPoolGet (TokenPool))

Definition at line 60 of file geany_jscript.c.

Typedef Documentation

◆ keywordId

typedef int keywordId

Definition at line 149 of file geany_jscript.c.

◆ tokenInfo

typedef struct sTokenInfo tokenInfo

◆ tokenType

typedef enum eTokenType tokenType

Enumeration Type Documentation

◆ eKeywordId

enum eKeywordId
Enumerator
KEYWORD_article 
KEYWORD_book 
KEYWORD_booklet 
KEYWORD_conference 
KEYWORD_inbook 
KEYWORD_incollection 
KEYWORD_inproceedings 
KEYWORD_manual 
KEYWORD_mastersthesis 
KEYWORD_misc 
KEYWORD_phdthesis 
KEYWORD_proceedings 
KEYWORD_string 
KEYWORD_techreport 
KEYWORD_unpublished 
KEYWORD_ATTRIBUTE 
KEYWORD_ABSTRACT 
KEYWORD_ALIAS 
KEYWORD_BOOLEAN 
KEYWORD_BYTE 
KEYWORD_BAD_STATE 
KEYWORD_BAD_TRANS 
KEYWORD_BIND 
KEYWORD_BIND_VAR 
KEYWORD_BIT 
KEYWORD_BODY 
KEYWORD_CASE 
KEYWORD_CATCH 
KEYWORD_CHAR 
KEYWORD_CLASS 
KEYWORD_CONST 
KEYWORD_CONSTRAINT 
KEYWORD_COVERAGE_BLOCK 
KEYWORD_COVERAGE_DEF 
KEYWORD_DEFAULT 
KEYWORD_DELEGATE 
KEYWORD_DELETE 
KEYWORD_DO 
KEYWORD_DOUBLE 
KEYWORD_ELSE 
KEYWORD_ENUM 
KEYWORD_EXPLICIT 
KEYWORD_EXTERN 
KEYWORD_EXTENDS 
KEYWORD_EVENT 
KEYWORD_FINAL 
KEYWORD_FINALLY 
KEYWORD_FLOAT 
KEYWORD_FOR 
KEYWORD_FRIEND 
KEYWORD_FUNCTION 
KEYWORD_GET 
KEYWORD_GOTO 
KEYWORD_IF 
KEYWORD_IMPLEMENTS 
KEYWORD_IMPORT 
KEYWORD_IN 
KEYWORD_INLINE 
KEYWORD_INT 
KEYWORD_INOUT 
KEYWORD_INPUT 
KEYWORD_INTEGER 
KEYWORD_INTERFACE 
KEYWORD_INTERNAL 
KEYWORD_LOCAL 
KEYWORD_LONG 
KEYWORD_M_BAD_STATE 
KEYWORD_M_BAD_TRANS 
KEYWORD_M_STATE 
KEYWORD_M_TRANS 
KEYWORD_MODULE 
KEYWORD_MUTABLE 
KEYWORD_NAMESPACE 
KEYWORD_NEW 
KEYWORD_NEWCOV 
KEYWORD_NATIVE 
KEYWORD_NOEXCEPT 
KEYWORD_OPERATOR 
KEYWORD_OUT 
KEYWORD_OUTPUT 
KEYWORD_OVERLOAD 
KEYWORD_OVERRIDE 
KEYWORD_PACKED 
KEYWORD_PORT 
KEYWORD_PACKAGE 
KEYWORD_PRIVATE 
KEYWORD_PROGRAM 
KEYWORD_PROTECTED 
KEYWORD_PUBLIC 
KEYWORD_REF 
KEYWORD_REGISTER 
KEYWORD_RETURN 
KEYWORD_SHADOW 
KEYWORD_STATE 
KEYWORD_SET 
KEYWORD_SHORT 
KEYWORD_SIGNAL 
KEYWORD_SIGNED 
KEYWORD_SIZE_T 
KEYWORD_STATIC 
KEYWORD_STATIC_ASSERT 
KEYWORD_STRING 
KEYWORD_STRUCT 
KEYWORD_SWITCH 
KEYWORD_SYNCHRONIZED 
KEYWORD_TASK 
KEYWORD_TEMPLATE 
KEYWORD_THIS 
KEYWORD_THROW 
KEYWORD_THROWS 
KEYWORD_TRANSIENT 
KEYWORD_TRANS 
KEYWORD_TRANSITION 
KEYWORD_TRY 
KEYWORD_TYPEDEF 
KEYWORD_TYPENAME 
KEYWORD_UINT 
KEYWORD_ULONG 
KEYWORD_UNION 
KEYWORD_UNSIGNED 
KEYWORD_USHORT 
KEYWORD_USING 
KEYWORD_VIRTUAL 
KEYWORD_VOID 
KEYWORD_VOLATILE 
KEYWORD_WCHAR_T 
KEYWORD_WEAK 
KEYWORD_WHILE 
KEYWORD_function 
KEYWORD_capital_function 
KEYWORD_object 
KEYWORD_capital_object 
KEYWORD_prototype 
KEYWORD_var 
KEYWORD_const 
KEYWORD_new 
KEYWORD_this 
KEYWORD_for 
KEYWORD_while 
KEYWORD_do 
KEYWORD_if 
KEYWORD_else 
KEYWORD_switch 
KEYWORD_try 
KEYWORD_catch 
KEYWORD_finally 
KEYWORD_return 
KEYWORD_public 
KEYWORD_private 
KEYWORD_protected 
KEYWORD_internal 
KEYWORD_final 
KEYWORD_native 
KEYWORD_dynamic 
KEYWORD_class 
KEYWORD_interface 
KEYWORD_package 
KEYWORD_extends 
KEYWORD_static 
KEYWORD_implements 
KEYWORD_get 
KEYWORD_set 
KEYWORD_import 
KEYWORD_id 
KEYWORD_name 
KEYWORD_script 
KEYWORD_cdata 
KEYWORD_mx 
KEYWORD_fx 
KEYWORD_override 
KEYWORD_allocatable 
KEYWORD_assignment 
KEYWORD_associate 
KEYWORD_automatic 
KEYWORD_bind 
KEYWORD_block 
KEYWORD_byte 
KEYWORD_cexternal 
KEYWORD_cglobal 
KEYWORD_character 
KEYWORD_codimension 
KEYWORD_common 
KEYWORD_complex 
KEYWORD_contains 
KEYWORD_data 
KEYWORD_dimension 
KEYWORD_dllexport 
KEYWORD_dllimport 
KEYWORD_do 
KEYWORD_double 
KEYWORD_elemental 
KEYWORD_end 
KEYWORD_entry 
KEYWORD_enum 
KEYWORD_enumerator 
KEYWORD_equivalence 
KEYWORD_extends 
KEYWORD_external 
KEYWORD_forall 
KEYWORD_format 
KEYWORD_function 
KEYWORD_if 
KEYWORD_implicit 
KEYWORD_include 
KEYWORD_inline 
KEYWORD_integer 
KEYWORD_intent 
KEYWORD_interface 
KEYWORD_intrinsic 
KEYWORD_kind 
KEYWORD_len 
KEYWORD_logical 
KEYWORD_map 
KEYWORD_module 
KEYWORD_namelist 
KEYWORD_operator 
KEYWORD_optional 
KEYWORD_parameter 
KEYWORD_pascal 
KEYWORD_pexternal 
KEYWORD_pglobal 
KEYWORD_pointer 
KEYWORD_precision 
KEYWORD_private 
KEYWORD_procedure 
KEYWORD_program 
KEYWORD_public 
KEYWORD_pure 
KEYWORD_real 
KEYWORD_record 
KEYWORD_recursive 
KEYWORD_save 
KEYWORD_select 
KEYWORD_sequence 
KEYWORD_static 
KEYWORD_stdcall 
KEYWORD_structure 
KEYWORD_subroutine 
KEYWORD_target 
KEYWORD_then 
KEYWORD_type 
KEYWORD_union 
KEYWORD_use 
KEYWORD_value 
KEYWORD_virtual 
KEYWORD_volatile 
KEYWORD_where 
KEYWORD_while 
KEYWORD_package 
KEYWORD_import 
KEYWORD_const 
KEYWORD_type 
KEYWORD_var 
KEYWORD_func 
KEYWORD_struct 
KEYWORD_interface 
KEYWORD_map 
KEYWORD_chan 
KEYWORD_function 
KEYWORD_capital_function 
KEYWORD_capital_object 
KEYWORD_prototype 
KEYWORD_var 
KEYWORD_let 
KEYWORD_const 
KEYWORD_new 
KEYWORD_this 
KEYWORD_for 
KEYWORD_while 
KEYWORD_do 
KEYWORD_if 
KEYWORD_else 
KEYWORD_switch 
KEYWORD_try 
KEYWORD_catch 
KEYWORD_finally 
KEYWORD_sap 
KEYWORD_return 
KEYWORD_class 
KEYWORD_extends 
KEYWORD_static 
KEYWORD_default 
KEYWORD_export 
KEYWORD_async 
KEYWORD_is 
KEYWORD_begin 
KEYWORD_body 
KEYWORD_cursor 
KEYWORD_declare 
KEYWORD_end 
KEYWORD_function 
KEYWORD_if 
KEYWORD_else 
KEYWORD_elseif 
KEYWORD_endif 
KEYWORD_loop 
KEYWORD_while 
KEYWORD_case 
KEYWORD_for 
KEYWORD_do 
KEYWORD_call 
KEYWORD_package 
KEYWORD_pragma 
KEYWORD_procedure 
KEYWORD_record 
KEYWORD_object 
KEYWORD_ref 
KEYWORD_rem 
KEYWORD_return 
KEYWORD_returns 
KEYWORD_subtype 
KEYWORD_table 
KEYWORD_trigger 
KEYWORD_type 
KEYWORD_index 
KEYWORD_event 
KEYWORD_publication 
KEYWORD_service 
KEYWORD_domain 
KEYWORD_datatype 
KEYWORD_result 
KEYWORD_url 
KEYWORD_internal 
KEYWORD_external 
KEYWORD_when 
KEYWORD_then 
KEYWORD_variable 
KEYWORD_exception 
KEYWORD_at 
KEYWORD_on 
KEYWORD_primary 
KEYWORD_references 
KEYWORD_unique 
KEYWORD_check 
KEYWORD_constraint 
KEYWORD_foreign 
KEYWORD_ml_table 
KEYWORD_ml_table_lang 
KEYWORD_ml_table_dnet 
KEYWORD_ml_table_java 
KEYWORD_ml_table_chk 
KEYWORD_ml_conn 
KEYWORD_ml_conn_lang 
KEYWORD_ml_conn_dnet 
KEYWORD_ml_conn_java 
KEYWORD_ml_conn_chk 
KEYWORD_ml_prop 
KEYWORD_local 
KEYWORD_temporary 
KEYWORD_drop 
KEYWORD_view 
KEYWORD_synonym 
KEYWORD_handler 
KEYWORD_comment 
KEYWORD_create 
KEYWORD_go 

Definition at line 121 of file geany_jscript.c.

◆ eTokenType

enum eTokenType
Enumerator
TOKEN_OPEN_CURLY 
TOKEN_UNDEFINED 
TOKEN_KEYWORD 
TOKEN_IDENTIFIER 
TOKEN_NONE 
TOKEN_ARGS 
TOKEN_BRACE_CLOSE 
TOKEN_BRACE_OPEN 
TOKEN_COMMA 
TOKEN_DOUBLE_COLON 
TOKEN_KEYWORD 
TOKEN_NAME 
TOKEN_PACKAGE 
TOKEN_PAREN_NAME 
TOKEN_SEMICOLON 
TOKEN_SPEC 
TOKEN_STAR 
TOKEN_ARRAY 
TOKEN_COUNT 
TOKEN_UNDEFINED 
TOKEN_EOF 
TOKEN_CHARACTER 
TOKEN_CLOSE_PAREN 
TOKEN_SEMICOLON 
TOKEN_COLON 
TOKEN_COMMA 
TOKEN_KEYWORD 
TOKEN_OPEN_PAREN 
TOKEN_IDENTIFIER 
TOKEN_STRING 
TOKEN_PERIOD 
TOKEN_OPEN_CURLY 
TOKEN_CLOSE_CURLY 
TOKEN_EQUAL_SIGN 
TOKEN_EXCLAMATION 
TOKEN_FORWARD_SLASH 
TOKEN_OPEN_SQUARE 
TOKEN_CLOSE_SQUARE 
TOKEN_OPEN_MXML 
TOKEN_CLOSE_MXML 
TOKEN_CLOSE_SGML 
TOKEN_LESS_THAN 
TOKEN_GREATER_THAN 
TOKEN_QUESTION_MARK 
TOKEN_OPEN_NAMESPACE 
TOKEN_POSTFIX_OPERATOR 
TOKEN_STAR 
TOKEN_BINARY_OPERATOR 
TOKEN_UNDEFINED 
TOKEN_COMMA 
TOKEN_DOUBLE_COLON 
TOKEN_IDENTIFIER 
TOKEN_KEYWORD 
TOKEN_LABEL 
TOKEN_NUMERIC 
TOKEN_OPERATOR 
TOKEN_PAREN_CLOSE 
TOKEN_PAREN_OPEN 
TOKEN_SQUARE_CLOSE 
TOKEN_SQUARE_OPEN 
TOKEN_PERCENT 
TOKEN_STATEMENT_END 
TOKEN_STRING 
TOKEN_NONE 
TOKEN_OTHER 
TOKEN_KEYWORD 
TOKEN_IDENTIFIER 
TOKEN_STRING 
TOKEN_OPEN_PAREN 
TOKEN_CLOSE_PAREN 
TOKEN_OPEN_CURLY 
TOKEN_CLOSE_CURLY 
TOKEN_OPEN_SQUARE 
TOKEN_CLOSE_SQUARE 
TOKEN_SEMICOLON 
TOKEN_STAR 
TOKEN_LEFT_ARROW 
TOKEN_DOT 
TOKEN_COMMA 
TOKEN_EOF 
TOKEN_UNDEFINED 
TOKEN_EOF 
TOKEN_CHARACTER 
TOKEN_CLOSE_PAREN 
TOKEN_SEMICOLON 
TOKEN_COLON 
TOKEN_COMMA 
TOKEN_KEYWORD 
TOKEN_OPEN_PAREN 
TOKEN_IDENTIFIER 
TOKEN_STRING 
TOKEN_TEMPLATE_STRING 
TOKEN_PERIOD 
TOKEN_OPEN_CURLY 
TOKEN_CLOSE_CURLY 
TOKEN_EQUAL_SIGN 
TOKEN_OPEN_SQUARE 
TOKEN_CLOSE_SQUARE 
TOKEN_REGEXP 
TOKEN_POSTFIX_OPERATOR 
TOKEN_STAR 
TOKEN_BINARY_OPERATOR 
TOKEN_UNDEFINED 
TOKEN_EOF 
TOKEN_CHARACTER 
TOKEN_CLOSE_PAREN 
TOKEN_SEMICOLON 
TOKEN_COLON 
TOKEN_COMMA 
TOKEN_KEYWORD 
TOKEN_OPEN_PAREN 
TOKEN_OPERATOR 
TOKEN_IDENTIFIER 
TOKEN_STRING 
TOKEN_PERIOD 
TOKEN_OPEN_CURLY 
TOKEN_CLOSE_CURLY 
TOKEN_EQUAL_SIGN 
TOKEN_OPEN_SQUARE 
TOKEN_CLOSE_SQUARE 
TOKEN_VARIABLE 
TOKEN_AMPERSAND 
TOKEN_UNDEFINED 
TOKEN_EOF 
TOKEN_CLOSE_PAREN 
TOKEN_SEMICOLON 
TOKEN_COLON 
TOKEN_COMMA 
TOKEN_KEYWORD 
TOKEN_OPEN_PAREN 
TOKEN_OPERATOR 
TOKEN_IDENTIFIER 
TOKEN_STRING 
TOKEN_PERIOD 
TOKEN_OPEN_CURLY 
TOKEN_CLOSE_CURLY 
TOKEN_EQUAL_SIGN 
TOKEN_OPEN_SQUARE 
TOKEN_CLOSE_SQUARE 
TOKEN_VARIABLE 
TOKEN_UNDEFINED 
TOKEN_BLOCK_LABEL_BEGIN 
TOKEN_BLOCK_LABEL_END 
TOKEN_CHARACTER 
TOKEN_CLOSE_PAREN 
TOKEN_COLON 
TOKEN_SEMICOLON 
TOKEN_COMMA 
TOKEN_IDENTIFIER 
TOKEN_KEYWORD 
TOKEN_OPEN_PAREN 
TOKEN_OPERATOR 
TOKEN_OTHER 
TOKEN_STRING 
TOKEN_PERIOD 
TOKEN_OPEN_CURLY 
TOKEN_CLOSE_CURLY 
TOKEN_OPEN_SQUARE 
TOKEN_CLOSE_SQUARE 
TOKEN_TILDE 
TOKEN_FORWARD_SLASH 
TOKEN_EQUAL 

Definition at line 151 of file geany_jscript.c.

◆ jsKind

enum jsKind
Enumerator
JSTAG_FUNCTION 
JSTAG_CLASS 
JSTAG_METHOD 
JSTAG_PROPERTY 
JSTAG_CONSTANT 
JSTAG_VARIABLE 
JSTAG_GENERATOR 
JSTAG_COUNT 

Definition at line 202 of file geany_jscript.c.

Function Documentation

◆ addContext()

static void addContext ( tokenInfo *const  parent,
const tokenInfo *const  child 
)
static

Definition at line 1153 of file geany_jscript.c.

References tokenInfo::string, vStringCat(), vStringLength, and vStringPut().

Referenced by parseFunction(), and parseStatement().

◆ addToScope()

static void addToScope ( tokenInfo *const  token,
const vString *const  extra 
)
static

Definition at line 1162 of file geany_jscript.c.

References tokenInfo::scope, vStringCat(), vStringLength, and vStringPut().

Referenced by parseBlock(), parseMethods(), and parseStatement().

◆ clearPoolToken()

◆ copyToken()

static void copyToken ( tokenInfo *const  dest,
const tokenInfo *const  src,
bool const  include_non_read_info 
)
static

◆ deletePoolToken()

static void deletePoolToken ( void *  data)
static

Definition at line 288 of file geany_jscript.c.

References eFree(), tokenInfo::scope, tokenInfo::string, and vStringDelete().

Referenced by initialize().

◆ finalize()

static void finalize ( langType  language,
bool  initialized 
)
static

Definition at line 2498 of file geany_jscript.c.

References objPoolDelete(), and TokenPool.

Referenced by JavaScriptParser().

◆ findCmdTerm()

static bool findCmdTerm ( tokenInfo *const  token,
bool  include_newlines,
bool  include_commas 
)
static

◆ findJsTags()

static void findJsTags ( void  )
static

◆ handleUnicodeCodePoint()

static int handleUnicodeCodePoint ( uint32_t  point)
static

Definition at line 465 of file geany_jscript.c.

References ARRAY_SIZE, Assert, errno, Lang_js, NULL, ungetcToInputFile(), and verbose().

Referenced by readUnicodeEscapeSequence().

◆ initialize()

static void initialize ( const langType  language)
static

◆ JavaScriptParser()

◆ makeClassTag()

static void makeClassTag ( tokenInfo *const  token,
vString *const  signature,
vString *const  inheritance 
)
static

Definition at line 419 of file geany_jscript.c.

References makeClassTagCommon(), and signature.

Referenced by parseStatement().

◆ makeClassTagCommon()

static void makeClassTagCommon ( tokenInfo *const  token,
vString *const  signature,
vString *const  inheritance,
bool  anonymous 
)
static

◆ makeFunctionTag()

static void makeFunctionTag ( tokenInfo *const  token,
vString *const  signature,
bool  generator 
)
static

Definition at line 453 of file geany_jscript.c.

References makeFunctionTagCommon(), and signature.

Referenced by parseStatement().

◆ makeFunctionTagCommon()

static void makeFunctionTagCommon ( tokenInfo *const  token,
vString *const  signature,
bool  generator,
bool  anonymous 
)
static

◆ makeJsTag()

static void makeJsTag ( const tokenInfo *const  token,
const jsKind  kind,
vString *const  signature,
vString *const  inheritance 
)
static

Definition at line 385 of file geany_jscript.c.

References makeJsTagCommon(), and signature.

Referenced by parseES6Class(), parseMethods(), and parseStatement().

◆ makeJsTagCommon()

◆ newPoolToken()

static void * newPoolToken ( void *  createArg)
static

Definition at line 264 of file geany_jscript.c.

References tokenInfo::scope, tokenInfo::string, vStringNew(), and xMalloc.

Referenced by initialize().

◆ parseBlock()

◆ parseES6Class()

◆ parseFunction()

◆ parseIdentifier()

static void parseIdentifier ( vString *const  string,
const int  firstChar 
)
static

◆ parseIf()

static bool parseIf ( tokenInfo *const  token)
static

◆ parseJsFile()

static void parseJsFile ( tokenInfo *const  token)
static

◆ parseLine()

◆ parseLoop()

static bool parseLoop ( tokenInfo *const  token)
static

◆ parseMethods()

◆ parseRegExp()

static void parseRegExp ( void  )
static

Definition at line 732 of file geany_jscript.c.

References getcFromInputFile(), and ungetcToInputFile().

Referenced by readTokenFull().

◆ parseStatement()

◆ parseString()

static void parseString ( vString *const  string,
const int  delimiter 
)
static

◆ parseSwitch()

static void parseSwitch ( tokenInfo *const  token)
static

Definition at line 1210 of file geany_jscript.c.

References isType, NULL, parseBlock(), readToken(), skipArgumentList(), TOKEN_OPEN_CURLY, and TOKEN_OPEN_PAREN.

Referenced by parseLine().

◆ parseTemplateString()

static void parseTemplateString ( vString *const  string)
static

◆ parseUI5()

static void parseUI5 ( tokenInfo *const  token)
static

◆ readToken()

static void readToken ( tokenInfo *const  token)
static

◆ readTokenFull()

◆ readUnicodeEscapeSequence()

static int readUnicodeEscapeSequence ( const int  fallback)
static

◆ readUnicodeEscapeSequenceValue()

static bool readUnicodeEscapeSequenceValue ( uint32_t *const  value,
bool *const  isUTF16 
)
static

Definition at line 552 of file geany_jscript.c.

References ARRAY_SIZE, getcFromInputFile(), and ungetcToInputFile().

Referenced by readUnicodeEscapeSequence().

◆ skipArgumentList()

static void skipArgumentList ( tokenInfo *const  token,
bool  include_newlines,
vString *const  repr 
)
static

◆ skipArrayList()

static void skipArrayList ( tokenInfo *const  token,
bool  include_newlines 
)
static

◆ valueToXDigit()

static int valueToXDigit ( unsigned char  v)
static

Definition at line 624 of file geany_jscript.c.

References Assert.

Referenced by readUnicodeEscapeSequence().

Variable Documentation

◆ ClassNames

stringList* ClassNames
static

JSCRIPT_DO_DEBUGGING.

Definition at line 116 of file geany_jscript.c.

Referenced by findJsTags(), makeClassTagCommon(), and parseStatement().

◆ FunctionNames

stringList* FunctionNames
static

Definition at line 117 of file geany_jscript.c.

Referenced by findJsTags(), makeFunctionTagCommon(), and parseStatement().

◆ JsKeywordTable

const keywordTable JsKeywordTable[]
static
Initial value:
= {
{ "function", KEYWORD_function },
{ "Function", KEYWORD_capital_function },
{ "Object", KEYWORD_capital_object },
{ "prototype", KEYWORD_prototype },
{ "var", KEYWORD_var },
{ "let", KEYWORD_let },
{ "const", KEYWORD_const },
{ "new", KEYWORD_new },
{ "this", KEYWORD_this },
{ "for", KEYWORD_for },
{ "while", KEYWORD_while },
{ "do", KEYWORD_do },
{ "if", KEYWORD_if },
{ "else", KEYWORD_else },
{ "switch", KEYWORD_switch },
{ "try", KEYWORD_try },
{ "catch", KEYWORD_catch },
{ "finally", KEYWORD_finally },
{ "sap", KEYWORD_sap },
{ "return", KEYWORD_return },
{ "class", KEYWORD_class },
{ "extends", KEYWORD_extends },
{ "static", KEYWORD_static },
{ "default", KEYWORD_default },
{ "export", KEYWORD_export },
{ "async", KEYWORD_async },
}
@ KEYWORD_prototype
@ KEYWORD_var
@ KEYWORD_for
@ KEYWORD_capital_object
@ KEYWORD_static
@ KEYWORD_function
@ KEYWORD_else
@ KEYWORD_finally
@ KEYWORD_capital_function
@ KEYWORD_default
@ KEYWORD_while
@ KEYWORD_new
@ KEYWORD_extends
@ KEYWORD_do
@ KEYWORD_async
@ KEYWORD_try
@ KEYWORD_sap
@ KEYWORD_const
@ KEYWORD_if
@ KEYWORD_export
@ KEYWORD_class
@ KEYWORD_catch
@ KEYWORD_this
@ KEYWORD_return
@ KEYWORD_switch
@ KEYWORD_let

Definition at line 223 of file geany_jscript.c.

Referenced by JavaScriptParser().

◆ JsKinds

kindDefinition JsKinds[]
static
Initial value:
= {
{ true, 'f', "function", "functions" },
{ true, 'c', "class", "classes" },
{ true, 'm', "method", "methods" },
{ true, 'p', "property", "properties" },
{ true, 'C', "constant", "constants" },
{ true, 'v', "variable", "global variables" },
{ true, 'g', "generator", "generators" }
}

Definition at line 213 of file geany_jscript.c.

Referenced by initialize(), JavaScriptParser(), and makeJsTagCommon().

◆ Lang_js

langType Lang_js
static

Definition at line 194 of file geany_jscript.c.

Referenced by handleUnicodeCodePoint(), initialize(), and readTokenFull().

◆ LastTokenType

tokenType LastTokenType
static

Definition at line 191 of file geany_jscript.c.

Referenced by findJsTags(), parseTemplateString(), and readTokenFull().

◆ NextToken

tokenInfo* NextToken
static

Definition at line 192 of file geany_jscript.c.

Referenced by findJsTags(), and readTokenFull().

◆ TokenPool

objPool* TokenPool = NULL
static

Definition at line 196 of file geany_jscript.c.

Referenced by finalize(), and initialize().