[geany/geany] b36c5c: read: change macros into functions and move them into c

Jiří Techet git-noreply at xxxxx
Mon Dec 17 21:05:45 UTC 2018


Branch:      refs/heads/master
Author:      Jiří Techet <techet at gmail.com>
Committer:   Jiří Techet <techet at gmail.com>
Date:        Sun, 09 Oct 2016 20:58:59 UTC
Commit:      b36c5c54ede9120590fc79db1165c4bbf205702e
             https://github.com/geany/geany/commit/b36c5c54ede9120590fc79db1165c4bbf205702e

Log Message:
-----------
read: change macros into functions and move them into c

Still with commented-out code at some places and using "source" instead
of "input".

Also syncs includes and some minor stuff.


Modified Paths:
--------------
    ctags/main/read.c
    ctags/main/read.h
    ctags/parsers/c.c
    ctags/parsers/php.c

Modified: ctags/main/read.c
83 lines changed, 83 insertions(+), 0 deletions(-)
===================================================================
@@ -23,6 +23,16 @@
 #include "main.h"
 #include "routines.h"
 #include "options.h"
+#ifdef HAVE_ICONV
+# include "mbcs.h"
+#endif
+
+#include <ctype.h>
+#include <stddef.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>  /* declare off_t (not known to regex.h on FreeBSD) */
+#endif
+#include <regex.h>
 
 /*
 *   DATA DEFINITIONS
@@ -35,6 +45,36 @@ static MIOPos StartOfLine;      /* holds deferred position of start of line */
 *   FUNCTION DEFINITIONS
 */
 
+extern unsigned long getInputLineNumber (void)
+{
+	return File.input.lineNumber;
+}
+
+extern int getInputLineOffset (void)
+{
+	unsigned char *base = (unsigned char *) vStringValue (File.line);
+	int ret = File.currentLine - base - File.ungetchIdx;
+	return ret >= 0 ? ret : 0;
+}
+
+extern const char *getInputFileName (void)
+{
+	return vStringValue (File.input.name);
+}
+
+extern MIOPos getInputFilePosition (void)
+{
+	return File.filePosition;
+}
+
+extern MIOPos getInputFilePositionForLine (int line)
+{
+	MIOPos pos;
+	return pos;
+/*	return File.lineFposMap.pos[(((File.lineFposMap.count > (line - 1)) \
+				      && (line > 0))? (line - 1): 0)];*/
+}
+
 extern langType getInputLanguage (void)
 {
 	return File.source.language;
@@ -50,11 +90,54 @@ extern const char *getInputFileTagPath (void)
 	return vStringValue (File.source.tagPath);
 }
 
+extern bool isInputLanguage (langType lang)
+{
+	return (bool)((lang) == getInputLanguage ());
+}
+
+extern bool isInputHeaderFile (void)
+{
+	return File.input.isHeader;
+}
+
+extern bool isInputLanguageKindEnabled (char c)
+{
+	return false;
+/*	return isLanguageKindEnabled (getInputLanguage (), c); */
+}
+
+extern bool doesInputLanguageAllowNullTag (void)
+{
+	return false;
+/*	return doesLanguageAllowNullTag (getInputLanguage ()); */
+}
+
 extern kindOption *getInputLanguageFileKind (void)
 {
 	return getLanguageFileKind (File.input.language);
 }
 
