Skip to content
  • Douglas Gregor's avatar
    Give Type::getDesugaredType a "for-display" mode that can apply more · 2e0757f3
    Douglas Gregor authored
    heuristics to determine when it's useful to desugar a type for display
    to the user. Introduce two C++-specific heuristics:
    
      - For a qualified type (like "foo::bar"), only produce a new
        desugred type if desugaring the qualified type ("bar", in this
        case) produces something interesting. For example, if "foo::bar"
        refers to a class named "bar", don't desugar. However, if
        "foo::bar" refers to a typedef of something else, desugar to that
        something else. This gives some useful desugaring such as
        "foo::bar (aka 'int')".
      - Don't desugar class template specialization types like
        "basic_string<char>" down to their underlying "class
        basic_string<char, char_traits<char>, allocator<char>>, etc.";
        it's better just to leave such types alone. 
    
    Update diagnostics.html with some discussion and examples of type
    preservation in C++, showing qualified names and class template
    specialization types.
    
    llvm-svn: 68207
    2e0757f3
Loading