3 ms·
Good points, the second one in particular I don't think could be fixed without a full parser. Function order changes could possibly be worked around by a format
by flukus 8y ago
Good points, the second one in particular I don't think could be fixed without a full parser. Function order changes could possibly be worked around by a formatter/linter that can reorder functions, at the risk of creating more issues. The last could be handled be passing the code through the preprocessor (the -E flag in gcc) first.
By this point it's probably gone beyond the "perfect is the enemy of good" threshold though.
- earenndil 8y ago> The last could be handled be passing the code through the preprocessor (the -E flag in gcc) first Nope, that only handles preprocessor directives (essentially, any line starting with '#'). Typedefs are handled by the parser.
- LukeShu 8y agoThat's still going to be way "less perfect" than diffing the output of `javap` or `godoc` or probably even the `help(module)` for a Python module. The ability to diff APIs objectively gets better when we switch away from C header files.