Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[cpp] Generate Typed Functions #11151

Open
wants to merge 44 commits into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
6f25b8b
Initial addition of typed functions to hxcpp
Aidan63 Jul 20, 2022
78c1ee2
Merge branch 'development' into cpp_typed_funcs
Aidan63 Apr 13, 2023
9c3cbdf
Generate dynamic versions of functions using specialisations of the c…
Aidan63 Apr 13, 2023
5db7d53
Add callable type to CppCast
Aidan63 Apr 13, 2023
06cbd84
Don't place void in between brackets for callables with no arguments,
Aidan63 Apr 13, 2023
e085782
Switch to Callable_obj for consistency with Array and Array_obj
Aidan63 Apr 13, 2023
3b51768
Implement the dynamic run functions
Aidan63 Apr 14, 2023
f751fa1
Correctly print out ::hx::Null for default value class functions args
Aidan63 Apr 15, 2023
f2229e3
Further attempts at working around hx::Null optimisation case
Aidan63 Apr 15, 2023
03e3ae9
Generate mark and visit functions for class function callables
Aidan63 Apr 15, 2023
d3e5690
Merge branch 'development' into cpp_typed_funcs
Aidan63 Apr 15, 2023
ce988ea
attempt to cleanup optional / null arguments
Aidan63 Apr 19, 2023
d2f0180
Generate dynamic functions using callables
Aidan63 Apr 22, 2023
bce1546
Correctly generate default function bodies
Aidan63 Apr 22, 2023
c07a870
lets not try and get fancy with dynamic function code path
Aidan63 Apr 23, 2023
1263f51
round and round we go...
Aidan63 Apr 25, 2023
6cad8e2
Generate DoMarkThis / DoVisitThis functions for closures
Aidan63 Apr 25, 2023
bd6ed31
generate compare overloads
Aidan63 Apr 25, 2023
9443086
Bump API level to 500
Aidan63 Apr 27, 2023
cd2d0eb
Remove unused close_this from closure structure
Aidan63 Apr 27, 2023
a47b9e0
Use pre-existing macros for generating dynamic run functions
Aidan63 Apr 27, 2023
11e2d07
Mangle default function objects in the same way as _dyn function objects
Aidan63 Apr 27, 2023
c9c7c59
Add struct and pointer wrapping back for dynamic run functions
Aidan63 Apr 28, 2023
2225377
it works! commit it before I cock it up
Aidan63 May 8, 2023
8fd73b1
this actually works, I think...
Aidan63 May 14, 2023
8a69c01
Remove the now un-needed manual __Run implementation
Aidan63 May 14, 2023
16d0d28
Use the HX_LOCAL_RUN macro instead of _hx_run
Aidan63 May 14, 2023
44ac0e6
Revert now un-needed forgotten about change which broke some tests
Aidan63 May 14, 2023
886e07f
Update closure __Compare to dynamic cast to a type of itself
Aidan63 May 15, 2023
2a0c1b2
Update function closures to compare class pointers if they capture
Aidan63 May 15, 2023
7af8eac
Do not use Dynamic for variable _dyn callables
Aidan63 May 16, 2023
e4c463c
Don't generate __run functions
Aidan63 May 16, 2023
00b8d90
Merge branch 'development' into cpp_typed_funcs
Aidan63 May 28, 2023
eff2bf6
Remove dead code
Aidan63 Jun 1, 2023
750d4cd
Static cast for callables
Aidan63 Jun 1, 2023
11ea494
Special case for templated array map
Aidan63 Jul 14, 2023
8cf3a20
Fix wrong return type for array map calls which create a dynamic array
Aidan63 Jul 15, 2023
4b82bd0
Have closures be generated inheriting from the new Closure_obj class
Aidan63 Jul 19, 2023
9c5551a
try letting auto cast rules deal with TCppCallable
Aidan63 Jul 22, 2023
849d051
Deal with an odd edge case surrounding casting and ::cpp::Function
Aidan63 Jul 22, 2023
6242bc5
Merge branch 'development' into cpp_typed_funcs
Aidan63 Jan 7, 2024
f35ce97
Don't eagerly stringify the callable and have variants track their ex…
Aidan63 Jan 10, 2024
20e0ff0
back to callables
Aidan63 Aug 30, 2024
861ea26
Merge branch 'development' into cpp_typed_funcs
Aidan63 Aug 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/compiler/compiler.ml
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ module Setup = struct
add_std "php";
"php"
| Cpp ->
Common.define_value com Define.HxcppApiLevel "430";
Common.define_value com Define.HxcppApiLevel "500";
add_std "cpp";
if Common.defined com Define.Cppia then
actx.classes <- (Path.parse_path "cpp.cppia.HostClasses" ) :: actx.classes;
Expand Down
Loading
Loading