mirror of
https://github.com/MaskRay/ccls.git
synced 2024-11-22 07:35:08 +00:00
.
This commit is contained in:
parent
e1398ff319
commit
ce33cc86d4
@ -64,7 +64,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 18410644574635149442,
|
"usr": 10983126130596230582,
|
||||||
"detailed_name": "Foo f",
|
"detailed_name": "Foo f",
|
||||||
"short_name": "f",
|
"short_name": "f",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -76,7 +76,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 11468802633764653592,
|
"usr": 17165811951126099095,
|
||||||
"detailed_name": "Foo *f2",
|
"detailed_name": "Foo *f2",
|
||||||
"short_name": "f2",
|
"short_name": "f2",
|
||||||
"hover": "Foo *f2 = new Foo()",
|
"hover": "Foo *f2 = new Foo()",
|
||||||
|
@ -85,7 +85,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 9954632887635271906,
|
"usr": 1893354193220338759,
|
||||||
"detailed_name": "Foo f",
|
"detailed_name": "Foo f",
|
||||||
"short_name": "f",
|
"short_name": "f",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -63,7 +63,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 17348451315735351657,
|
"usr": 449111627548814328,
|
||||||
"detailed_name": "Type foo0",
|
"detailed_name": "Type foo0",
|
||||||
"short_name": "foo0",
|
"short_name": "foo0",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -75,7 +75,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 3757978174345638825,
|
"usr": 17097499197730163115,
|
||||||
"detailed_name": "Type foo1",
|
"detailed_name": "Type foo1",
|
||||||
"short_name": "foo1",
|
"short_name": "foo1",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -137,7 +137,7 @@ OUTPUT: make_functions.cc
|
|||||||
"skipped_by_preprocessor": [],
|
"skipped_by_preprocessor": [],
|
||||||
"types": [{
|
"types": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 7902098450755788854,
|
"usr": 9281343527065946499,
|
||||||
"detailed_name": "T",
|
"detailed_name": "T",
|
||||||
"short_name": "T",
|
"short_name": "T",
|
||||||
"kind": 26,
|
"kind": 26,
|
||||||
@ -153,7 +153,7 @@ OUTPUT: make_functions.cc
|
|||||||
"uses": ["4:1-4:2|-1|1|4"]
|
"uses": ["4:1-4:2|-1|1|4"]
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 12533159752419999454,
|
"usr": 10771590811355716928,
|
||||||
"detailed_name": "Args",
|
"detailed_name": "Args",
|
||||||
"short_name": "Args",
|
"short_name": "Args",
|
||||||
"kind": 26,
|
"kind": 26,
|
||||||
@ -169,7 +169,7 @@ OUTPUT: make_functions.cc
|
|||||||
"uses": ["4:15-4:19|-1|1|4"]
|
"uses": ["4:15-4:19|-1|1|4"]
|
||||||
}, {
|
}, {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"usr": 18441628706991062891,
|
"usr": 11897454629873246477,
|
||||||
"detailed_name": "T",
|
"detailed_name": "T",
|
||||||
"short_name": "T",
|
"short_name": "T",
|
||||||
"kind": 26,
|
"kind": 26,
|
||||||
@ -185,7 +185,7 @@ OUTPUT: make_functions.cc
|
|||||||
"uses": ["9:1-9:2|-1|1|4"]
|
"uses": ["9:1-9:2|-1|1|4"]
|
||||||
}, {
|
}, {
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"usr": 9441341235704820385,
|
"usr": 3337128087216004141,
|
||||||
"detailed_name": "Args",
|
"detailed_name": "Args",
|
||||||
"short_name": "Args",
|
"short_name": "Args",
|
||||||
"kind": 26,
|
"kind": 26,
|
||||||
@ -328,7 +328,7 @@ OUTPUT: make_functions.cc
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 15288691366352169805,
|
"usr": 8463700030555379526,
|
||||||
"detailed_name": "Args &&... args",
|
"detailed_name": "Args &&... args",
|
||||||
"short_name": "args",
|
"short_name": "args",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -339,7 +339,7 @@ OUTPUT: make_functions.cc
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 12338908251430965107,
|
"usr": 3908732770590594660,
|
||||||
"detailed_name": "Args... args",
|
"detailed_name": "Args... args",
|
||||||
"short_name": "args",
|
"short_name": "args",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -51,7 +51,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 10480417713467708012,
|
"usr": 14555488990109936920,
|
||||||
"detailed_name": "int a",
|
"detailed_name": "int a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -63,7 +63,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 18099600680625658464,
|
"usr": 10963664335057337329,
|
||||||
"detailed_name": "int b",
|
"detailed_name": "int b",
|
||||||
"short_name": "b",
|
"short_name": "b",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -97,7 +97,7 @@ OUTPUT:
|
|||||||
"uses": ["13:56-13:64|-1|1|4"]
|
"uses": ["13:56-13:64|-1|1|4"]
|
||||||
}, {
|
}, {
|
||||||
"id": 5,
|
"id": 5,
|
||||||
"usr": 780719166805015998,
|
"usr": 7916588271848318236,
|
||||||
"detailed_name": "T",
|
"detailed_name": "T",
|
||||||
"short_name": "T",
|
"short_name": "T",
|
||||||
"kind": 26,
|
"kind": 26,
|
||||||
@ -131,7 +131,7 @@ OUTPUT:
|
|||||||
"funcs": [],
|
"funcs": [],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 3880651725784125791,
|
"usr": 12990052348105569112,
|
||||||
"detailed_name": "unsigned int T",
|
"detailed_name": "unsigned int T",
|
||||||
"short_name": "T",
|
"short_name": "T",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -32,7 +32,7 @@ OUTPUT:
|
|||||||
"uses": []
|
"uses": []
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 1287417953265234030,
|
"usr": 14635009347499519042,
|
||||||
"detailed_name": "",
|
"detailed_name": "",
|
||||||
"short_name": "",
|
"short_name": "",
|
||||||
"kind": 0,
|
"kind": 0,
|
||||||
@ -62,7 +62,7 @@ OUTPUT:
|
|||||||
"callees": ["9:14-9:15|1|3|32", "10:14-10:15|1|3|32", "11:14-11:15|1|3|32"]
|
"callees": ["9:14-9:15|1|3|32", "10:14-10:15|1|3|32", "11:14-11:15|1|3|32"]
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 1328781044864682611,
|
"usr": 17926497908620168464,
|
||||||
"detailed_name": "",
|
"detailed_name": "",
|
||||||
"short_name": "",
|
"short_name": "",
|
||||||
"kind": 0,
|
"kind": 0,
|
||||||
@ -76,7 +76,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 17270098654620601683,
|
"usr": 12666114896600231317,
|
||||||
"detailed_name": "int x",
|
"detailed_name": "int x",
|
||||||
"short_name": "x",
|
"short_name": "x",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -88,7 +88,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 16806544259835773270,
|
"usr": 2981279427664991319,
|
||||||
"detailed_name": "lambda dosomething",
|
"detailed_name": "lambda dosomething",
|
||||||
"short_name": "dosomething",
|
"short_name": "dosomething",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -100,7 +100,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"usr": 2034725908368218782,
|
"usr": 12879188959314906706,
|
||||||
"detailed_name": "int y",
|
"detailed_name": "int y",
|
||||||
"short_name": "y",
|
"short_name": "y",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -87,7 +87,7 @@ OUTPUT:
|
|||||||
"storage": 0
|
"storage": 0
|
||||||
}, {
|
}, {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"usr": 14946041066794678724,
|
"usr": 2056319845419860263,
|
||||||
"detailed_name": "DISALLOW",
|
"detailed_name": "DISALLOW",
|
||||||
"short_name": "DISALLOW",
|
"short_name": "DISALLOW",
|
||||||
"hover": "#define DISALLOW(type) type(type&&) = delete;",
|
"hover": "#define DISALLOW(type) type(type&&) = delete;",
|
||||||
|
@ -142,7 +142,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 107714981785063096,
|
"usr": 6030927277961448585,
|
||||||
"detailed_name": "int a",
|
"detailed_name": "int a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"hover": "int a = foo::bar::baz::qux",
|
"hover": "int a = foo::bar::baz::qux",
|
||||||
@ -155,7 +155,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"usr": 1200087780658383286,
|
"usr": 7657277353101371136,
|
||||||
"detailed_name": "int b",
|
"detailed_name": "int b",
|
||||||
"short_name": "b",
|
"short_name": "b",
|
||||||
"hover": "int b = fbz::qux",
|
"hover": "int b = fbz::qux",
|
||||||
|
@ -105,7 +105,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 7976909968919750794,
|
"usr": 3649375698083002347,
|
||||||
"detailed_name": "int a",
|
"detailed_name": "int a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -177,7 +177,7 @@ OUTPUT: static_function_in_type.cc
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 9285345059965948351,
|
"usr": 13569879755236306838,
|
||||||
"detailed_name": "ns::Manager *m",
|
"detailed_name": "ns::Manager *m",
|
||||||
"short_name": "m",
|
"short_name": "m",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -12,7 +12,7 @@ OUTPUT:
|
|||||||
"funcs": [],
|
"funcs": [],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 13076155634261037336,
|
"usr": 11674328179498211370,
|
||||||
"detailed_name": "FOO",
|
"detailed_name": "FOO",
|
||||||
"short_name": "FOO",
|
"short_name": "FOO",
|
||||||
"hover": "#define FOO",
|
"hover": "#define FOO",
|
||||||
|
@ -83,7 +83,7 @@ OUTPUT:
|
|||||||
"uses": ["10:26-10:32|-1|1|4", "13:13-13:19|-1|1|4", "14:14-14:20|-1|1|4"]
|
"uses": ["10:26-10:32|-1|1|4", "13:13-13:19|-1|1|4", "14:14-14:20|-1|1|4"]
|
||||||
}, {
|
}, {
|
||||||
"id": 4,
|
"id": 4,
|
||||||
"usr": 14511917000226829276,
|
"usr": 2205716167465743256,
|
||||||
"detailed_name": "",
|
"detailed_name": "",
|
||||||
"short_name": "",
|
"short_name": "",
|
||||||
"kind": 0,
|
"kind": 0,
|
||||||
|
@ -81,7 +81,7 @@ OUTPUT:
|
|||||||
"uses": ["7:1-7:9|-1|1|4"]
|
"uses": ["7:1-7:9|-1|1|4"]
|
||||||
}, {
|
}, {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"usr": 10862637711685426953,
|
"usr": 9673599782548740467,
|
||||||
"detailed_name": "T",
|
"detailed_name": "T",
|
||||||
"short_name": "T",
|
"short_name": "T",
|
||||||
"kind": 26,
|
"kind": 26,
|
||||||
@ -97,7 +97,7 @@ OUTPUT:
|
|||||||
"uses": ["5:16-5:17|-1|1|4"]
|
"uses": ["5:16-5:17|-1|1|4"]
|
||||||
}, {
|
}, {
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"usr": 756188769017350739,
|
"usr": 7143192229126273961,
|
||||||
"detailed_name": "Args",
|
"detailed_name": "Args",
|
||||||
"short_name": "Args",
|
"short_name": "Args",
|
||||||
"kind": 26,
|
"kind": 26,
|
||||||
@ -159,7 +159,7 @@ OUTPUT:
|
|||||||
"uses": ["31:1-31:7|-1|1|4"]
|
"uses": ["31:1-31:7|-1|1|4"]
|
||||||
}, {
|
}, {
|
||||||
"id": 7,
|
"id": 7,
|
||||||
"usr": 3421332160420436276,
|
"usr": 8880262253425334092,
|
||||||
"detailed_name": "T",
|
"detailed_name": "T",
|
||||||
"short_name": "T",
|
"short_name": "T",
|
||||||
"kind": 26,
|
"kind": 26,
|
||||||
@ -239,7 +239,7 @@ OUTPUT:
|
|||||||
"uses": []
|
"uses": []
|
||||||
}, {
|
}, {
|
||||||
"id": 12,
|
"id": 12,
|
||||||
"usr": 2461355892344618654,
|
"usr": 14111105212951082474,
|
||||||
"detailed_name": "T",
|
"detailed_name": "T",
|
||||||
"short_name": "T",
|
"short_name": "T",
|
||||||
"kind": 26,
|
"kind": 26,
|
||||||
@ -409,7 +409,7 @@ OUTPUT:
|
|||||||
"storage": 0
|
"storage": 0
|
||||||
}, {
|
}, {
|
||||||
"id": 7,
|
"id": 7,
|
||||||
"usr": 10307767688451422448,
|
"usr": 17826688417349629938,
|
||||||
"detailed_name": "T Value",
|
"detailed_name": "T Value",
|
||||||
"short_name": "Value",
|
"short_name": "Value",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -69,7 +69,7 @@ OUTPUT:
|
|||||||
"uses": ["8:1-8:2|-1|1|4", "8:11-8:12|-1|1|4"]
|
"uses": ["8:1-8:2|-1|1|4", "8:11-8:12|-1|1|4"]
|
||||||
}, {
|
}, {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"usr": 8864163146308556810,
|
"usr": 11919899838872947844,
|
||||||
"detailed_name": "",
|
"detailed_name": "",
|
||||||
"short_name": "",
|
"short_name": "",
|
||||||
"kind": 0,
|
"kind": 0,
|
||||||
|
@ -61,7 +61,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 13681544683892648258,
|
"usr": 16088407831770615719,
|
||||||
"detailed_name": "void (*)() x",
|
"detailed_name": "void (*)() x",
|
||||||
"short_name": "x",
|
"short_name": "x",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -64,7 +64,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 8436636043513449412,
|
"usr": 4636142131003982569,
|
||||||
"detailed_name": "void (Foo::*)() x",
|
"detailed_name": "void (Foo::*)() x",
|
||||||
"short_name": "x",
|
"short_name": "x",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -64,7 +64,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 3014406561587537195,
|
"usr": 14045150712868309451,
|
||||||
"detailed_name": "Foo *f",
|
"detailed_name": "Foo *f",
|
||||||
"short_name": "f",
|
"short_name": "f",
|
||||||
"hover": "Foo *f = nullptr",
|
"hover": "Foo *f = nullptr",
|
||||||
|
@ -63,7 +63,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 12410753116854389823,
|
"usr": 16229832321010999607,
|
||||||
"detailed_name": "Foo *f",
|
"detailed_name": "Foo *f",
|
||||||
"short_name": "f",
|
"short_name": "f",
|
||||||
"hover": "Foo *f = nullptr",
|
"hover": "Foo *f = nullptr",
|
||||||
|
@ -90,7 +90,7 @@ OUTPUT:
|
|||||||
"storage": 3
|
"storage": 3
|
||||||
}, {
|
}, {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"usr": 2462000803278878465,
|
"usr": 3364438781074774169,
|
||||||
"detailed_name": "unique_ptr<S> *local",
|
"detailed_name": "unique_ptr<S> *local",
|
||||||
"short_name": "local",
|
"short_name": "local",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -219,7 +219,7 @@ OUTPUT:
|
|||||||
"storage": 2
|
"storage": 2
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 11547294959889394856,
|
"usr": 500112618220246,
|
||||||
"detailed_name": "unique_ptr<unique_ptr<S1, S2>, S2> *local",
|
"detailed_name": "unique_ptr<unique_ptr<S1, S2>, S2> *local",
|
||||||
"short_name": "local",
|
"short_name": "local",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -60,7 +60,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 11033478034711123650,
|
"usr": 16374832544037266261,
|
||||||
"detailed_name": "ForwardType *a",
|
"detailed_name": "ForwardType *a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -72,7 +72,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 8949902309768550158,
|
"usr": 2580122838476012357,
|
||||||
"detailed_name": "ImplementedType b",
|
"detailed_name": "ImplementedType b",
|
||||||
"short_name": "b",
|
"short_name": "b",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -57,7 +57,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 2584795197111552890,
|
"usr": 13058491096576226774,
|
||||||
"detailed_name": "ForwardType *f",
|
"detailed_name": "ForwardType *f",
|
||||||
"short_name": "f",
|
"short_name": "f",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -69,7 +69,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 5136230284979460117,
|
"usr": 11055777568039014776,
|
||||||
"detailed_name": "ImplementedType a",
|
"detailed_name": "ImplementedType a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -49,7 +49,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 2161866804398917919,
|
"usr": 13823260660189154978,
|
||||||
"detailed_name": "Foo *f",
|
"detailed_name": "Foo *f",
|
||||||
"short_name": "f",
|
"short_name": "f",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -46,7 +46,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 16414210592877294238,
|
"usr": 7997456978847868736,
|
||||||
"detailed_name": "Type &a0",
|
"detailed_name": "Type &a0",
|
||||||
"short_name": "a0",
|
"short_name": "a0",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -58,7 +58,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 11558141642862804306,
|
"usr": 17228576662112939520,
|
||||||
"detailed_name": "const Type &a1",
|
"detailed_name": "const Type &a1",
|
||||||
"short_name": "a1",
|
"short_name": "a1",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -70,7 +70,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"usr": 1536316608590232194,
|
"usr": 15429032129697337561,
|
||||||
"detailed_name": "Type a2",
|
"detailed_name": "Type a2",
|
||||||
"short_name": "a2",
|
"short_name": "a2",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -82,7 +82,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"usr": 316760354845869406,
|
"usr": 6081981442495435784,
|
||||||
"detailed_name": "Type *a3",
|
"detailed_name": "Type *a3",
|
||||||
"short_name": "a3",
|
"short_name": "a3",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -94,7 +94,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 4,
|
"id": 4,
|
||||||
"usr": 12321730890779907974,
|
"usr": 5004072032239834773,
|
||||||
"detailed_name": "const Type *a4",
|
"detailed_name": "const Type *a4",
|
||||||
"short_name": "a4",
|
"short_name": "a4",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -106,7 +106,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 5,
|
"id": 5,
|
||||||
"usr": 4771437488905761633,
|
"usr": 14939253431683105646,
|
||||||
"detailed_name": "const Type *const a5",
|
"detailed_name": "const Type *const a5",
|
||||||
"short_name": "a5",
|
"short_name": "a5",
|
||||||
"hover": "const Type *const a5 = nullptr",
|
"hover": "const Type *const a5 = nullptr",
|
||||||
|
@ -53,7 +53,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 14873619387499024780,
|
"usr": 16380484338511689669,
|
||||||
"detailed_name": "Foo f",
|
"detailed_name": "Foo f",
|
||||||
"short_name": "f",
|
"short_name": "f",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -125,7 +125,7 @@ OUTPUT:
|
|||||||
"storage": 0
|
"storage": 0
|
||||||
}, {
|
}, {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"usr": 13284113377394221067,
|
"usr": 8039186520399841081,
|
||||||
"detailed_name": "int a",
|
"detailed_name": "int a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"hover": "int a = 5",
|
"hover": "int a = 5",
|
||||||
|
@ -46,7 +46,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 3510529098767253033,
|
"usr": 9121974011454213596,
|
||||||
"detailed_name": "void (*)() x",
|
"detailed_name": "void (*)() x",
|
||||||
"short_name": "x",
|
"short_name": "x",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -127,7 +127,7 @@ OUTPUT:
|
|||||||
"storage": 0
|
"storage": 0
|
||||||
}, {
|
}, {
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"usr": 16303259148898744165,
|
"usr": 14669930844300034456,
|
||||||
"detailed_name": "Foo f",
|
"detailed_name": "Foo f",
|
||||||
"short_name": "f",
|
"short_name": "f",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -40,7 +40,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 8534460107894911680,
|
"usr": 14014650769929566957,
|
||||||
"detailed_name": "int x",
|
"detailed_name": "int x",
|
||||||
"short_name": "x",
|
"short_name": "x",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -45,7 +45,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 17941402366659878910,
|
"usr": 13311055950748663970,
|
||||||
"detailed_name": "int a",
|
"detailed_name": "int a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -57,7 +57,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 11094102496276744608,
|
"usr": 14036425367303419504,
|
||||||
"detailed_name": "int a",
|
"detailed_name": "int a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -57,7 +57,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 8011559936501990179,
|
"usr": 6997229590862003559,
|
||||||
"detailed_name": "int a",
|
"detailed_name": "int a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -44,7 +44,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 9275666070987716270,
|
"usr": 10601729374837386290,
|
||||||
"detailed_name": "Foo *x",
|
"detailed_name": "Foo *x",
|
||||||
"short_name": "x",
|
"short_name": "x",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -56,7 +56,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 16202433437488621027,
|
"usr": 18422884837902130475,
|
||||||
"detailed_name": "Foo *y",
|
"detailed_name": "Foo *y",
|
||||||
"short_name": "y",
|
"short_name": "y",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -42,7 +42,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 10782632605670042066,
|
"usr": 13198746475679542317,
|
||||||
"detailed_name": "Foo *a",
|
"detailed_name": "Foo *a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -40,7 +40,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 4580260577538694711,
|
"usr": 8730439006497971620,
|
||||||
"detailed_name": "Foo *p0",
|
"detailed_name": "Foo *p0",
|
||||||
"short_name": "p0",
|
"short_name": "p0",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -52,7 +52,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 12071725611268840435,
|
"usr": 2525014371090380500,
|
||||||
"detailed_name": "Foo *p1",
|
"detailed_name": "Foo *p1",
|
||||||
"short_name": "p1",
|
"short_name": "p1",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -45,7 +45,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 3440226937504376525,
|
"usr": 1894874819807168345,
|
||||||
"detailed_name": "int a",
|
"detailed_name": "int a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
@ -57,7 +57,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 14700715011944976607,
|
"usr": 4508045017817092115,
|
||||||
"detailed_name": "int a",
|
"detailed_name": "int a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -51,7 +51,7 @@ OUTPUT:
|
|||||||
"storage": 1
|
"storage": 1
|
||||||
}, {
|
}, {
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"usr": 2147918703972955240,
|
"usr": 11404600766177939811,
|
||||||
"detailed_name": "int p",
|
"detailed_name": "int p",
|
||||||
"short_name": "p",
|
"short_name": "p",
|
||||||
"hover": "int p = 0",
|
"hover": "int p = 0",
|
||||||
|
@ -64,7 +64,7 @@ OUTPUT:
|
|||||||
}],
|
}],
|
||||||
"vars": [{
|
"vars": [{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"usr": 7730100248624586522,
|
"usr": 6975456769752895964,
|
||||||
"detailed_name": "F a",
|
"detailed_name": "F a",
|
||||||
"short_name": "a",
|
"short_name": "a",
|
||||||
"declarations": [],
|
"declarations": [],
|
||||||
|
@ -525,11 +525,8 @@ void SetTypeName(IndexType* type,
|
|||||||
// Investigate why clang_getCursorPrettyPrinted gives `struct A {}` `namespace
|
// Investigate why clang_getCursorPrettyPrinted gives `struct A {}` `namespace
|
||||||
// ns {}` which are not qualified.
|
// ns {}` which are not qualified.
|
||||||
// type->def.detailed_name = param->PrettyPrintCursor(cursor.cx_cursor);
|
// type->def.detailed_name = param->PrettyPrintCursor(cursor.cx_cursor);
|
||||||
type->def.detailed_name =
|
std::tie(type->def.detailed_name, type->def.short_name_offset) =
|
||||||
param->ns.QualifiedName(container ? container : &parent, name);
|
param->ns.QualifiedName(container ? container : &parent, name);
|
||||||
auto idx = type->def.detailed_name.rfind(name);
|
|
||||||
assert(idx != std::string::npos);
|
|
||||||
type->def.short_name_offset = idx;
|
|
||||||
type->def.short_name_size = strlen(name);
|
type->def.short_name_size = strlen(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -599,7 +596,7 @@ void SetVarDetail(IndexVar* var,
|
|||||||
? param->PrettyPrintCursor(cursor.cx_cursor)
|
? param->PrettyPrintCursor(cursor.cx_cursor)
|
||||||
:
|
:
|
||||||
#endif
|
#endif
|
||||||
param->ns.QualifiedName(semanticContainer, short_name);
|
param->ns.QualifiedName(semanticContainer, short_name).first;
|
||||||
|
|
||||||
if (cursor.get_kind() == CXCursor_EnumConstantDecl && semanticContainer) {
|
if (cursor.get_kind() == CXCursor_EnumConstantDecl && semanticContainer) {
|
||||||
CXType enum_type = clang_getCanonicalType(
|
CXType enum_type = clang_getCanonicalType(
|
||||||
@ -782,12 +779,6 @@ void Uniquify(std::vector<Use>& uses) {
|
|||||||
uses.resize(n);
|
uses.resize(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME Reference: set id in call sites and remove this
|
|
||||||
// void AddUse(std::vector<Use>& values, Range value) {
|
|
||||||
// values.push_back(
|
|
||||||
// Use(value, Id<void>(), SymbolKind::File, Role::Reference, {}));
|
|
||||||
//}
|
|
||||||
|
|
||||||
void AddUse(IndexFile* db,
|
void AddUse(IndexFile* db,
|
||||||
std::vector<Use>& uses,
|
std::vector<Use>& uses,
|
||||||
Range range,
|
Range range,
|
||||||
@ -1422,10 +1413,11 @@ ClangCursor::VisitResult TemplateVisitor(ClangCursor cursor,
|
|||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
std::string NamespaceHelper::QualifiedName(const CXIdxContainerInfo* container,
|
std::pair<std::string, int> NamespaceHelper::QualifiedName(
|
||||||
std::string_view unqualified_name) {
|
const CXIdxContainerInfo* container,
|
||||||
|
std::string_view unqualified_name) {
|
||||||
if (!container)
|
if (!container)
|
||||||
return std::string(unqualified_name);
|
return {std::string(unqualified_name), 0};
|
||||||
// Anonymous namespaces are not processed by indexDeclaration. We trace
|
// Anonymous namespaces are not processed by indexDeclaration. We trace
|
||||||
// nested namespaces bottom-up through clang_getCursorSemanticParent until
|
// nested namespaces bottom-up through clang_getCursorSemanticParent until
|
||||||
// one that we know its qualified name. Then do another trace top-down and
|
// one that we know its qualified name. Then do another trace top-down and
|
||||||
@ -1455,8 +1447,9 @@ std::string NamespaceHelper::QualifiedName(const CXIdxContainerInfo* container,
|
|||||||
qualifier += "::";
|
qualifier += "::";
|
||||||
container_cursor_to_qualified_name[namespaces[i]] = qualifier;
|
container_cursor_to_qualified_name[namespaces[i]] = qualifier;
|
||||||
}
|
}
|
||||||
// C++17 string::append
|
int pos = qualifier.size();
|
||||||
return qualifier + std::string(unqualified_name);
|
qualifier.append(unqualified_name);
|
||||||
|
return {qualifier, pos};
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnIndexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
|
void OnIndexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
|
||||||
|
@ -509,8 +509,8 @@ struct NamespaceHelper {
|
|||||||
std::unordered_map<ClangCursor, std::string>
|
std::unordered_map<ClangCursor, std::string>
|
||||||
container_cursor_to_qualified_name;
|
container_cursor_to_qualified_name;
|
||||||
|
|
||||||
std::string QualifiedName(const CXIdxContainerInfo* container,
|
std::pair<std::string, int> QualifiedName(const CXIdxContainerInfo* container,
|
||||||
std::string_view unqualified_name);
|
std::string_view unqualified_name);
|
||||||
};
|
};
|
||||||
|
|
||||||
// |import_file| is the cc file which is what gets passed to clang.
|
// |import_file| is the cc file which is what gets passed to clang.
|
||||||
|
@ -349,7 +349,3 @@ void EmitSemanticHighlighting(QueryDatabase* db,
|
|||||||
out.params.symbols.push_back(entry.second);
|
out.params.symbols.push_back(entry.second);
|
||||||
QueueManager::WriteStdout(kMethodType_CclsPublishSemanticHighlighting, out);
|
QueueManager::WriteStdout(kMethodType_CclsPublishSemanticHighlighting, out);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShouldIgnoreFileForIndexing(const std::string& path) {
|
|
||||||
return StartsWith(path, "git:");
|
|
||||||
}
|
|
||||||
|
@ -153,5 +153,3 @@ void EmitSemanticHighlighting(QueryDatabase* db,
|
|||||||
SemanticHighlightSymbolCache* semantic_cache,
|
SemanticHighlightSymbolCache* semantic_cache,
|
||||||
WorkingFile* working_file,
|
WorkingFile* working_file,
|
||||||
QueryFile* file);
|
QueryFile* file);
|
||||||
|
|
||||||
bool ShouldIgnoreFileForIndexing(const std::string& path);
|
|
||||||
|
@ -40,8 +40,6 @@ struct Handler_TextDocumentDidOpen
|
|||||||
const auto& params = request->params;
|
const auto& params = request->params;
|
||||||
Timer time;
|
Timer time;
|
||||||
std::string path = params.textDocument.uri.GetPath();
|
std::string path = params.textDocument.uri.GetPath();
|
||||||
if (ShouldIgnoreFileForIndexing(path))
|
|
||||||
return;
|
|
||||||
|
|
||||||
std::shared_ptr<ICacheManager> cache_manager = ICacheManager::Make(config);
|
std::shared_ptr<ICacheManager> cache_manager = ICacheManager::Make(config);
|
||||||
WorkingFile* working_file = working_files->OnOpen(params.textDocument);
|
WorkingFile* working_file = working_files->OnOpen(params.textDocument);
|
||||||
|
@ -32,8 +32,6 @@ struct Handler_TextDocumentDidSave
|
|||||||
|
|
||||||
void Run(In_TextDocumentDidSave* request) override {
|
void Run(In_TextDocumentDidSave* request) override {
|
||||||
std::string path = request->params.textDocument.uri.GetPath();
|
std::string path = request->params.textDocument.uri.GetPath();
|
||||||
if (ShouldIgnoreFileForIndexing(path))
|
|
||||||
return;
|
|
||||||
|
|
||||||
// Send out an index request, and copy the current buffer state so we
|
// Send out an index request, and copy the current buffer state so we
|
||||||
// can update the cached index contents when the index is done.
|
// can update the cached index contents when the index is done.
|
||||||
|
734
src/project.cc
734
src/project.cc
@ -69,7 +69,6 @@ struct ProjectConfig {
|
|||||||
std::unordered_set<std::string> angle_dirs;
|
std::unordered_set<std::string> angle_dirs;
|
||||||
std::vector<std::string> extra_flags;
|
std::vector<std::string> extra_flags;
|
||||||
std::string project_dir;
|
std::string project_dir;
|
||||||
std::string resource_dir;
|
|
||||||
ProjectMode mode = ProjectMode::CompileCommandsJson;
|
ProjectMode mode = ProjectMode::CompileCommandsJson;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -273,7 +272,7 @@ Project::Entry GetCompilationEntryFromCompileCommandEntry(
|
|||||||
// Add -resource-dir so clang can correctly resolve system includes like
|
// Add -resource-dir so clang can correctly resolve system includes like
|
||||||
// <cstddef>
|
// <cstddef>
|
||||||
if (!AnyStartsWith(result.args, "-resource-dir"))
|
if (!AnyStartsWith(result.args, "-resource-dir"))
|
||||||
result.args.push_back("-resource-dir=" + config->resource_dir);
|
result.args.push_back("-resource-dir=" + init_opts->resourceDirectory);
|
||||||
|
|
||||||
// There could be a clang version mismatch between what the project uses and
|
// There could be a clang version mismatch between what the project uses and
|
||||||
// what ccls uses. Make sure we do not emit warnings for mismatched options.
|
// what ccls uses. Make sure we do not emit warnings for mismatched options.
|
||||||
@ -476,39 +475,16 @@ std::vector<Project::Entry> LoadCompilationEntriesFromDirectory(
|
|||||||
|
|
||||||
// Computes a score based on how well |a| and |b| match. This is used for
|
// Computes a score based on how well |a| and |b| match. This is used for
|
||||||
// argument guessing.
|
// argument guessing.
|
||||||
int ComputeGuessScore(const std::string& a, const std::string& b) {
|
int ComputeGuessScore(std::string_view a, std::string_view b) {
|
||||||
const int kMatchPrefixWeight = 100;
|
// Increase score based on common prefix and suffix. Prefixes are prioritized.
|
||||||
const int kMismatchDirectoryWeight = 100;
|
if (a.size() < b.size())
|
||||||
const int kMatchPostfixWeight = 1;
|
std::swap(a, b);
|
||||||
|
size_t i = std::mismatch(a.begin(), a.end(), b.begin()).first - a.begin();
|
||||||
int score = 0;
|
size_t j = std::mismatch(a.rbegin(), a.rend(), b.rbegin()).first - a.rbegin();
|
||||||
size_t i = 0;
|
int score = 10 * i + j;
|
||||||
|
if (i + j < b.size())
|
||||||
// Increase score based on matching prefix.
|
score -= 100 * (std::count(a.begin() + i, a.end() - j, '/') +
|
||||||
for (i = 0; i < a.size() && i < b.size(); ++i) {
|
std::count(b.begin() + i, b.end() - j, '/'));
|
||||||
if (a[i] != b[i])
|
|
||||||
break;
|
|
||||||
score += kMatchPrefixWeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reduce score based on mismatched directory distance.
|
|
||||||
for (size_t j = i; j < a.size(); ++j) {
|
|
||||||
if (a[j] == '/')
|
|
||||||
score -= kMismatchDirectoryWeight;
|
|
||||||
}
|
|
||||||
for (size_t j = i; j < b.size(); ++j) {
|
|
||||||
if (b[j] == '/')
|
|
||||||
score -= kMismatchDirectoryWeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Increase score based on common ending. Don't increase as much as matching
|
|
||||||
// prefix or directory distance.
|
|
||||||
for (size_t offset = 1; offset <= a.size() && offset <= b.size(); ++offset) {
|
|
||||||
if (a[a.size() - offset] != b[b.size() - offset])
|
|
||||||
break;
|
|
||||||
score += kMatchPostfixWeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
return score;
|
return score;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -519,7 +495,6 @@ void Project::Load(Config* config, const std::string& root_directory) {
|
|||||||
ProjectConfig project;
|
ProjectConfig project;
|
||||||
project.extra_flags = config->extraClangArguments;
|
project.extra_flags = config->extraClangArguments;
|
||||||
project.project_dir = root_directory;
|
project.project_dir = root_directory;
|
||||||
project.resource_dir = config->resourceDirectory;
|
|
||||||
entries = LoadCompilationEntriesFromDirectory(
|
entries = LoadCompilationEntriesFromDirectory(
|
||||||
config, &project, config->compilationDatabaseDirectory);
|
config, &project, config->compilationDatabaseDirectory);
|
||||||
|
|
||||||
@ -647,7 +622,7 @@ TEST_SUITE("Project") {
|
|||||||
Config config;
|
Config config;
|
||||||
ProjectConfig project;
|
ProjectConfig project;
|
||||||
project.project_dir = "/w/c/s/";
|
project.project_dir = "/w/c/s/";
|
||||||
project.resource_dir = "/w/resource_dir/";
|
config.resourceDirectory = "/w/resource_dir/";
|
||||||
|
|
||||||
CompileCommandsEntry entry;
|
CompileCommandsEntry entry;
|
||||||
entry.directory = directory;
|
entry.directory = directory;
|
||||||
@ -691,19 +666,6 @@ TEST_SUITE("Project") {
|
|||||||
{"clang.exe", "-working-directory=/dir/",
|
{"clang.exe", "-working-directory=/dir/",
|
||||||
"-resource-dir=/w/resource_dir/", "-Wno-unknown-warning-option",
|
"-resource-dir=/w/resource_dir/", "-Wno-unknown-warning-option",
|
||||||
"-fparse-all-comments"});
|
"-fparse-all-comments"});
|
||||||
|
|
||||||
CheckFlags(
|
|
||||||
/* raw */ {"goma", "clang"},
|
|
||||||
/* expected */
|
|
||||||
{"clang", "-working-directory=/dir/", "-resource-dir=/w/resource_dir/",
|
|
||||||
"-Wno-unknown-warning-option", "-fparse-all-comments"});
|
|
||||||
|
|
||||||
CheckFlags(
|
|
||||||
/* raw */ {"goma", "clang", "--foo"},
|
|
||||||
/* expected */
|
|
||||||
{"clang", "-working-directory=/dir/", "--foo",
|
|
||||||
"-resource-dir=/w/resource_dir/", "-Wno-unknown-warning-option",
|
|
||||||
"-fparse-all-comments"});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("Windows path normalization") {
|
TEST_CASE("Windows path normalization") {
|
||||||
@ -756,678 +718,6 @@ TEST_SUITE("Project") {
|
|||||||
"-fparse-all-comments"});
|
"-fparse-all-comments"});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Checks flag parsing for a random chromium file in comparison to what
|
|
||||||
// YouCompleteMe fetches.
|
|
||||||
TEST_CASE("ycm") {
|
|
||||||
CheckFlags(
|
|
||||||
"/w/c/s/out/Release", "../../ash/login/lock_screen_sanity_unittest.cc",
|
|
||||||
|
|
||||||
/* raw */
|
|
||||||
{
|
|
||||||
"/work/goma/gomacc",
|
|
||||||
"../../third_party/llvm-build/Release+Asserts/bin/clang++",
|
|
||||||
"-MMD",
|
|
||||||
"-MF",
|
|
||||||
"obj/ash/ash_unittests/lock_screen_sanity_unittest.o.d",
|
|
||||||
"-DV8_DEPRECATION_WARNINGS",
|
|
||||||
"-DDCHECK_ALWAYS_ON=1",
|
|
||||||
"-DUSE_UDEV",
|
|
||||||
"-DUSE_AURA=1",
|
|
||||||
"-DUSE_NSS_CERTS=1",
|
|
||||||
"-DUSE_OZONE=1",
|
|
||||||
"-DFULL_SAFE_BROWSING",
|
|
||||||
"-DSAFE_BROWSING_CSD",
|
|
||||||
"-DSAFE_BROWSING_DB_LOCAL",
|
|
||||||
"-DCHROMIUM_BUILD",
|
|
||||||
"-DFIELDTRIAL_TESTING_ENABLED",
|
|
||||||
"-D_FILE_OFFSET_BITS=64",
|
|
||||||
"-D_LARGEFILE_SOURCE",
|
|
||||||
"-D_LARGEFILE64_SOURCE",
|
|
||||||
"-DCR_CLANG_REVISION=\"313786-1\"",
|
|
||||||
"-D__STDC_CONSTANT_MACROS",
|
|
||||||
"-D__STDC_FORMAT_MACROS",
|
|
||||||
"-DCOMPONENT_BUILD",
|
|
||||||
"-DOS_CHROMEOS",
|
|
||||||
"-DNDEBUG",
|
|
||||||
"-DNVALGRIND",
|
|
||||||
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
|
|
||||||
"-DGL_GLEXT_PROTOTYPES",
|
|
||||||
"-DUSE_GLX",
|
|
||||||
"-DUSE_EGL",
|
|
||||||
"-DANGLE_ENABLE_RELEASE_ASSERTS",
|
|
||||||
"-DTOOLKIT_VIEWS=1",
|
|
||||||
"-DGTEST_API_=",
|
|
||||||
"-DGTEST_HAS_POSIX_RE=0",
|
|
||||||
"-DGTEST_LANG_CXX11=1",
|
|
||||||
"-DUNIT_TEST",
|
|
||||||
"-DUSING_V8_SHARED",
|
|
||||||
"-DU_USING_ICU_NAMESPACE=0",
|
|
||||||
"-DU_ENABLE_DYLOAD=0",
|
|
||||||
"-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE",
|
|
||||||
"-DUCHAR_TYPE=uint16_t",
|
|
||||||
"-DGOOGLE_PROTOBUF_NO_RTTI",
|
|
||||||
"-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
|
|
||||||
"-DHAVE_PTHREAD",
|
|
||||||
"-DPROTOBUF_USE_DLLS",
|
|
||||||
"-DBORINGSSL_SHARED_LIBRARY",
|
|
||||||
"-DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS",
|
|
||||||
"-DSK_HAS_PNG_LIBRARY",
|
|
||||||
"-DSK_HAS_WEBP_LIBRARY",
|
|
||||||
"-DSK_HAS_JPEG_LIBRARY",
|
|
||||||
"-DSKIA_DLL",
|
|
||||||
"-DGR_GL_IGNORE_ES3_MSAA=0",
|
|
||||||
"-DSK_SUPPORT_GPU=1",
|
|
||||||
"-DMESA_EGL_NO_X11_HEADERS",
|
|
||||||
"-I../..",
|
|
||||||
"-Igen",
|
|
||||||
"-I../../third_party/libwebp/src",
|
|
||||||
"-I../../third_party/khronos",
|
|
||||||
"-I../../gpu",
|
|
||||||
"-I../../third_party/googletest/src/googletest/include",
|
|
||||||
"-I../../third_party/WebKit",
|
|
||||||
"-Igen/third_party/WebKit",
|
|
||||||
"-I../../v8/include",
|
|
||||||
"-Igen/v8/include",
|
|
||||||
"-I../../third_party/icu/source/common",
|
|
||||||
"-I../../third_party/icu/source/i18n",
|
|
||||||
"-I../../third_party/protobuf/src",
|
|
||||||
"-Igen/protoc_out",
|
|
||||||
"-I../../third_party/protobuf/src",
|
|
||||||
"-I../../third_party/boringssl/src/include",
|
|
||||||
"-I../../build/linux/debian_jessie_amd64-sysroot/usr/include/nss",
|
|
||||||
"-I../../build/linux/debian_jessie_amd64-sysroot/usr/include/nspr",
|
|
||||||
"-I../../skia/config",
|
|
||||||
"-I../../skia/ext",
|
|
||||||
"-I../../third_party/skia/include/c",
|
|
||||||
"-I../../third_party/skia/include/config",
|
|
||||||
"-I../../third_party/skia/include/core",
|
|
||||||
"-I../../third_party/skia/include/effects",
|
|
||||||
"-I../../third_party/skia/include/encode",
|
|
||||||
"-I../../third_party/skia/include/gpu",
|
|
||||||
"-I../../third_party/skia/include/images",
|
|
||||||
"-I../../third_party/skia/include/lazy",
|
|
||||||
"-I../../third_party/skia/include/pathops",
|
|
||||||
"-I../../third_party/skia/include/pdf",
|
|
||||||
"-I../../third_party/skia/include/pipe",
|
|
||||||
"-I../../third_party/skia/include/ports",
|
|
||||||
"-I../../third_party/skia/include/utils",
|
|
||||||
"-I../../third_party/skia/third_party/vulkan",
|
|
||||||
"-I../../third_party/skia/include/codec",
|
|
||||||
"-I../../third_party/skia/src/gpu",
|
|
||||||
"-I../../third_party/skia/src/sksl",
|
|
||||||
"-I../../third_party/ced/src",
|
|
||||||
"-I../../third_party/mesa/src/include",
|
|
||||||
"-I../../third_party/libwebm/source",
|
|
||||||
"-Igen",
|
|
||||||
"-I../../build/linux/debian_jessie_amd64-sysroot/usr/include/"
|
|
||||||
"dbus-1.0",
|
|
||||||
"-I../../build/linux/debian_jessie_amd64-sysroot/usr/lib/"
|
|
||||||
"x86_64-linux-gnu/dbus-1.0/include",
|
|
||||||
"-I../../third_party/googletest/custom",
|
|
||||||
"-I../../third_party/googletest/src/googlemock/include",
|
|
||||||
"-fno-strict-aliasing",
|
|
||||||
"-Wno-builtin-macro-redefined",
|
|
||||||
"-D__DATE__=",
|
|
||||||
"-D__TIME__=",
|
|
||||||
"-D__TIMESTAMP__=",
|
|
||||||
"-funwind-tables",
|
|
||||||
"-fPIC",
|
|
||||||
"-pipe",
|
|
||||||
"-B../../third_party/binutils/Linux_x64/Release/bin",
|
|
||||||
"-pthread",
|
|
||||||
"-fcolor-diagnostics",
|
|
||||||
"-no-canonical-prefixes",
|
|
||||||
"-m64",
|
|
||||||
"-march=x86-64",
|
|
||||||
"-Wall",
|
|
||||||
"-Werror",
|
|
||||||
"-Wextra",
|
|
||||||
"-Wno-missing-field-initializers",
|
|
||||||
"-Wno-unused-parameter",
|
|
||||||
"-Wno-c++11-narrowing",
|
|
||||||
"-Wno-covered-switch-default",
|
|
||||||
"-Wno-unneeded-internal-declaration",
|
|
||||||
"-Wno-inconsistent-missing-override",
|
|
||||||
"-Wno-undefined-var-template",
|
|
||||||
"-Wno-nonportable-include-path",
|
|
||||||
"-Wno-address-of-packed-member",
|
|
||||||
"-Wno-unused-lambda-capture",
|
|
||||||
"-Wno-user-defined-warnings",
|
|
||||||
"-Wno-enum-compare-switch",
|
|
||||||
"-Wno-tautological-unsigned-zero-compare",
|
|
||||||
"-Wno-null-pointer-arithmetic",
|
|
||||||
"-Wno-tautological-unsigned-enum-zero-compare",
|
|
||||||
"-O2",
|
|
||||||
"-fno-ident",
|
|
||||||
"-fdata-sections",
|
|
||||||
"-ffunction-sections",
|
|
||||||
"-fno-omit-frame-pointer",
|
|
||||||
"-g0",
|
|
||||||
"-fvisibility=hidden",
|
|
||||||
"-Xclang",
|
|
||||||
"-load",
|
|
||||||
"-Xclang",
|
|
||||||
"../../third_party/llvm-build/Release+Asserts/lib/"
|
|
||||||
"libFindBadConstructs.so",
|
|
||||||
"-Xclang",
|
|
||||||
"-add-plugin",
|
|
||||||
"-Xclang",
|
|
||||||
"find-bad-constructs",
|
|
||||||
"-Xclang",
|
|
||||||
"-plugin-arg-find-bad-constructs",
|
|
||||||
"-Xclang",
|
|
||||||
"check-auto-raw-pointer",
|
|
||||||
"-Xclang",
|
|
||||||
"-plugin-arg-find-bad-constructs",
|
|
||||||
"-Xclang",
|
|
||||||
"check-ipc",
|
|
||||||
"-Wheader-hygiene",
|
|
||||||
"-Wstring-conversion",
|
|
||||||
"-Wtautological-overlap-compare",
|
|
||||||
"-Wno-header-guard",
|
|
||||||
"-std=gnu++14",
|
|
||||||
"-fno-rtti",
|
|
||||||
"-nostdinc++",
|
|
||||||
"-isystem../../buildtools/third_party/libc++/trunk/include",
|
|
||||||
"-isystem../../buildtools/third_party/libc++abi/trunk/include",
|
|
||||||
"--sysroot=../../build/linux/debian_jessie_amd64-sysroot",
|
|
||||||
"-fno-exceptions",
|
|
||||||
"-fvisibility-inlines-hidden",
|
|
||||||
"-c",
|
|
||||||
"../../ash/login/ui/lock_screen_sanity_unittest.cc",
|
|
||||||
"-o",
|
|
||||||
"obj/ash/ash_unittests/lock_screen_sanity_unittest.o",
|
|
||||||
},
|
|
||||||
|
|
||||||
/* expected */
|
|
||||||
{"../../third_party/llvm-build/Release+Asserts/bin/clang++",
|
|
||||||
"-working-directory=/w/c/s/out/Release",
|
|
||||||
"-DV8_DEPRECATION_WARNINGS",
|
|
||||||
"-DDCHECK_ALWAYS_ON=1",
|
|
||||||
"-DUSE_UDEV",
|
|
||||||
"-DUSE_AURA=1",
|
|
||||||
"-DUSE_NSS_CERTS=1",
|
|
||||||
"-DUSE_OZONE=1",
|
|
||||||
"-DFULL_SAFE_BROWSING",
|
|
||||||
"-DSAFE_BROWSING_CSD",
|
|
||||||
"-DSAFE_BROWSING_DB_LOCAL",
|
|
||||||
"-DCHROMIUM_BUILD",
|
|
||||||
"-DFIELDTRIAL_TESTING_ENABLED",
|
|
||||||
"-D_FILE_OFFSET_BITS=64",
|
|
||||||
"-D_LARGEFILE_SOURCE",
|
|
||||||
"-D_LARGEFILE64_SOURCE",
|
|
||||||
"-DCR_CLANG_REVISION=\"313786-1\"",
|
|
||||||
"-D__STDC_CONSTANT_MACROS",
|
|
||||||
"-D__STDC_FORMAT_MACROS",
|
|
||||||
"-DCOMPONENT_BUILD",
|
|
||||||
"-DOS_CHROMEOS",
|
|
||||||
"-DNDEBUG",
|
|
||||||
"-DNVALGRIND",
|
|
||||||
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
|
|
||||||
"-DGL_GLEXT_PROTOTYPES",
|
|
||||||
"-DUSE_GLX",
|
|
||||||
"-DUSE_EGL",
|
|
||||||
"-DANGLE_ENABLE_RELEASE_ASSERTS",
|
|
||||||
"-DTOOLKIT_VIEWS=1",
|
|
||||||
"-DGTEST_API_=",
|
|
||||||
"-DGTEST_HAS_POSIX_RE=0",
|
|
||||||
"-DGTEST_LANG_CXX11=1",
|
|
||||||
"-DUNIT_TEST",
|
|
||||||
"-DUSING_V8_SHARED",
|
|
||||||
"-DU_USING_ICU_NAMESPACE=0",
|
|
||||||
"-DU_ENABLE_DYLOAD=0",
|
|
||||||
"-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE",
|
|
||||||
"-DUCHAR_TYPE=uint16_t",
|
|
||||||
"-DGOOGLE_PROTOBUF_NO_RTTI",
|
|
||||||
"-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
|
|
||||||
"-DHAVE_PTHREAD",
|
|
||||||
"-DPROTOBUF_USE_DLLS",
|
|
||||||
"-DBORINGSSL_SHARED_LIBRARY",
|
|
||||||
"-DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS",
|
|
||||||
"-DSK_HAS_PNG_LIBRARY",
|
|
||||||
"-DSK_HAS_WEBP_LIBRARY",
|
|
||||||
"-DSK_HAS_JPEG_LIBRARY",
|
|
||||||
"-DSKIA_DLL",
|
|
||||||
"-DGR_GL_IGNORE_ES3_MSAA=0",
|
|
||||||
"-DSK_SUPPORT_GPU=1",
|
|
||||||
"-DMESA_EGL_NO_X11_HEADERS",
|
|
||||||
"-I../..",
|
|
||||||
"-Igen",
|
|
||||||
"-I../../third_party/libwebp/src",
|
|
||||||
"-I../../third_party/khronos",
|
|
||||||
"-I../../gpu",
|
|
||||||
"-I../../third_party/googletest/src/googletest/"
|
|
||||||
"include",
|
|
||||||
"-I../../third_party/WebKit",
|
|
||||||
"-Igen/third_party/WebKit",
|
|
||||||
"-I../../v8/include",
|
|
||||||
"-Igen/v8/include",
|
|
||||||
"-I../../third_party/icu/source/common",
|
|
||||||
"-I../../third_party/icu/source/i18n",
|
|
||||||
"-I../../third_party/protobuf/src",
|
|
||||||
"-Igen/protoc_out",
|
|
||||||
"-I../../third_party/protobuf/src",
|
|
||||||
"-I../../third_party/boringssl/src/include",
|
|
||||||
"-I../../build/linux/debian_jessie_amd64-sysroot/"
|
|
||||||
"usr/include/nss",
|
|
||||||
"-I../../build/linux/debian_jessie_amd64-sysroot/"
|
|
||||||
"usr/include/nspr",
|
|
||||||
"-I../../skia/config",
|
|
||||||
"-I../../skia/ext",
|
|
||||||
"-I../../third_party/skia/include/c",
|
|
||||||
"-I../../third_party/skia/include/config",
|
|
||||||
"-I../../third_party/skia/include/core",
|
|
||||||
"-I../../third_party/skia/include/effects",
|
|
||||||
"-I../../third_party/skia/include/encode",
|
|
||||||
"-I../../third_party/skia/include/gpu",
|
|
||||||
"-I../../third_party/skia/include/images",
|
|
||||||
"-I../../third_party/skia/include/lazy",
|
|
||||||
"-I../../third_party/skia/include/pathops",
|
|
||||||
"-I../../third_party/skia/include/pdf",
|
|
||||||
"-I../../third_party/skia/include/pipe",
|
|
||||||
"-I../../third_party/skia/include/ports",
|
|
||||||
"-I../../third_party/skia/include/utils",
|
|
||||||
"-I../../third_party/skia/third_party/vulkan",
|
|
||||||
"-I../../third_party/skia/include/codec",
|
|
||||||
"-I../../third_party/skia/src/gpu",
|
|
||||||
"-I../../third_party/skia/src/sksl",
|
|
||||||
"-I../../third_party/ced/src",
|
|
||||||
"-I../../third_party/mesa/src/include",
|
|
||||||
"-I../../third_party/libwebm/source",
|
|
||||||
"-Igen",
|
|
||||||
"-I../../build/linux/debian_jessie_amd64-sysroot/"
|
|
||||||
"usr/include/dbus-1.0",
|
|
||||||
"-I../../build/linux/debian_jessie_amd64-sysroot/"
|
|
||||||
"usr/lib/x86_64-linux-gnu/dbus-1.0/include",
|
|
||||||
"-I../../third_party/googletest/custom",
|
|
||||||
"-I../../third_party/googletest/src/googlemock/"
|
|
||||||
"include",
|
|
||||||
"-fno-strict-aliasing",
|
|
||||||
"-Wno-builtin-macro-redefined",
|
|
||||||
"-D__DATE__=",
|
|
||||||
"-D__TIME__=",
|
|
||||||
"-D__TIMESTAMP__=",
|
|
||||||
"-funwind-tables",
|
|
||||||
"-fPIC",
|
|
||||||
"-pipe",
|
|
||||||
"-B../../third_party/binutils/Linux_x64/Release/bin",
|
|
||||||
"-pthread",
|
|
||||||
"-fcolor-diagnostics",
|
|
||||||
"-no-canonical-prefixes",
|
|
||||||
"-m64",
|
|
||||||
"-march=x86-64",
|
|
||||||
"-Wall",
|
|
||||||
"-Werror",
|
|
||||||
"-Wextra",
|
|
||||||
"-Wno-missing-field-initializers",
|
|
||||||
"-Wno-unused-parameter",
|
|
||||||
"-Wno-c++11-narrowing",
|
|
||||||
"-Wno-covered-switch-default",
|
|
||||||
"-Wno-unneeded-internal-declaration",
|
|
||||||
"-Wno-inconsistent-missing-override",
|
|
||||||
"-Wno-undefined-var-template",
|
|
||||||
"-Wno-nonportable-include-path",
|
|
||||||
"-Wno-address-of-packed-member",
|
|
||||||
"-Wno-unused-lambda-capture",
|
|
||||||
"-Wno-user-defined-warnings",
|
|
||||||
"-Wno-enum-compare-switch",
|
|
||||||
"-Wno-tautological-unsigned-zero-compare",
|
|
||||||
"-Wno-null-pointer-arithmetic",
|
|
||||||
"-Wno-tautological-unsigned-enum-zero-compare",
|
|
||||||
"-O2",
|
|
||||||
"-fno-ident",
|
|
||||||
"-fdata-sections",
|
|
||||||
"-ffunction-sections",
|
|
||||||
"-fno-omit-frame-pointer",
|
|
||||||
"-g0",
|
|
||||||
"-fvisibility=hidden",
|
|
||||||
"-Wheader-hygiene",
|
|
||||||
"-Wstring-conversion",
|
|
||||||
"-Wtautological-overlap-compare",
|
|
||||||
"-Wno-header-guard",
|
|
||||||
"-std=gnu++14",
|
|
||||||
"-fno-rtti",
|
|
||||||
"-nostdinc++",
|
|
||||||
"-isystem../../buildtools/third_party/libc++/"
|
|
||||||
"trunk/"
|
|
||||||
"include",
|
|
||||||
"-isystem../../buildtools/third_party/libc++abi/"
|
|
||||||
"trunk/"
|
|
||||||
"include",
|
|
||||||
"--sysroot=&/w/c/s/out/Release/../../build/linux/"
|
|
||||||
"debian_jessie_amd64-sysroot",
|
|
||||||
"-fno-exceptions",
|
|
||||||
"-fvisibility-inlines-hidden",
|
|
||||||
"&/w/c/s/out/Release/../../ash/login/ui/"
|
|
||||||
"lock_screen_sanity_unittest.cc",
|
|
||||||
"-resource-dir=/w/resource_dir/",
|
|
||||||
"-Wno-unknown-warning-option",
|
|
||||||
"-fparse-all-comments"});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Checks flag parsing for an example chromium file.
|
|
||||||
TEST_CASE("chromium") {
|
|
||||||
CheckFlags(
|
|
||||||
"/w/c/s/out/Release", "../../apps/app_lifetime_monitor.cc",
|
|
||||||
/* raw */
|
|
||||||
{"/work/goma/gomacc",
|
|
||||||
"../../third_party/llvm-build/Release+Asserts/bin/clang++",
|
|
||||||
"-MMD",
|
|
||||||
"-MF",
|
|
||||||
"obj/apps/apps/app_lifetime_monitor.o.d",
|
|
||||||
"-DV8_DEPRECATION_WARNINGS",
|
|
||||||
"-DDCHECK_ALWAYS_ON=1",
|
|
||||||
"-DUSE_UDEV",
|
|
||||||
"-DUSE_ASH=1",
|
|
||||||
"-DUSE_AURA=1",
|
|
||||||
"-DUSE_NSS_CERTS=1",
|
|
||||||
"-DUSE_OZONE=1",
|
|
||||||
"-DDISABLE_NACL",
|
|
||||||
"-DFULL_SAFE_BROWSING",
|
|
||||||
"-DSAFE_BROWSING_CSD",
|
|
||||||
"-DSAFE_BROWSING_DB_LOCAL",
|
|
||||||
"-DCHROMIUM_BUILD",
|
|
||||||
"-DFIELDTRIAL_TESTING_ENABLED",
|
|
||||||
"-DCR_CLANG_REVISION=\"310694-1\"",
|
|
||||||
"-D_FILE_OFFSET_BITS=64",
|
|
||||||
"-D_LARGEFILE_SOURCE",
|
|
||||||
"-D_LARGEFILE64_SOURCE",
|
|
||||||
"-D__STDC_CONSTANT_MACROS",
|
|
||||||
"-D__STDC_FORMAT_MACROS",
|
|
||||||
"-DCOMPONENT_BUILD",
|
|
||||||
"-DOS_CHROMEOS",
|
|
||||||
"-DNDEBUG",
|
|
||||||
"-DNVALGRIND",
|
|
||||||
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
|
|
||||||
"-DGL_GLEXT_PROTOTYPES",
|
|
||||||
"-DUSE_GLX",
|
|
||||||
"-DUSE_EGL",
|
|
||||||
"-DANGLE_ENABLE_RELEASE_ASSERTS",
|
|
||||||
"-DTOOLKIT_VIEWS=1",
|
|
||||||
"-DV8_USE_EXTERNAL_STARTUP_DATA",
|
|
||||||
"-DU_USING_ICU_NAMESPACE=0",
|
|
||||||
"-DU_ENABLE_DYLOAD=0",
|
|
||||||
"-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE",
|
|
||||||
"-DUCHAR_TYPE=uint16_t",
|
|
||||||
"-DGOOGLE_PROTOBUF_NO_RTTI",
|
|
||||||
"-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
|
|
||||||
"-DHAVE_PTHREAD",
|
|
||||||
"-DPROTOBUF_USE_DLLS",
|
|
||||||
"-DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS",
|
|
||||||
"-DSK_HAS_PNG_LIBRARY",
|
|
||||||
"-DSK_HAS_WEBP_LIBRARY",
|
|
||||||
"-DSK_HAS_JPEG_LIBRARY",
|
|
||||||
"-DSKIA_DLL",
|
|
||||||
"-DGR_GL_IGNORE_ES3_MSAA=0",
|
|
||||||
"-DSK_SUPPORT_GPU=1",
|
|
||||||
"-DMESA_EGL_NO_X11_HEADERS",
|
|
||||||
"-DBORINGSSL_SHARED_LIBRARY",
|
|
||||||
"-DUSING_V8_SHARED",
|
|
||||||
"-I../..",
|
|
||||||
"-Igen",
|
|
||||||
"-I../../third_party/libwebp/src",
|
|
||||||
"-I../../third_party/khronos",
|
|
||||||
"-I../../gpu",
|
|
||||||
"-I../../third_party/ced/src",
|
|
||||||
"-I../../third_party/icu/source/common",
|
|
||||||
"-I../../third_party/icu/source/i18n",
|
|
||||||
"-I../../third_party/protobuf/src",
|
|
||||||
"-I../../skia/config",
|
|
||||||
"-I../../skia/ext",
|
|
||||||
"-I../../third_party/skia/include/c",
|
|
||||||
"-I../../third_party/skia/include/config",
|
|
||||||
"-I../../third_party/skia/include/core",
|
|
||||||
"-I../../third_party/skia/include/effects",
|
|
||||||
"-I../../third_party/skia/include/encode",
|
|
||||||
"-I../../third_party/skia/include/gpu",
|
|
||||||
"-I../../third_party/skia/include/images",
|
|
||||||
"-I../../third_party/skia/include/lazy",
|
|
||||||
"-I../../third_party/skia/include/pathops",
|
|
||||||
"-I../../third_party/skia/include/pdf",
|
|
||||||
"-I../../third_party/skia/include/pipe",
|
|
||||||
"-I../../third_party/skia/include/ports",
|
|
||||||
"-I../../third_party/skia/include/utils",
|
|
||||||
"-I../../third_party/skia/third_party/vulkan",
|
|
||||||
"-I../../third_party/skia/src/gpu",
|
|
||||||
"-I../../third_party/skia/src/sksl",
|
|
||||||
"-I../../third_party/mesa/src/include",
|
|
||||||
"-I../../third_party/libwebm/source",
|
|
||||||
"-I../../third_party/protobuf/src",
|
|
||||||
"-Igen/protoc_out",
|
|
||||||
"-I../../third_party/boringssl/src/include",
|
|
||||||
"-I../../build/linux/debian_jessie_amd64-sysroot/usr/include/nss",
|
|
||||||
"-I../../build/linux/debian_jessie_amd64-sysroot/usr/include/nspr",
|
|
||||||
"-Igen",
|
|
||||||
"-I../../third_party/WebKit",
|
|
||||||
"-Igen/third_party/WebKit",
|
|
||||||
"-I../../v8/include",
|
|
||||||
"-Igen/v8/include",
|
|
||||||
"-Igen",
|
|
||||||
"-I../../third_party/flatbuffers/src/include",
|
|
||||||
"-Igen",
|
|
||||||
"-fno-strict-aliasing",
|
|
||||||
"-Wno-builtin-macro-redefined",
|
|
||||||
"-D__DATE__=",
|
|
||||||
"-D__TIME__=",
|
|
||||||
"-D__TIMESTAMP__=",
|
|
||||||
"-funwind-tables",
|
|
||||||
"-fPIC",
|
|
||||||
"-pipe",
|
|
||||||
"-B../../third_party/binutils/Linux_x64/Release/bin",
|
|
||||||
"-pthread",
|
|
||||||
"-fcolor-diagnostics",
|
|
||||||
"-m64",
|
|
||||||
"-march=x86-64",
|
|
||||||
"-Wall",
|
|
||||||
"-Werror",
|
|
||||||
"-Wextra",
|
|
||||||
"-Wno-missing-field-initializers",
|
|
||||||
"-Wno-unused-parameter",
|
|
||||||
"-Wno-c++11-narrowing",
|
|
||||||
"-Wno-covered-switch-default",
|
|
||||||
"-Wno-unneeded-internal-declaration",
|
|
||||||
"-Wno-inconsistent-missing-override",
|
|
||||||
"-Wno-undefined-var-template",
|
|
||||||
"-Wno-nonportable-include-path",
|
|
||||||
"-Wno-address-of-packed-member",
|
|
||||||
"-Wno-unused-lambda-capture",
|
|
||||||
"-Wno-user-defined-warnings",
|
|
||||||
"-Wno-enum-compare-switch",
|
|
||||||
"-O2",
|
|
||||||
"-fno-ident",
|
|
||||||
"-fdata-sections",
|
|
||||||
"-ffunction-sections",
|
|
||||||
"-fno-omit-frame-pointer",
|
|
||||||
"-g0",
|
|
||||||
"-fvisibility=hidden",
|
|
||||||
"-Xclang",
|
|
||||||
"-load",
|
|
||||||
"-Xclang",
|
|
||||||
"../../third_party/llvm-build/Release+Asserts/lib/"
|
|
||||||
"libFindBadConstructs.so",
|
|
||||||
"-Xclang",
|
|
||||||
"-add-plugin",
|
|
||||||
"-Xclang",
|
|
||||||
"find-bad-constructs",
|
|
||||||
"-Xclang",
|
|
||||||
"-plugin-arg-find-bad-constructs",
|
|
||||||
"-Xclang",
|
|
||||||
"check-auto-raw-pointer",
|
|
||||||
"-Xclang",
|
|
||||||
"-plugin-arg-find-bad-constructs",
|
|
||||||
"-Xclang",
|
|
||||||
"check-ipc",
|
|
||||||
"-Wheader-hygiene",
|
|
||||||
"-Wstring-conversion",
|
|
||||||
"-Wtautological-overlap-compare",
|
|
||||||
"-Wexit-time-destructors",
|
|
||||||
"-Wno-header-guard",
|
|
||||||
"-Wno-exit-time-destructors",
|
|
||||||
"-std=gnu++14",
|
|
||||||
"-fno-rtti",
|
|
||||||
"-nostdinc++",
|
|
||||||
"-isystem../../buildtools/third_party/libc++/trunk/include",
|
|
||||||
"-isystem../../buildtools/third_party/libc++abi/trunk/include",
|
|
||||||
"--sysroot=../../build/linux/debian_jessie_amd64-sysroot",
|
|
||||||
"-fno-exceptions",
|
|
||||||
"-fvisibility-inlines-hidden",
|
|
||||||
"../../apps/app_lifetime_monitor.cc"},
|
|
||||||
|
|
||||||
/* expected */
|
|
||||||
{"../../third_party/llvm-build/Release+Asserts/bin/clang++",
|
|
||||||
"-working-directory=/w/c/s/out/Release",
|
|
||||||
"-DV8_DEPRECATION_WARNINGS",
|
|
||||||
"-DDCHECK_ALWAYS_ON=1",
|
|
||||||
"-DUSE_UDEV",
|
|
||||||
"-DUSE_ASH=1",
|
|
||||||
"-DUSE_AURA=1",
|
|
||||||
"-DUSE_NSS_CERTS=1",
|
|
||||||
"-DUSE_OZONE=1",
|
|
||||||
"-DDISABLE_NACL",
|
|
||||||
"-DFULL_SAFE_BROWSING",
|
|
||||||
"-DSAFE_BROWSING_CSD",
|
|
||||||
"-DSAFE_BROWSING_DB_LOCAL",
|
|
||||||
"-DCHROMIUM_BUILD",
|
|
||||||
"-DFIELDTRIAL_TESTING_ENABLED",
|
|
||||||
"-DCR_CLANG_REVISION=\"310694-1\"",
|
|
||||||
"-D_FILE_OFFSET_BITS=64",
|
|
||||||
"-D_LARGEFILE_SOURCE",
|
|
||||||
"-D_LARGEFILE64_SOURCE",
|
|
||||||
"-D__STDC_CONSTANT_MACROS",
|
|
||||||
"-D__STDC_FORMAT_MACROS",
|
|
||||||
"-DCOMPONENT_BUILD",
|
|
||||||
"-DOS_CHROMEOS",
|
|
||||||
"-DNDEBUG",
|
|
||||||
"-DNVALGRIND",
|
|
||||||
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
|
|
||||||
"-DGL_GLEXT_PROTOTYPES",
|
|
||||||
"-DUSE_GLX",
|
|
||||||
"-DUSE_EGL",
|
|
||||||
"-DANGLE_ENABLE_RELEASE_ASSERTS",
|
|
||||||
"-DTOOLKIT_VIEWS=1",
|
|
||||||
"-DV8_USE_EXTERNAL_STARTUP_DATA",
|
|
||||||
"-DU_USING_ICU_NAMESPACE=0",
|
|
||||||
"-DU_ENABLE_DYLOAD=0",
|
|
||||||
"-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE",
|
|
||||||
"-DUCHAR_TYPE=uint16_t",
|
|
||||||
"-DGOOGLE_PROTOBUF_NO_RTTI",
|
|
||||||
"-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
|
|
||||||
"-DHAVE_PTHREAD",
|
|
||||||
"-DPROTOBUF_USE_DLLS",
|
|
||||||
"-DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS",
|
|
||||||
"-DSK_HAS_PNG_LIBRARY",
|
|
||||||
"-DSK_HAS_WEBP_LIBRARY",
|
|
||||||
"-DSK_HAS_JPEG_LIBRARY",
|
|
||||||
"-DSKIA_DLL",
|
|
||||||
"-DGR_GL_IGNORE_ES3_MSAA=0",
|
|
||||||
"-DSK_SUPPORT_GPU=1",
|
|
||||||
"-DMESA_EGL_NO_X11_HEADERS",
|
|
||||||
"-DBORINGSSL_SHARED_LIBRARY",
|
|
||||||
"-DUSING_V8_SHARED",
|
|
||||||
"-I../..",
|
|
||||||
"-Igen",
|
|
||||||
"-I../../third_party/libwebp/src",
|
|
||||||
"-I../../third_party/khronos",
|
|
||||||
"-I../../gpu",
|
|
||||||
"-I../../third_party/ced/src",
|
|
||||||
"-I../../third_party/icu/source/common",
|
|
||||||
"-I../../third_party/icu/source/i18n",
|
|
||||||
"-I../../third_party/protobuf/src",
|
|
||||||
"-I../../skia/config",
|
|
||||||
"-I../../skia/ext",
|
|
||||||
"-I../../third_party/skia/include/c",
|
|
||||||
"-I../../third_party/skia/include/config",
|
|
||||||
"-I../../third_party/skia/include/core",
|
|
||||||
"-I../../third_party/skia/include/effects",
|
|
||||||
"-I../../third_party/skia/include/encode",
|
|
||||||
"-I../../third_party/skia/include/gpu",
|
|
||||||
"-I../../third_party/skia/include/images",
|
|
||||||
"-I../../third_party/skia/include/lazy",
|
|
||||||
"-I../../third_party/skia/include/pathops",
|
|
||||||
"-I../../third_party/skia/include/pdf",
|
|
||||||
"-I../../third_party/skia/include/pipe",
|
|
||||||
"-I../../third_party/skia/include/ports",
|
|
||||||
"-I../../third_party/skia/include/utils",
|
|
||||||
"-I../../third_party/skia/third_party/vulkan",
|
|
||||||
"-I../../third_party/skia/src/gpu",
|
|
||||||
"-I../../third_party/skia/src/sksl",
|
|
||||||
"-I../../third_party/mesa/src/include",
|
|
||||||
"-I../../third_party/libwebm/source",
|
|
||||||
"-I../../third_party/protobuf/src",
|
|
||||||
"-Igen/protoc_out",
|
|
||||||
"-I../../third_party/boringssl/src/include",
|
|
||||||
"-I../../build/linux/debian_jessie_amd64-sysroot/"
|
|
||||||
"usr/include/nss",
|
|
||||||
"-I../../build/linux/debian_jessie_amd64-sysroot/"
|
|
||||||
"usr/include/nspr",
|
|
||||||
"-Igen",
|
|
||||||
"-I../../third_party/WebKit",
|
|
||||||
"-Igen/third_party/WebKit",
|
|
||||||
"-I../../v8/include",
|
|
||||||
"-Igen/v8/include",
|
|
||||||
"-Igen",
|
|
||||||
"-I../../third_party/flatbuffers/src/include",
|
|
||||||
"-Igen",
|
|
||||||
"-fno-strict-aliasing",
|
|
||||||
"-Wno-builtin-macro-redefined",
|
|
||||||
"-D__DATE__=",
|
|
||||||
"-D__TIME__=",
|
|
||||||
"-D__TIMESTAMP__=",
|
|
||||||
"-funwind-tables",
|
|
||||||
"-fPIC",
|
|
||||||
"-pipe",
|
|
||||||
"-B../../third_party/binutils/Linux_x64/Release/bin",
|
|
||||||
"-pthread",
|
|
||||||
"-fcolor-diagnostics",
|
|
||||||
"-m64",
|
|
||||||
"-march=x86-64",
|
|
||||||
"-Wall",
|
|
||||||
"-Werror",
|
|
||||||
"-Wextra",
|
|
||||||
"-Wno-missing-field-initializers",
|
|
||||||
"-Wno-unused-parameter",
|
|
||||||
"-Wno-c++11-narrowing",
|
|
||||||
"-Wno-covered-switch-default",
|
|
||||||
"-Wno-unneeded-internal-declaration",
|
|
||||||
"-Wno-inconsistent-missing-override",
|
|
||||||
"-Wno-undefined-var-template",
|
|
||||||
"-Wno-nonportable-include-path",
|
|
||||||
"-Wno-address-of-packed-member",
|
|
||||||
"-Wno-unused-lambda-capture",
|
|
||||||
"-Wno-user-defined-warnings",
|
|
||||||
"-Wno-enum-compare-switch",
|
|
||||||
"-O2",
|
|
||||||
"-fno-ident",
|
|
||||||
"-fdata-sections",
|
|
||||||
"-ffunction-sections",
|
|
||||||
"-fno-omit-frame-pointer",
|
|
||||||
"-g0",
|
|
||||||
"-fvisibility=hidden",
|
|
||||||
"-Wheader-hygiene",
|
|
||||||
"-Wstring-conversion",
|
|
||||||
"-Wtautological-overlap-compare",
|
|
||||||
"-Wexit-time-destructors",
|
|
||||||
"-Wno-header-guard",
|
|
||||||
"-Wno-exit-time-destructors",
|
|
||||||
"-std=gnu++14",
|
|
||||||
"-fno-rtti",
|
|
||||||
"-nostdinc++",
|
|
||||||
"-isystem../../buildtools/third_party/libc++/"
|
|
||||||
"trunk/"
|
|
||||||
"include",
|
|
||||||
"-isystem../../buildtools/third_party/libc++abi/"
|
|
||||||
"trunk/"
|
|
||||||
"include",
|
|
||||||
"--sysroot=&/w/c/s/out/Release/../../build/linux/"
|
|
||||||
"debian_jessie_amd64-sysroot",
|
|
||||||
"-fno-exceptions",
|
|
||||||
"-fvisibility-inlines-hidden",
|
|
||||||
"&/w/c/s/out/Release/../../apps/app_lifetime_monitor.cc",
|
|
||||||
"-resource-dir=/w/resource_dir/",
|
|
||||||
"-Wno-unknown-warning-option",
|
|
||||||
"-fparse-all-comments"});
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST_CASE("Directory extraction") {
|
TEST_CASE("Directory extraction") {
|
||||||
Config init_opts;
|
Config init_opts;
|
||||||
ProjectConfig config;
|
ProjectConfig config;
|
||||||
|
@ -37,8 +37,7 @@ std::string ToString(const rapidjson::Document& document) {
|
|||||||
|
|
||||||
buffer.Clear();
|
buffer.Clear();
|
||||||
document.Accept(writer);
|
document.Accept(writer);
|
||||||
std::string output = buffer.GetString();
|
return buffer.GetString();
|
||||||
return UpdateToRnNewlines(output);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ParseTestExpectation(
|
void ParseTestExpectation(
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "type_printer.h"
|
#include "type_printer.h"
|
||||||
#include <string>
|
|
||||||
#include "loguru.hpp"
|
#include <loguru.hpp>
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ std::string GetFunctionSignature(IndexFile* db,
|
|||||||
NamespaceHelper* ns,
|
NamespaceHelper* ns,
|
||||||
const CXIdxDeclInfo* decl) {
|
const CXIdxDeclInfo* decl) {
|
||||||
int num_args = clang_Cursor_getNumArguments(decl->cursor);
|
int num_args = clang_Cursor_getNumArguments(decl->cursor);
|
||||||
std::string function_name =
|
std::pair<std::string, int> function_name =
|
||||||
ns->QualifiedName(decl->semanticContainer, decl->entityInfo->name);
|
ns->QualifiedName(decl->semanticContainer, decl->entityInfo->name);
|
||||||
|
|
||||||
std::vector<std::pair<int, std::string>> args;
|
std::vector<std::pair<int, std::string>> args;
|
||||||
@ -76,7 +76,7 @@ std::string GetFunctionSignature(IndexFile* db,
|
|||||||
// Second pass: insert argument names before each comma and closing paren.
|
// Second pass: insert argument names before each comma and closing paren.
|
||||||
int i = function_name_offset;
|
int i = function_name_offset;
|
||||||
std::string type_desc_with_names(type_desc.begin(), type_desc.begin() + i);
|
std::string type_desc_with_names(type_desc.begin(), type_desc.begin() + i);
|
||||||
type_desc_with_names.append(function_name);
|
type_desc_with_names.append(function_name.first);
|
||||||
for (auto& arg : args) {
|
for (auto& arg : args) {
|
||||||
if (arg.first < 0) {
|
if (arg.first < 0) {
|
||||||
LOG_S(ERROR)
|
LOG_S(ERROR)
|
||||||
@ -99,7 +99,7 @@ std::string GetFunctionSignature(IndexFile* db,
|
|||||||
} else {
|
} else {
|
||||||
// type_desc is either a typedef, or some complicated type we cannot handle.
|
// type_desc is either a typedef, or some complicated type we cannot handle.
|
||||||
// Append the function_name in this case.
|
// Append the function_name in this case.
|
||||||
ConcatTypeAndName(type_desc, function_name);
|
ConcatTypeAndName(type_desc, function_name.first);
|
||||||
}
|
}
|
||||||
|
|
||||||
return type_desc;
|
return type_desc;
|
||||||
|
34
src/utils.cc
34
src/utils.cc
@ -430,40 +430,6 @@ std::string GetDefaultResourceDirectory() {
|
|||||||
return NormalizePath(result);
|
return NormalizePath(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string UpdateToRnNewlines(std::string output) {
|
|
||||||
size_t idx = 0;
|
|
||||||
while (true) {
|
|
||||||
idx = output.find('\n', idx);
|
|
||||||
|
|
||||||
// No more matches.
|
|
||||||
if (idx == std::string::npos)
|
|
||||||
break;
|
|
||||||
|
|
||||||
// Skip an existing "\r\n" match.
|
|
||||||
if (idx > 0 && output[idx - 1] == '\r') {
|
|
||||||
++idx;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Replace "\n" with "\r|n".
|
|
||||||
output.replace(output.begin() + idx, output.begin() + idx + 1, "\r\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
return output;
|
|
||||||
};
|
|
||||||
|
|
||||||
TEST_SUITE("Update \\n to \\r\\n") {
|
|
||||||
TEST_CASE("all") {
|
|
||||||
REQUIRE(UpdateToRnNewlines("\n") == "\r\n");
|
|
||||||
REQUIRE(UpdateToRnNewlines("\n\n") == "\r\n\r\n");
|
|
||||||
REQUIRE(UpdateToRnNewlines("\r\n\n") == "\r\n\r\n");
|
|
||||||
REQUIRE(UpdateToRnNewlines("\n\r\n") == "\r\n\r\n");
|
|
||||||
REQUIRE(UpdateToRnNewlines("\r\n\r\n") == "\r\n\r\n");
|
|
||||||
REQUIRE(UpdateToRnNewlines("f1\nfo2\nfoo3") == "f1\r\nfo2\r\nfoo3");
|
|
||||||
REQUIRE(UpdateToRnNewlines("f1\r\nfo2\r\nfoo3") == "f1\r\nfo2\r\nfoo3");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST_SUITE("StripFileType") {
|
TEST_SUITE("StripFileType") {
|
||||||
TEST_CASE("all") {
|
TEST_CASE("all") {
|
||||||
REQUIRE(StripFileType("") == "");
|
REQUIRE(StripFileType("") == "");
|
||||||
|
Loading…
Reference in New Issue
Block a user