@@ -596,9 +596,9 @@ Scope *clangimport::AstNode::createScope(TokenList *tokenList, Scope::ScopeType
596596 scope->classDef = def;
597597 scope->check = nestedIn->check ;
598598 scope->bodyStart = addtoken (tokenList, " {" );
599+ tokenList->back ()->scope (scope);
599600 mData ->scopeAccessControl [scope] = scope->defaultAccess ();
600601 if (!children2.empty ()) {
601- tokenList->back ()->scope (scope);
602602 for (AstNodePtr astNode: children2) {
603603 if (astNode->nodeType == " VisibilityAttr" )
604604 continue ;
@@ -894,20 +894,24 @@ Token *clangimport::AstNode::createTokens(TokenList *tokenList)
894894 }
895895 if (nodeType == EnumDecl) {
896896 int colIndex = mExtTokens .size () - 1 ;
897- while (colIndex > 0 && mExtTokens [colIndex].compare (0 ,4 ," col:" ) != 0 )
897+ while (colIndex > 0 && mExtTokens [colIndex].compare (0 ,4 ," col:" ) != 0 && mExtTokens [colIndex]. compare ( 0 , 5 , " line: " ) != 0 )
898898 --colIndex;
899- if (colIndex == 0 || colIndex + 2 >= mExtTokens . size () || mExtTokens [colIndex + 1 ] != " referenced " )
899+ if (colIndex == 0 )
900900 return nullptr ;
901901
902902 mData ->enumValue = 0 ;
903903 Token *enumtok = addtoken (tokenList, " enum" );
904904 Token *nametok = nullptr ;
905905 {
906906 int nameIndex = mExtTokens .size () - 1 ;
907- while (nameIndex > 0 && mExtTokens [nameIndex][0 ] == ' \' ' )
907+ while (nameIndex > colIndex && mExtTokens [nameIndex][0 ] == ' \' ' )
908908 --nameIndex;
909- if (nameIndex > colIndex + 1 )
909+ if (nameIndex > colIndex)
910910 nametok = addtoken (tokenList, mExtTokens [nameIndex]);
911+ if (mExtTokens .back ()[0 ] == ' \' ' ) {
912+ addtoken (tokenList, " :" );
913+ addTypeTokens (tokenList, mExtTokens .back ());
914+ }
911915 }
912916 Scope *enumscope = createScope (tokenList, Scope::ScopeType::eEnum, children, enumtok);
913917 if (nametok)
0 commit comments