diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2009-05-22 11:07:08 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2009-05-22 11:07:08 (GMT) |
commit | 7a3de4c3c8aac25c38b6e93bb0927de40cd1c650 (patch) | |
tree | 9568dad93df55e8726251e5bdb1f2d8c00bdde93 /src/vhdlscanner.l | |
parent | c34e05f1d2d21630290f758aafe6d151825d0ce8 (diff) | |
download | Doxygen-7a3de4c3c8aac25c38b6e93bb0927de40cd1c650.zip Doxygen-7a3de4c3c8aac25c38b6e93bb0927de40cd1c650.tar.gz Doxygen-7a3de4c3c8aac25c38b6e93bb0927de40cd1c650.tar.bz2 |
Release-1.5.9-20090522
Diffstat (limited to 'src/vhdlscanner.l')
-rw-r--r-- | src/vhdlscanner.l | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/vhdlscanner.l b/src/vhdlscanner.l index 073e0a1..2acd2dc 100644 --- a/src/vhdlscanner.l +++ b/src/vhdlscanner.l @@ -400,7 +400,7 @@ static void parseProcessProto() static void parseFunctionProto() { - QCString name,ret,qcs; + QCString name,ret,qcs,temp; bool sem=FALSE; QList<Argument> ql; ql.setAutoDelete(TRUE); @@ -409,11 +409,18 @@ static void parseFunctionProto() return; // function without a prototype if (qcs.contains("function",FALSE)==0 && qcs.contains("procedure",FALSE)==0) return; - while (qcs.stripPrefix(" ")); - if (qcs.stripPrefix("impure")) + qcs=qcs.stripWhiteSpace(); + temp=qcs.lower(); + if (temp.stripPrefix("impure")) + { current->exception="impure"; - else if (qcs.stripPrefix("pure")) + qcs=qcs.remove(0,6); + } + else if (temp.stripPrefix("pure")) + { current->exception="pure"; + qcs=qcs.remove(0,4); + } VhdlDocGen::parseFuncProto(qcs.data(),ql,name,ret); //printf("parseFuncProto(%s)=%s,%s\n",qcs.data(),name.data(),ret.data()); |