From 4267837c591c9c205ff5206afaf38bba8c4215ac Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 9 Jun 2023 20:31:17 +0200 Subject: Adopt to GlueGen commit 952e0c1f83c9e0583a97d39988a6ba1428911c8c To limit growing code due to GlueGen's more capable new `Struct` emitter (more supported setter), `Struct` with intended read-only access have been marked `ImmutableAccess` in their GlueGen config file. Produced code with above setting compared with pre-GlueGen change is reduced while also having dropped all of the JNI calls retrieving `Struct` values. Only calls to function-pointer produced JNI methods, of course. --- .../gluegen/opengl/nativesig/NativeSignatureEmitter.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureEmitter.java') diff --git a/src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureEmitter.java b/src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureEmitter.java index c1c2aa12b..7ab6a78d5 100644 --- a/src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureEmitter.java +++ b/src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureEmitter.java @@ -1,6 +1,6 @@ /* + * Copyright (c) 2010-2023 JogAmp Community. All rights reserved. * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. - * Copyright (c) 2010 JogAmp Community. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -39,6 +39,7 @@ */ package com.jogamp.gluegen.opengl.nativesig; +import com.jogamp.gluegen.CodeUnit; import com.jogamp.gluegen.FunctionEmitter; import com.jogamp.gluegen.JavaMethodBindingEmitter; import com.jogamp.gluegen.JavaType; @@ -77,14 +78,14 @@ public class NativeSignatureEmitter extends GLEmitter { return res; } - final PrintWriter writer = (getConfig().allStatic() ? javaWriter() : javaImplWriter()); + final CodeUnit unit = (getConfig().allStatic() ? javaUnit() : javaImplUnit()); final List processed = new ArrayList(); // First, filter out all emitters going to the "other" (public) writer for (final Iterator iter = res.iterator(); iter.hasNext();) { final FunctionEmitter emitter = iter.next(); - if (emitter.getDefaultOutput() != writer) { + if (emitter.getUnit() != unit) { processed.add(emitter); iter.remove(); } @@ -116,7 +117,7 @@ public class NativeSignatureEmitter extends GLEmitter { return; } - final PrintWriter writer = (getConfig().allStatic() ? javaWriter() : javaImplWriter()); + final CodeUnit unit = (getConfig().allStatic() ? javaUnit() : javaImplUnit()); // Give ourselves the chance to interpose on the generation of all code to keep things simple final List newEmitters = new ArrayList(); @@ -137,7 +138,7 @@ public class NativeSignatureEmitter extends GLEmitter { // been called with signatureOnly both true and false. if (signatureContainsStrings(binding) && !haveEmitterWithBody(allEmitters)) { // This basically handles glGetString but also any similar methods - final NativeSignatureJavaMethodBindingEmitter javaEmitter = findEmitterWithWriter(allEmitters, writer); + final NativeSignatureJavaMethodBindingEmitter javaEmitter = findEmitterWithUnit(allEmitters, unit); // First, we need to clone this emitter to produce the native // entry point @@ -180,10 +181,10 @@ public class NativeSignatureEmitter extends GLEmitter { return false; } - protected NativeSignatureJavaMethodBindingEmitter findEmitterWithWriter(final List allEmitters, final PrintWriter writer) { + protected NativeSignatureJavaMethodBindingEmitter findEmitterWithUnit(final List allEmitters, final CodeUnit unit) { for (final JavaMethodBindingEmitter jemitter : allEmitters) { final NativeSignatureJavaMethodBindingEmitter emitter = (NativeSignatureJavaMethodBindingEmitter)jemitter; - if (emitter.getDefaultOutput() == writer) { + if (emitter.getUnit() == unit) { return emitter; } } -- cgit v1.2.3