Skip to content
  • Braulio Valdivielso's avatar
    Trace: include `line_end` field in json-v1 format · 8e1e97cc
    Braulio Valdivielso authored
    After !6954 got merged, it has become easier for tools to get
    full stack-traces for runtime traces of a CMake program. The trace
    information already included in the JSON objects (line number, source
    file path) allows tools that display these stack traces to print the
    CMake source code associated to them. However, CMake commands may
    spawn multiple lines, and the JSON information associated to a trace
    only contains the line in which the command started, but not the one
    in which it ended. If tools want to print stack traces along the
    relevant source code, and they want to print the whole command
    associated to the stack frame, they will have to implement their own
    CMake language parser to know where the command ends.
    
    In order to simplify the life of those who want to write tooling for
    CMake, this commit adds a `line_end` field to the json-v1 trace
    format. If a given command spans multiple lines, the `line_end` field
    will contain the line of the last line spanned by the command (that of
    the closing parenthesis associated to the command).
    8e1e97cc