diff options
Diffstat (limited to 'src/scanner.l')
-rw-r--r-- | src/scanner.l | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/src/scanner.l b/src/scanner.l index c6db28c..f112d5b 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -866,13 +866,20 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) lineCount() ; } <FindMembers>{B}*"internal"{BN}*":"{BN}* { // for now treat C++/CLI's internal as package... - current->protection = protection = Package ; - current->mtype = mtype = Method; - current->type.resize(0); - current->name.resize(0); - current->args.resize(0); - current->argList->clear(); - lineCount() ; + if (insideCli) + { + current->protection = protection = Package ; + current->mtype = mtype = Method; + current->type.resize(0); + current->name.resize(0); + current->args.resize(0); + current->argList->clear(); + lineCount() ; + } + else + { + REJECT; + } } <FindMembers>{B}*"protected"{BN}*":"{BN}* { current->protection = protection = Protected ; @@ -2706,8 +2713,9 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) <FindMembers>"[" { if (!insideCS && - current->name.isEmpty() || - current->name=="typedef" + (current->name.isEmpty() || + current->name=="typedef" + ) ) // IDL function property { squareCount=1; |