+extern bool doesInputLanguageRequestAutomaticFQTag (void)
+{
+	return false;
+/*	return doesLanguageRequestAutomaticFQTag (getInputLanguage ()); */
+}
+
+extern const char *getSourceFileTagPath (void)
+{
+	return vStringValue (File.source.tagPath);
+}
+
+extern const char *getSourceLanguageName (void)
+{
+	return getLanguageName (File.source.language);
+}
+
+extern unsigned long getSourceLineNumber (void)
+{
+	return File.source.lineNumber;
+}
+
 extern void freeSourceFileResources (void)
 {
 	vStringDelete (File.input.name);


Modified: ctags/main/read.h
30 lines changed, 18 insertions(+), 12 deletions(-)
===================================================================
@@ -17,22 +17,13 @@
 #include <stdio.h>
 #include <ctype.h>
 
-#include "mio.h"
 #include "parse.h"
 #include "vstring.h"
+#include "mio.h"
 
 /*
 *   MACROS
 */
-#define getInputLineNumber()    File.input.lineNumber
-#define getInputFileName()  vStringValue (File.input.name)
-#define getInputFilePosition()  File.filePosition
-#define getSourceFileTagPath()  vStringValue (File.source.tagPath)
-#define getSourceLanguage() File.source.language
-#define getSourceLanguageName() getLanguageName (File.source.language)
-#define getSourceLineNumber()   File.source.lineNumber
-#define isInputLanguage(lang)    (bool)((lang) == File.input.language)
-#define isInputHeaderFile()      File.input.isHeader
 
 /*
 *   DATA DECLARATIONS
@@ -52,8 +43,9 @@ enum eCharacters {
 	SINGLE_QUOTE  = '\'',
 	BACKSLASH     = '\\',
 
-	STRING_SYMBOL = ('S' + 0x80),
-	CHAR_SYMBOL   = ('C' + 0x80)
+	/* symbolic representations, above 0xFF not to conflict with any byte */
+	STRING_SYMBOL = ('S' + 0xff),
+	CHAR_SYMBOL   = ('C' + 0xff)
 };
 
 /*  Maintains the state of the current input file.
@@ -98,10 +90,20 @@ extern inputFile File;
 */
 
 /* InputFile: reading from fp in inputFile with updating fields in input fields */
+extern unsigned long getInputLineNumber (void);
+extern int getInputLineOffset (void);
+extern const char *getInputFileName (void);
+extern MIOPos getInputFilePosition (void);
+extern MIOPos getInputFilePositionForLine (int line);
 extern langType getInputLanguage (void);
 extern const char *getInputLanguageName (void);
 extern const char *getInputFileTagPath (void);
+extern bool isInputLanguage (langType lang);
+extern bool isInputHeaderFile (void);
+extern bool isInputLanguageKindEnabled (char c);
+extern bool doesInputLanguageAllowNullTag (void);
 extern kindOption *getInputLanguageFileKind (void);
+extern bool doesInputLanguageRequestAutomaticFQTag (void);
 
 extern void freeSourceFileResources (void);
 extern bool fileOpen (const char *const fileName, const langType language);
@@ -117,6 +119,10 @@ extern bool bufferOpen (unsigned char *buffer, size_t buffer_size,
                         const char *const fileName, const langType language );
 #define bufferClose fileClose
 
+extern const char *getSourceFileTagPath (void);
+extern const char *getSourceLanguageName (void);
+extern unsigned long getSourceLineNumber (void);
+
 /* Bypass: reading from fp in inputFile WITHOUT updating fields in input fields */
 extern char *readLineFromBypass (vString *const vLine, MIOPos location, long *const pSeekValue);
 


Modified: ctags/parsers/c.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -1723,7 +1723,7 @@ static void skipBraces (void)
 
 static keywordId analyzeKeyword (const char *const name)
 {
-	const keywordId id = (keywordId) lookupKeyword (name, getSourceLanguage ());
+	const keywordId id = (keywordId) lookupKeyword (name, getInputLanguage ());
 
 	/* ignore D @attributes and Java @annotations(...), but show them in function signatures */
 	if ((isInputLanguage(Lang_d) || isInputLanguage(Lang_java)) && id == KEYWORD_NONE && name[0] == '@')


Modified: ctags/parsers/php.c
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -940,7 +940,7 @@ static void readToken (tokenInfo *const token)
 			else
 			{
 				parseIdentifier (token->string, c);
-				token->keyword = analyzeToken (token->string, getSourceLanguage ());
+				token->keyword = analyzeToken (token->string, getInputLanguage ());
 				if (token->keyword == KEYWORD_NONE)
 					token->type = TOKEN_IDENTIFIER;
 				else
@@ -1145,7 +1145,7 @@ static bool parseFunction (tokenInfo *const token, const tokenInfo *name)
 	}
 
 	/* if parsing Zephir, skip function return type hint */
-	if (getSourceLanguage () == Lang_zephir && token->type == TOKEN_OPERATOR)
+	if (getInputLanguage () == Lang_zephir && token->type == TOKEN_OPERATOR)
 	{
 		do
 			readToken (token);



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list