Skip to content
  • Nikolai Kosjar's avatar
    C++: Do not let ASTPath calculate line/column for generated tokens · 892cb154
    Nikolai Kosjar authored
    
    
    ASTPath uses TranslationUnit::getPosition(), which returns reasonable
    results for:
    
        1. non-expanded tokens
        2. expanded but not generated tokens
    
    The expanded *and* generated tokens case is not handled since there is
    no reasonable mapping from generated tokens to a continuous line/column
    information. Consider:
    
        #define DECLARE_FOO int foo; // Multiple generated tokens
        DECLARE_FOO // ...can be mapped to this line, but to which columns?
    
    Since the result where not valid for the expanded and generated case,
    ASTPath took the wrong branches. Avoid this by skipping generated
    tokens.
    
    Change-Id: I33a2e0f62917f87d691b19feaeef67b09ea8d563
    Task-number: QTCREATORBUG-13386
    Task-number: QTCREATORBUG-13390
    Reviewed-by: default avatarJoerg Bornemann <joerg.bornemann@theqtcompany.com>
    Reviewed-by: default avatarOrgad Shaneh <orgads@gmail.com>
    892cb154