summaryrefslogtreecommitdiffstats
path: root/src/code.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/code.l')
-rw-r--r--src/code.l20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/code.l b/src/code.l
index ac5480c..a6da646 100644
--- a/src/code.l
+++ b/src/code.l
@@ -909,6 +909,10 @@ static void generateClassOrGlobalLink(CodeOutputInterface &ol,char *clName,
{
//printf("non-dummy context lcd=%s!\n",lcd->name().data());
g_theCallContext.setClass(lcd);
+ if (getLink(g_classScope,clName,ol,clName))
+ {
+ return;
+ }
}
isLocal=TRUE;
//fprintf(stderr,"is a local variable cd=%p!\n",cd);
@@ -1014,7 +1018,7 @@ static bool generateClassMemberLink(CodeOutputInterface &ol,ClassDef *mcd,const
}
}
- ClassDef *typeClass = stripClassName(xmd->typeString());
+ ClassDef *typeClass = stripClassName(removeAnonymousScopes(xmd->typeString()));
//fprintf(stderr,"%s -> typeName=%p\n",xmd->typeString(),typeClass);
g_theCallContext.setClass(typeClass);
@@ -2055,6 +2059,13 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}
endFontClass();
g_name.resize(0);g_type.resize(0);
}
+<Body>{FLOWKW}/{B}*"(" {
+ startFontClass("keywordflow");
+ codifyLines(yytext);
+ endFontClass();
+ g_name.resize(0);g_type.resize(0);
+ BEGIN(FuncCall);
+ }
<Body>{FLOWKW}/([^a-z_A-Z0-9]) {
startFontClass("keywordflow");
codifyLines(yytext);
@@ -2069,13 +2080,6 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}
codifyLines(yytext);
endFontClass();
}
-<Body>{FLOWKW}/{B}*"(" {
- startFontClass("keywordflow");
- codifyLines(yytext);
- endFontClass();
- g_name.resize(0);g_type.resize(0);
- BEGIN(FuncCall);
- }
<Body>[\\|\)\+\-\/\%\~\!] {
g_code->codify(yytext);
g_name.resize(0);g_type.resize(0);