| Summary: | GlueGen: Add accessor for compound fields of type array, pointer and string (code generation) | ||
|---|---|---|---|
| Product: | [JogAmp] Gluegen | Reporter: | Sven Gothel <sgothel> | 
| Component: | core | Assignee: | Sven Gothel <sgothel> | 
| Status: | RESOLVED FIXED | ||
| Severity: | enhancement | CC: | harvey.harrison, rami.santina | 
| Priority: | --- | ||
| Version: | 2 | ||
| Hardware: | All | ||
| OS: | all | ||
| Type: | --- | SCM Refs: | gluegen 9ee44e1a289ecbac024662dd5a2ffc42e8add023
gluegen 679d484d4d8c3528aacc5b98dca644086948fcc5
gluegen 8f571b2c0008df1b6554fa8fa754440c0f024052
jocl 49d7ae5356c279d519fc6744129c92a166e4f504
jogl a515faf5e7d679b7ad87a05fa8fc81ab148bcd41 | 
| Workaround: | --- | ||
| Bug Depends on: | 1022 | ||
| Bug Blocks: | 1021 | ||
| 
        
          Description
        
        
          Sven Gothel
        
        
        
        
          2014-06-25 09:52:17 CEST
        
       gluegen commit 9ee44e1a289ecbac024662dd5a2ffc42e8add023: 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.) commit a515faf5e7d679b7ad87a05fa8fc81ab148bcd41 - jocl (minor config changes req.) commit 49d7ae5356c279d519fc6744129c92a166e4f504 679d484d4d8c3528aacc5b98dca644086948fcc5 GlueGen: Fix test case (gcc compiler regression due to redefined types / removed them) Issues w/ opaque 'long' field access of structs
where native size != java size (e.g. 32bit):
  /** Getter for native field: CType['TK_Context' (typedef), size [fixed false, lnx64 8], [pointer*1]], with array length of <code>1</code> */
  public long getCtx() {
    return accessor.getLongAt(ctx_offset[mdIdx]);
  }
.. reopened. |