Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | GlueGen: Rename GlueEmitter.getConfig{uration->}() and drop ↵ | Sven Gothel | 2023-06-25 | 5 | -14/+7 |
| | | | | JavaEmitter.getConfig(), cleaning up API usage | ||||
* | GlueGen: Expose CMethodBindingEmitter.getJNIMangledArgs() as a public static ↵ | Sven Gothel | 2023-06-25 | 1 | -14/+24 |
| | | | | to be reusable | ||||
* | GlueGen Struct [16]: Add support for pointer-pointer and function-pointer values | Sven Gothel | 2023-06-23 | 9 | -203/+592 |
| | | | | See documentation and unit test test2.h, Test2FuncPtr.java and Test3PtrStorage.java | ||||
* | GlueGen: JavaConfiguration.promoteTypeInfo(): Fix primitive pointerDepth, ↵ | Sven Gothel | 2023-06-23 | 1 | -1/+1 |
| | | | | i.e. only pass numPointersStripped w/o adding info.pointerDepth() | ||||
* | GlueGen: JavaConfiguration.typeInfo(..): Clarify DEBUG_TYPE_INFO output | Sven Gothel | 2023-06-23 | 1 | -12/+14 |
| | |||||
* | GlueGen: Type: Have get{Base,Target}Type() stop at isFunctionPointer(), ↵ | Sven Gothel | 2023-06-23 | 7 | -38/+76 |
| | | | | | | | | | | enhance API doc; Add getArrayBaseOrPointerTargetType() and getTargetFunction() Added getArrayBaseOrPointerTargetType() returns getBaseType() for arrays or getTargetType() for pointer, i.e. stops traversing if an elementType is a pointer and returns the elementType as target-type. This resolves 'int* intPtrArray[10]', but also simplifies all cases of 'int** intPtrPtr' and 'int intPtr[10]' etc. Since get{Base,Target}Type() returns the functionPointer, getTargetFunction() allows to retrieve the actual target function type. | ||||
* | GlueGen: Type, JavaType: Align getSignature(..) output | Sven Gothel | 2023-06-23 | 2 | -41/+48 |
| | |||||
* | NIO NativeBuffer, {Element,Pointer}Buffer: Add limit, clear and flip; ↵ | Sven Gothel | 2023-06-23 | 4 | -94/+385 |
| | | | | | | | | Arrange wrap/deref arguments equal; Add equal set of absolute get/set methods Completing API to simplify usage by generated code. All absolute get/set method check arguments itself and against limit(), allow to drop checks in generated code (size). | ||||
* | GlueGen Test: Test2 -> Test2FuncPtr | Sven Gothel | 2023-06-23 | 2 | -4/+4 |
| | |||||
* | JavaEmitter.typeToJavaTypeImpl(): Add targetType in GlueGenException and ↵ | Sven Gothel | 2023-06-21 | 1 | -13/+15 |
| | | | | remove '"' in message | ||||
* | GlueGen junit test2.h: Add an anonymous struct pointer w/ opaque long config | Sven Gothel | 2023-06-20 | 2 | -5/+4 |
| | |||||
* | GlueGen Struct [15b]: FunctionPointer: Drop is<FuncName>Null() -> use ↵ | Sven Gothel | 2023-06-20 | 6 | -116/+47 |
| | | | | get<FuncName>() | ||||
* | GlueGen Struct [15]: Add FunctionPointer getter and setter support w/ ↵ | Sven Gothel | 2023-06-20 | 10 | -167/+631 |
| | | | | documentation | ||||
* | doc/GlueGen_Mapping.md: Place `Struct Setter Pseudo-Code` above 'Signature ↵ | Sven Gothel | 2023-06-20 | 1 | -29/+50 |
| | | | | Table' and add a brief signature to mapping description to the former | ||||
* | GlueGen Type: Use virt getTargetType() for ArrayType dropping ↵ | Sven Gothel | 2023-06-19 | 7 | -26/+30 |
| | | | | getElementType(); Rename getBase{Elem ->}Type() to align with getTargetType() | ||||
* | Doc: Manual: Adding disclaimer being slightly outdated and hint to ↵ | Sven Gothel | 2023-06-18 | 1 | -0/+5 |
| | | | | GlueGen_Mapping document | ||||
* | www/index.html: Copy Documentation section into main text for visibility | Sven Gothel | 2023-06-18 | 1 | -0/+11 |
| | |||||
* | GlueGen Struct [14]: Update doc/GlueGen_Mapping.md | Sven Gothel | 2023-06-18 | 2 | -24/+151 |
| | | | | Completing a few cases and fix some signatures in table | ||||
* | CPP Enable Pragma Once: Remove cli '--enablePragmaOnce' option as it is ↵ | Sven Gothel | 2023-06-18 | 1 | -4/+1 |
| | | | | enabled by default | ||||
* | Merge remote-tracking branch ↵ | Sven Gothel | 2023-06-18 | 2 | -6/+9 |
|\ | | | | | | | 'Mathieu_Fery/feature/add_preserveGeneratedCPP_option' | ||||
| * | feat(cli): Add --preserveGeneratedCPP option inside GlueGen | Mathieu Féry | 2023-06-16 | 2 | -4/+8 |
| | | |||||
* | | Merge remote-tracking branch ↵ | Sven Gothel | 2023-06-18 | 1 | -1/+9 |
|\ \ | | | | | | | | | | 'Mathieu_Fery/feature/improve_logs_inside_translation_unit' | ||||
| * | | feat(translationUnit): Improve logs in case of failure inside translationUnit | Mathieu Féry | 2023-06-16 | 1 | -1/+9 |
| |/ | |||||
* | | Merge remote-tracking branch 'Mathieu_Fery/feature/improve_compound_type_errors' | Sven Gothel | 2023-06-18 | 1 | -2/+6 |
|\ \ | |||||
| * | | feat(CompoundType): Improve error log on CompoundType.addField and ↵ | Mathieu Féry | 2023-06-16 | 1 | -2/+6 |
| |/ | | | | | | | CompoundType.setBodyParsed when body is already parsed | ||||
* | | fix(cli): Fix disablePragmaOnce option | Féry Mathieu (Mathius) | 2023-06-18 | 1 | -1/+1 |
| | | | | | | | | Option set enablePragmaOnce to true instead false | ||||
* | | CustomJNICode: Add missing (separated) test1p1-CustomJNICode.c.stub | Sven Gothel | 2023-06-18 | 1 | -0/+5 |
| | | |||||
* | | CustomJNICode: Fix/complete commit d7bc10d7ff0e3a30d74c4e4c439230f3983bcfb4: ↵ | Sven Gothel | 2023-06-18 | 5 | -17/+13 |
| | | | | | | | | Add emitCustomJNICode(..) for JavaEmitter.endFunctions() not just structs and fix the JNI-c stub code | ||||
* | | Merge remote-tracking branch 'Mathieu_Fery/feature/add_customJNICode_directive' | Sven Gothel | 2023-06-18 | 10 | -1/+108 |
|\ \ | |||||
| * | | feat(jni): Add directive for dedicated JNI Code with CustomJNICode | Mathieu Féry | 2023-06-16 | 10 | -1/+108 |
| |/ | |||||
* | | Merge remote-tracking branch 'Mathieu_Fery/feature/support_of_bitwise_not' | Sven Gothel | 2023-06-18 | 3 | -2/+19 |
|\ \ | |||||
| * | | feat(constants): Add supports of ~ inside ConstantDefinition | Mathieu Féry | 2023-06-16 | 3 | -2/+19 |
| |/ | |||||
* | | CPP Enable Pragma Once: Default is 'true', since usually all compiler and ↵ | Sven Gothel | 2023-06-18 | 2 | -3/+6 |
| | | | | | | | | APIs do support this feature | ||||
* | | CPP Enable Pragma Once: Add GlueGen.run(..) debug output w/ all paramter | Sven Gothel | 2023-06-18 | 2 | -3/+8 |
| | | |||||
* | | CPP Enable Pragma Once: Use default jcpp branch as its merged now | Sven Gothel | 2023-06-18 | 1 | -1/+0 |
| | | |||||
* | | Merge remote-tracking branch 'remotes/Mathieu_Fery/feature/enable_pragma_once' | Sven Gothel | 2023-06-18 | 8 | -15/+80 |
|\ \ | |||||
| * | | feat(feature): Enable pragma once management | Mathieu Féry | 2023-06-16 | 8 | -15/+80 |
| |/ | |||||
* | | Bring back produced html5 standalone files, having fixed pandoc usage. | Sven Gothel | 2023-06-18 | 3 | -2/+2159 |
| | | | | | | | | | | | | | | See my pandoc-buttondown git repo <https://jausoft.com/cgit/users/sgothel/pandoc-buttondown-cgit.git/about/> Latest config <https://jausoft.com/cgit/users/sgothel/pandoc-buttondown-cgit.git/commit/?id=fb38ada0c8d71a2b26bd3ee9d075acce84d76b2c> fixed creation of standalone html5 files. | ||||
* | | GlueGen Struct [13]: Adopt GlueGen_Mapping.md to changes, added `Struct Java ↵ | Sven Gothel | 2023-06-18 | 1 | -66/+113 |
| | | | | | | | | Signature Examples` w/ Java API Doc snippets | ||||
* | | GlueGen Struct [9b]: Add unit test for fixed 'void*' regression commit ↵ | Sven Gothel | 2023-06-18 | 2 | -3/+9 |
| | | | | | | | | | | | | | | | | | | eec3f21c3597ff9bf9760a06e00dd341214ea90d See impact to T2_InitializeOptions struct fields: - 'void* Reserved1' shall be ignored (*this is the regression fix*) - 'void* Reserved2' will be taked due to config 'Opaque long T2_InitializeOptions.Reserved2' - 'T2_CustomFunc CustomFunc2' will produce a member function call as previously | ||||
* | | GlueGen Struct [12]: Throw InternalError(..) for produced code-path where ↵ | Sven Gothel | 2023-06-18 | 1 | -0/+15 |
| | | | | | | | | Ownership.Native _and_ native memory potentially gets replaced | ||||
* | | GlueGen Struct [11]: Formalize Ownership (enum) and elaborate generated Java ↵ | Sven Gothel | 2023-06-18 | 1 | -120/+208 |
| | | | | | | | | API-Doc | ||||
* | | GlueGen Struct [10]: Don't skip primitive w/ platform dependent sized type ↵ | Sven Gothel | 2023-06-18 | 1 | -14/+7 |
| | | | | | | | | | | | | | | | | | | | | in struct (like 'int') .. We already support platform dependent sizes like pointer etc, no reason to drop e.g. 'int'. Note: 'int' is also always 32bit of size within our current set of supported platforms, e.g. MachineDataInfo. Further fix and clarify primCElemFixedSize and primElemSizeExpr, only to be true and set if isPrimitive. | ||||
* | | GlueGen Struct [9]: Fix regression which added a pointer referencing type ↵ | Sven Gothel | 2023-06-18 | 1 | -0/+8 |
| | | | | | | | | 'void', i.e. exclude if !baseCElemType.hasSize() // like 'void*' -> 'void' | ||||
* | | Type: Add hasSize(), change getSignature(..) for const: isConstTypedef() -> ↵ | Sven Gothel | 2023-06-18 | 1 | -2/+5 |
| | | | | | | | | "typedef", isConstRaw() -> "native" | ||||
* | | JavaType: Add getSignature(..) like Type | Sven Gothel | 2023-06-18 | 1 | -5/+14 |
| | | |||||
* | | Drop .md -> .html generated docs (ugly), use our cgit md -> html via refined ↵ | Sven Gothel | 2023-06-17 | 3 | -1240/+2 |
| | | | | | | | | | | | | pandoc styles Would need to fix my standalone pandoc setup to produce proper standalone docs. | ||||
* | | doc/GlueGen_Mapping.md: Remove note regarding shrinking array, resolved | Sven Gothel | 2023-06-17 | 2 | -9/+0 |
| | | |||||
* | | doc/JogAmpMacOSVersions.html: Replaced w/ standalone html5 w/ header (utf8) | Sven Gothel | 2023-06-17 | 1 | -405/+21 |
| | | |||||
* | | GlueGen Struct [8]: Revised setter (resolved shrinking array, using 'subset' ↵ | Sven Gothel | 2023-06-17 | 5 | -527/+672 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | flag), added (detailed) JavaDoc in generated code Revised setter: A) int32_t val[10] -> setter for a subset change only, as-is with args[src, srcPos, destPos, length] - no new memory, reuse only - no special action to be performed B) int32_t* val -> setter with toggle 'subset' with args[subset, src, srcPos, destPos, length], - replace memory w/ 'subset==false' where it also may copy 'destPos' gap from old -> new - reuse memory w/ 'subset==true', where destPos+length <= elementCount C) const int32_t* val -> setter to replace referenced memory only args[src, srcPos, length] - always replaces memory, no copy of a gap (no destPos) Hence: - case (A) stays as is - case (B) will be revised and argument 'boolean subset' added - case (C) will be revised (simplified) and argument 'destPos' removed |