@@ -62,12 +62,12 @@ typedef enum {
62
62
* using X X = (kind:module, role:using)
63
63
*
64
64
* using X: a, b X = (kind:module, role:using)
65
- * a, b = (kind:unknown, role: using, scope:module:X)
65
+ * a, b = (kind:unknown, role:using, scope:module:X)
66
66
*
67
67
* import X X = (kind:module, role:imported)
68
68
*
69
69
* import X.a, X.b X = (kind:module, role:imported)
70
- * a, b = (kind: unknown, role:imported, scope:module:X)
70
+ * a, b = (kind:unknown, role:imported, scope:module:X)
71
71
*
72
72
* import X: a, b Same as the above one
73
73
*/
@@ -1213,19 +1213,12 @@ static void parseModule (lexerState *lexer, vString *scope, int parent_kind)
1213
1213
*/
1214
1214
static void parseImportToken (lexerState * lexer , vString * scope , int module_role , int unknown_role , vString * module_name )
1215
1215
{
1216
- char * dot = strchr ( vStringValue ( lexer -> token_str ), '.' );
1217
- if (dot )
1216
+ addReferenceTag ( module_name , K_MODULE , module_role , lexer -> line , lexer -> pos , NULL );
1217
+ if (lexer -> cur_c == '.' )
1218
1218
{
1219
- vString * module_part = vStringNewNInit (vStringValue (lexer -> token_str ), dot - vStringValue (lexer -> token_str ));
1220
- vString * unknown_part = vStringNewInit (dot + 1 );
1221
- addReferenceTag (module_part , K_MODULE , module_role , lexer -> line , lexer -> pos , NULL );
1222
- addReferenceTag (unknown_part , K_UNKNOWN , unknown_role , lexer -> line , lexer -> pos , module_part );
1223
- vStringDelete (module_part );
1224
- vStringDelete (unknown_part );
1225
- }
1226
- else
1227
- {
1228
- addReferenceTag (module_name , K_MODULE , module_role , lexer -> line , lexer -> pos , NULL );
1219
+ advanceChar (lexer );
1220
+ advanceToken (lexer , true);
1221
+ addReferenceTag (lexer -> token_str , K_UNKNOWN , unknown_role , lexer -> line , lexer -> pos , module_name );
1229
1222
}
1230
1223
}
1231
1224
0 commit comments