compare_upstream: match XxxMT:Method and Class_Method globals to C++ class members (demo 100% ported by name)
This commit is contained in:
+13
-13
@@ -16,12 +16,12 @@ imgui.cpp 786 87.4% 93.5% 75.0% 2
|
|||||||
imgui_widgets.cpp 308 93.8% 98.7% 78.1% 1
|
imgui_widgets.cpp 308 93.8% 98.7% 78.1% 1
|
||||||
imgui_draw.cpp 258 75.2% 75.5% 63.1% 2
|
imgui_draw.cpp 258 75.2% 75.5% 63.1% 2
|
||||||
imgui_tables.cpp 113 96.5% 99.0% 74.0% 0
|
imgui_tables.cpp 113 96.5% 99.0% 74.0% 0
|
||||||
imgui_demo.cpp 56 82.1% 98.2% 55.4% 0
|
imgui_demo.cpp 56 100.0% 100.0% 55.8% 0
|
||||||
imgui.h 110 53.6% 37.4% 56.7% 0
|
imgui.h 110 53.6% 37.4% 56.7% 0
|
||||||
imgui_internal.h 269 61.3% 64.9% 68.0% 1
|
imgui_internal.h 269 61.3% 64.9% 68.0% 1
|
||||||
TOTAL 1900 81.5% 92.8% 70.7% 6
|
TOTAL 1900 82.1% 93.1% 70.7% 6
|
||||||
|
|
||||||
upstream code reproduced (similarity x ported size / all upstream size): 65.6%
|
upstream code reproduced (similarity x ported size / all upstream size): 65.8%
|
||||||
Public API (imgui.h, namespace ImGui) 368 / 376 97.9%
|
Public API (imgui.h, namespace ImGui) 368 / 376 97.9%
|
||||||
Internal API (imgui_internal.h, namespace ImGui) 417 / 443 94.1%
|
Internal API (imgui_internal.h, namespace ImGui) 417 / 443 94.1%
|
||||||
Enum values (imgui.h + imgui_internal.h) 1005 / 1078 93.2%
|
Enum values (imgui.h + imgui_internal.h) 1005 / 1078 93.2%
|
||||||
@@ -1804,14 +1804,14 @@ imgui_demo.cpp
|
|||||||
[x] 66% DemoWindowWidgetsSelectables imgui_demo.lua:2584
|
[x] 66% DemoWindowWidgetsSelectables imgui_demo.lua:2584
|
||||||
|
|
||||||
-- DemoWindowWidgetsSelectionAndMultiSelect()
|
-- DemoWindowWidgetsSelectionAndMultiSelect()
|
||||||
[ ] ExampleSelectionWithDeletion::ApplyDeletionPreLoop
|
[x] 87% ExampleSelectionWithDeletion::ApplyDeletionPreLoop imgui_demo.lua:2774
|
||||||
[ ] ExampleSelectionWithDeletion::ApplyDeletionPostLoop
|
[x] 84% ExampleSelectionWithDeletion::ApplyDeletionPostLoop imgui_demo.lua:2807
|
||||||
[ ] ExampleDualListBox::MoveAll
|
[x] 74% ExampleDualListBox::MoveAll imgui_demo.lua:2841
|
||||||
[ ] ExampleDualListBox::MoveSelected
|
[x] 59% ExampleDualListBox::MoveSelected imgui_demo.lua:2851
|
||||||
[ ] ExampleDualListBox::ApplySelectionRequests
|
[x] 74% ExampleDualListBox::ApplySelectionRequests imgui_demo.lua:2871
|
||||||
[ ] ExampleDualListBox::CompareItemsByValue
|
[x] 29% ExampleDualListBox::CompareItemsByValue imgui_demo.lua:2878
|
||||||
[ ] ExampleDualListBox::SortItems
|
[x] 36% ExampleDualListBox::SortItems imgui_demo.lua:2881
|
||||||
[ ] ExampleDualListBox::Show
|
[x] 90% ExampleDualListBox::Show imgui_demo.lua:2886
|
||||||
[x] 71% DemoWindowWidgetsSelectionAndMultiSelect imgui_demo.lua:3130
|
[x] 71% DemoWindowWidgetsSelectionAndMultiSelect imgui_demo.lua:3130
|
||||||
|
|
||||||
-- DemoWindowWidgetsTabs()
|
-- DemoWindowWidgetsTabs()
|
||||||
@@ -1844,8 +1844,8 @@ imgui_demo.cpp
|
|||||||
|
|
||||||
-- DemoWindowPopups()
|
-- DemoWindowPopups()
|
||||||
[x] 59% DemoWindowPopups imgui_demo.lua:5621
|
[x] 59% DemoWindowPopups imgui_demo.lua:5621
|
||||||
[ ] MyItem::SortWithSortSpecs
|
[x] 36% MyItem::SortWithSortSpecs imgui_demo.lua:5939
|
||||||
[ ] MyItem::CompareWithSortSpecs
|
[x] 68% MyItem::CompareWithSortSpecs imgui_demo.lua:5956
|
||||||
[x] 96% PushStyleCompact imgui_demo.lua:5983
|
[x] 96% PushStyleCompact imgui_demo.lua:5983
|
||||||
[x] 100% PopStyleCompact imgui_demo.lua:5989
|
[x] 100% PopStyleCompact imgui_demo.lua:5989
|
||||||
[x] 69% EditTableSizingFlags imgui_demo.lua:5996
|
[x] 69% EditTableSizingFlags imgui_demo.lua:5996
|
||||||
|
|||||||
@@ -268,6 +268,10 @@ def parse_lua():
|
|||||||
j += 1
|
j += 1
|
||||||
name = chain[-1]
|
name = chain[-1]
|
||||||
cls = LUA_CLASS_ALIAS.get(chain[-2], chain[-2]) if len(chain) > 1 else None
|
cls = LUA_CLASS_ALIAS.get(chain[-2], chain[-2]) if len(chain) > 1 else None
|
||||||
|
if cls and cls.endswith("MT") and len(cls) > 2: cls = cls[:-2] # method tables: function ExampleAppLogMT:AddLog()
|
||||||
|
if cls is None and re.match(r"[A-Z]\w*_[A-Z]\w*$", name) and "__" not in name: # Class_Method globals (C++ static members)
|
||||||
|
c, _, m = name.partition("_")
|
||||||
|
defs.append(PortFunc(f, c, m, line, toks[body_start:j - 1]))
|
||||||
pf = PortFunc(f, cls, name, line, toks[body_start:j - 1])
|
pf = PortFunc(f, cls, name, line, toks[body_start:j - 1])
|
||||||
bt = [x[1] for x in pf.body]
|
bt = [x[1] for x in pf.body]
|
||||||
if len(bt) >= 5 and bt[0] == "return" and bt[-3:] == ["(", "...", ")"] and all(x[0] == "name" or x[1] in (".", ":") for x in pf.body[1:-3]):
|
if len(bt) >= 5 and bt[0] == "return" and bt[-3:] == ["(", "...", ")"] and all(x[0] == "name" or x[1] in (".", ":") for x in pf.body[1:-3]):
|
||||||
|
|||||||
Reference in New Issue
Block a user