Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Unstable

Changes

Summary

  1. Bug 1025 - GlueGen: Add accessor for compound fields of type array, (details)
  2. Bug 1025 - GlueGen: Fix test case (gcc compiler regression due to (details)
  3. Bug 1025 - GlueGen: Fix regression of single non-native sized compound (details)
Commit 9ee44e1a289ecbac024662dd5a2ffc42e8add023 by Sven Gothel
Bug 1025 - GlueGen: Add accessor for compound fields of type array, pointer and string (code generation)

Enhance compound access as delivered by Bug 1022,
to also generate accessors (getter and setter) for
array, pointer and string types.

Allow configuration of array length either via
their internal size (c-header) or config 'ReturnedArrayLength'.

'ReturnedArrayLength' allows specifying a java expression.

Canonical field names of compounds are _now_ specified as
follows for configuration entries:
  COMPOUND.FIELD
e.g.
  StructA.fieldB

Also allow configuration of pointer fields to be treated as
referenced arrays via 'ReturnedArrayLength'.

Further, allow specifying 'pointer fields' as String values
via 'ReturnsString' configuration.

++++

Implementation details:
  - handle above described accessor features
  - enhance JavaDoc for generated accessors
  - generate native JNI compound and string accessor on demand
  - encapsule accessor code generation in their own methods
  - enhance exception messages
  - enhance type verbosity in debug mode
  - verbose debug output via GlueGen.debug()

Tests:
  - Features covered by test1.[ch]
    and Test1p1JavaEmitter and Test1p2ProcAddressEmitter

  - Validated compilation and unit tests for modules:
    - joal
    - jogl (minor config changes req.)
    - jocl (minor config changes req.)
The file was modified make/scripts/runtest-x64.bat (diff)
The file was modified make/build-test.xml (diff)
The file was modified src/java/com/jogamp/gluegen/JavaType.java (diff)
The file was modified make/scripts/java-win32.bat (diff)
The file was modified src/java/com/jogamp/gluegen/cgram/types/FunctionType.java (diff)
The file was modified src/java/com/jogamp/gluegen/cgram/types/PointerType.java (diff)
The file was modified src/java/com/jogamp/gluegen/JavaConfiguration.java (diff)
The file was modified src/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
The file was modified src/junit/com/jogamp/gluegen/test/junit/generation/test1-common.cfg (diff)
The file was modified src/java/com/jogamp/gluegen/JavaEmitter.java (diff)
The file was modified src/java/com/jogamp/gluegen/MethodBinding.java (diff)
The file was modified src/java/com/jogamp/gluegen/cgram/types/StructLayout.java (diff)
The file was modified src/junit/com/jogamp/gluegen/test/junit/generation/Test1p1JavaEmitter.java (diff)
The file was modified src/java/com/jogamp/common/nio/StructAccessor.java (diff)
The file was modified src/java/com/jogamp/gluegen/CMethodBindingEmitter.java (diff)
The file was modified src/java/com/jogamp/gluegen/cgram/types/ArrayType.java (diff)
The file was modified src/junit/com/jogamp/gluegen/test/junit/generation/Test1p2ProcAddressEmitter.java (diff)
The file was modified src/junit/com/jogamp/gluegen/test/junit/generation/test1.h (diff)
The file was modified src/java/com/jogamp/gluegen/JavaMethodBindingEmitter.java (diff)
The file was modified src/junit/com/jogamp/gluegen/test/junit/generation/test1.c (diff)
The file was modified make/scripts/java-win64.bat (diff)
The file was modified src/junit/com/jogamp/gluegen/test/junit/generation/BaseClass.java (diff)
The file was modified make/scripts/runtest-x32.bat (diff)
Commit 679d484d4d8c3528aacc5b98dca644086948fcc5 by Sven Gothel
Bug 1025 - GlueGen: Fix test case (gcc compiler regression due to redefined types / removed them)
The file was modified src/junit/com/jogamp/gluegen/test/junit/generation/test1.h (diff)
The file was modified src/junit/com/jogamp/gluegen/test/junit/generation/test1-common.cfg (diff)
Commit 8f571b2c0008df1b6554fa8fa754440c0f024052 by Sven Gothel
Bug 1025 - GlueGen: Fix regression of single non-native sized compound fields

Single non-native sized compound fields, if an opaque array/pointer,
must utilized the native size StructAccessor get/set method.
The file was modified src/java/com/jogamp/gluegen/JavaEmitter.java (diff)