ghassanpl / reflector Goto Github PK
View Code? Open in Web Editor NEWA small tool to create reflection information for C++ projects, ala Unreal's UHT
License: Other
A small tool to create reflection information for C++ projects, ala Unreal's UHT
License: Other
This is a general issue that describes ideas for new annotation types
using X = ...;
declarations, so that generated documentation is better (probably other things too)Order = Declaration/Alphabetic
or Order = {Documentation = Alphabetic, Editor = Declaration }
, Collapsed = true
; stuff like Document
applies to all members, etc.Specifically, two issues:
.md
This would mean that New() would always return the same value, only one instance can be constructed, and SingletonGet() always returns a valid pointer.
This should also make sure we're writing all the reflection data to that file.
This will reduce the size of Reflectable
from 24 to 16 bytes, which is not a lot but adds up across the codebase for something that is a base class for stuff.
Specifically:
I would love to have some good examples of what Reflector is and what it allows users to do
The class right now probably doesn't work, and if it does, it probably doesn't belong in that header
Like:
plus generation of code that loads and stores these formats
It would be great to have user-definable attributes, perhaps even with behaviors attached to them.
Something like C# attributes.
If true, will generate static constexpr methods, in the bodies of classes, for each reflected member
Maybe instead we should have an option like GeneratedReflectionData=Minimal | Normal | Full
That part of the codebase needs proper heuristics to figure out if we're actually deriving from Reflectable.
Also check other places where we potentially change field values (like FieldReflectionData
setters)
But make it good, and not only for Lua
Currently, reflector does not respect #if/#endif blocks and will treat annotations inside them as valid. This should be fixed with a high priority, but needs to be able to handle macros and such, and that's a massive pain.
How does doxygen do it?
Headers like ReflectorClasses.h
need proper documentation of the types inside.
This project needs proper testing:
It's a mess right now
Right now we have icons for types and some docnotes. We could definitely have more for docnotes and such.
It would be cool if we could specify propagation (NoPropagate, OnlyDirectlyDeriving, AllDerived
) in the attribute definition, and handle it automatically in the database building
Right now a lot of the .h and .cpp files in the project have a lot of shared stuff in it, we need to break them up into smaller files with fewer responsibilities.
The database needs to check if, when CleanName attributes are specified, that all those names are unique within parent type.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.