Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fix makes passing a pointer to std::string, integer or float typed argument to a metaclass function possible. This is necessary in order to be able to use a function argument to return the result from a function. I think PONDER effectively casts a pointer argument to any type to a pointer to UserObject. Because of this, the basic type needs to be registered as a PONDER_TYPE and be declared as a metaclass. For example, if you have a pointer argument to int in a metaclass function, you have to add
PONDER_TYPE(int) and ponder::Class::declare<int>("int")
in your code. The fix in this pull request is to make sure that after the registration and declaration, the ponder::Value for an 'int' type variable can preserve its ponder value kind as a number kind instead of a User kind. The same goes to a string or a float.