Dustin Spicuzza
aee776072e
Grab string/character lexer constants from pycparser
2022-12-15 01:49:49 -05:00
Dustin Spicuzza
03c24a2074
Better lexer error handling
2022-12-15 01:49:49 -05:00
Dustin Spicuzza
b47eb7ce10
Use lex.TOKEN decorator for lexer tokens instead of docstrings
...
- Allows usage with -OO
2022-12-10 14:08:59 -05:00
Dustin Spicuzza
19c0604603
Merge pull request #41 from robotpy/moar-coverage
...
Moar coverage
2022-12-09 10:59:28 -05:00
Dustin Spicuzza
ace1d09d9d
Add throw/noexcept tests
2022-12-09 03:28:50 -05:00
Dustin Spicuzza
8a0568c0f5
Change balanced token handling to allow mismatched gt/lt tokens
...
- These can be used for math, so we just assume the code is doing that
2022-12-09 03:26:16 -05:00
Dustin Spicuzza
b08d8783d4
Remove unused pieces from coverage reporting
2022-12-09 01:29:59 -05:00
Dustin Spicuzza
ff645920b8
Capture doxygen comments for namespaces
2022-12-09 01:16:54 -05:00
Dustin Spicuzza
dc76328bd5
Add support for inline namespaces
2022-12-09 01:16:12 -05:00
Dustin Spicuzza
305312b095
Add ability to generate failure testcases
2022-12-09 01:10:39 -05:00
Dustin Spicuzza
a5277d951a
Merge pull request #40 from robotpy/method-fixes
...
Method fixes
2022-12-08 09:58:55 -05:00
Dustin Spicuzza
919e35e45f
Correctly parse constructor implementations outside of a class
...
- Fixes #32
2022-12-08 02:00:05 -05:00
Dustin Spicuzza
15e4e0b879
Add support for parsing method implementations outside of a class
...
- Fixes #10
2022-12-08 01:26:16 -05:00
Dustin Spicuzza
2c238058d3
Merge pull request #39 from robotpy/more-cppheaderparser-tests
...
More cppheaderparser tests
2022-12-07 23:03:58 -05:00
Dustin Spicuzza
ddad7cb6b1
Add support for parsing explicit template instantiation
2022-12-07 08:36:31 -05:00
Dustin Spicuzza
f1c1f2e6af
Add misc tests added to CppHeaderParser
2022-12-06 07:52:51 -05:00
Dustin Spicuzza
2192a92003
Adjust testcase generator to remove unneeded whitespace
2022-12-06 07:46:16 -05:00
Dustin Spicuzza
ba4222560f
Checkout full history to allow git describe to work
2022-05-02 12:51:11 -04:00
Dustin Spicuzza
a68f05a840
Add live demo link
...
- Fixes #4
2022-04-30 02:16:01 -04:00
Dustin Spicuzza
1b308ff0ab
Ignore .nojekyll file on deploy
2022-04-30 02:12:54 -04:00
Dustin Spicuzza
b525f18f6b
Copy latest commit to interactive demo
2022-04-30 02:06:38 -04:00
Dustin Spicuzza
944c9daf10
Merge pull request #35 from robotpy/mypy-madness
...
Check codebase using mypy
2022-01-02 21:55:40 -05:00
Dustin Spicuzza
977fe133d0
Check codebase using mypy in github actions
2022-01-02 21:53:22 -05:00
Dustin Spicuzza
f29c1d5a30
mypy: address issues parsing const/volatile/*/& items
2022-01-02 21:52:36 -05:00
Dustin Spicuzza
83aa34d06e
mypy: functions should be a list of functions
2022-01-02 21:51:49 -05:00
Dustin Spicuzza
ce4124d5dd
mypy: add temporary variables to ease type checking
2022-01-02 21:51:19 -05:00
Dustin Spicuzza
b05b1b16c1
mypy: add assertions/logic to ensure that ClassScope/NamespaceScope are correct
2022-01-02 21:48:49 -05:00
Dustin Spicuzza
2eb13496fa
mypy: function return types marked as optional
...
Only methods can have optional return types, but it has to be applied to function
as well as method, otherwise mypy complains.
I considered making a special return type for constructors/destructors, but it
seemed to just make things too messy. Time will tell if this was the right
decision.
2022-01-02 21:45:06 -05:00
Dustin Spicuzza
36d23c37bd
mypy: add trivial annotations to functions that don't change logic
2022-01-02 21:41:34 -05:00
Dustin Spicuzza
9756025e2d
mypy: add None return types to functions that don't return a value
2022-01-02 21:30:41 -05:00
Dustin Spicuzza
cd6d4f23f3
parse errors should use standard filename:lineno prefix when possible
2021-12-17 00:22:21 -05:00
Dustin Spicuzza
8f7455f3d3
Enable test with duplicate name
2021-12-16 23:03:18 -05:00
Dustin Spicuzza
5d564687c3
Add support for conversion operators
...
- Fixes #9
2021-11-29 22:56:43 -05:00
Dustin Spicuzza
92f8e72779
Support parsing MSVC calling conventions
...
- Fixes #5
- Fixes #33
2021-11-27 21:40:10 -05:00
Dustin Spicuzza
a67c9c4afe
Add test for #21
...
- Fixes #21
2021-11-26 10:19:48 -05:00
Dustin Spicuzza
bcc57c72c0
Merge pull request #30 from robotpy/fix-12
...
Support __declspec (and other attributes) when parsing a name
2021-11-26 10:09:11 -05:00
Dustin Spicuzza
8d506e5700
Support __declspec (and other attributes) when parsing a name
...
- Sometimes this will lead to accepting invalid code, but "dont do that"
- Fixes #12
2021-11-26 10:03:26 -05:00
Dustin Spicuzza
88dab86a9e
Merge pull request #29 from robotpy/allow-fn-typedef
...
Allow typedefs of function definitions
2021-11-26 01:15:01 -05:00
Dustin Spicuzza
3c5174b52f
Allow typedefs of function definitions
...
- Fixes #13
2021-11-26 01:11:50 -05:00
Dustin Spicuzza
e750418d08
Merge pull request #28 from robotpy/fix-final-as-name
...
Allow using 'final' as a name in some contexts
2021-11-26 00:50:37 -05:00
Dustin Spicuzza
b611b9189a
Allow using 'final' as a name in some contexts
...
- Strictly speaking, this fix will allow 'final' in some contexts where it isn't actually
allowed. However, cxxheaderparser "will not reject all invalid C++ headers!" so this is ok
- Fixes #14
2021-11-26 00:28:54 -05:00
Dustin Spicuzza
7f6ae6bcbf
Merge pull request #27 from robotpy/fix-fnptr-w-refs
...
Handle function pointer parameters where the return value is a reference
2021-11-26 00:27:41 -05:00
Dustin Spicuzza
c7d480e8c3
Handle function pointer parameters where the return value is a reference
...
- Fixes #17
2021-11-26 00:11:36 -05:00
Dustin Spicuzza
b1808f77ad
Merge pull request #25 from robotpy/fixes
...
Add tests for bugs that were already fixed
2021-11-25 23:41:04 -05:00
Dustin Spicuzza
7094a0c677
Add python 3.10 to github actions
2021-11-25 23:38:52 -05:00
Dustin Spicuzza
5f57509568
Format with latest black
2021-11-25 22:51:08 -05:00
Spicuzza
420f293ead
Add test for inline + volatile function
...
- Fixes #18
2021-11-21 12:59:54 -05:00
Spicuzza
8591e3114f
Add test for mutable
...
- Fixes #19
2021-11-21 12:56:26 -05:00
Dustin Spicuzza
4521e0d594
Merge pull request #24 from michelp/main
...
allow single hyphen to represent stdin for filename.
2021-11-07 23:17:09 -05:00
Michel Pelletier
83bb290379
allow single hyphen to represent stdin for filename.
2021-11-06 08:30:55 -07:00