public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Require ENV parameter.
@ 2008-05-13 18:10 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2008-05-13 18:10 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  fe521dbf9790be8d154c513489f4727e9c2188cd (commit)
      from  7ff017df51e2660d44997efec645e1e27e310054 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit fe521dbf9790be8d154c513489f4727e9c2188cd
Author: Andrew Cagney <cagney@redhat.com>
Date:   Tue May 13 14:06:54 2008 -0400

    Require ENV parameter.
    
    frysk-sys/frysk/jnixx/ChangeLog
    2008-05-13  Andrew Cagney  <cagney@redhat.com>
    
    	* PrintDeclarations.java: Do not generate non-ENV wrappers.
    	Delete Cast.  Add ENV parameter to constructor.
    	* PrintHxxDefinitions.java: Update.
    	* PrintCxxDefinitions.java: Update.
    	* JniBindings.java: Update.
    	* Printer.java: Update.
    	* chars.cxx (jnixx::array): Update.
    
    frysk-sys/frysk/sys/proc/ChangeLog
    2008-05-13  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/ProcBuilder.cxx (ProcBuilder::construct): Pass env to build().

-----------------------------------------------------------------------

Summary of changes:
 frysk-sys/frysk/jnixx/ChangeLog                |    8 +++
 frysk-sys/frysk/jnixx/JniBindings.java         |   18 +++----
 frysk-sys/frysk/jnixx/PrintCxxDefinitions.java |    3 +-
 frysk-sys/frysk/jnixx/PrintDeclarations.java   |   67 +++++-------------------
 frysk-sys/frysk/jnixx/PrintHxxDefinitions.java |   54 -------------------
 frysk-sys/frysk/jnixx/Printer.java             |    6 +--
 frysk-sys/frysk/jnixx/chars.cxx                |    2 +-
 frysk-sys/frysk/sys/proc/ChangeLog             |    2 +
 frysk-sys/frysk/sys/proc/jni/ProcBuilder.cxx   |    2 +-
 9 files changed, 36 insertions(+), 126 deletions(-)

First 500 lines of diff:
diff --git a/frysk-sys/frysk/jnixx/ChangeLog b/frysk-sys/frysk/jnixx/ChangeLog
index 2ad1949..61f470a 100644
--- a/frysk-sys/frysk/jnixx/ChangeLog
+++ b/frysk-sys/frysk/jnixx/ChangeLog
@@ -1,5 +1,13 @@
 2008-05-13  Andrew Cagney  <cagney@redhat.com>
 
+	* PrintDeclarations.java: Do not generate non-ENV wrappers.
+	Delete Cast.  Add ENV parameter to constructor.
+	* PrintHxxDefinitions.java: Update.
+	* PrintCxxDefinitions.java: Update.
+	* JniBindings.java: Update.
+	* Printer.java: Update.
+	* chars.cxx (jnixx::array): Update.
+
 	* logging.hxx: Move from frysk/rsl/jni/Log.hxx.
 	* logging.cxx: Ditto for Log.cxx.
 
diff --git a/frysk-sys/frysk/jnixx/JniBindings.java b/frysk-sys/frysk/jnixx/JniBindings.java
index 9605d86..7464cb7 100644
--- a/frysk-sys/frysk/jnixx/JniBindings.java
+++ b/frysk-sys/frysk/jnixx/JniBindings.java
@@ -229,7 +229,7 @@ class JniBindings {
 		 "const char*", "utf",
 	     },
 	     new Object[] {
-		 "return String(env.NewStringUTF(utf));",
+		 "return String(env, env.NewStringUTF(utf));",
 	     })
 	// GetStringUTFLength
 	.put(String.class, false,
@@ -299,7 +299,7 @@ class JniBindings {
 			 "jsize", "length",
 		     },
 		     new Object[] {
-			 "return " + type + "Array(env.New" + Type + "Array(length));",
+			 "return " + type + "Array(env, env.New" + Type + "Array(length));",
 		     })
 		.put(types[i], false,
 		     "const j" + type + "*", "GetElements",
@@ -364,24 +364,22 @@ class JniBindings {
 	while (p.dent(0, "namespace jnixx {", "}")) {
 	    while (p.dent(1, "template <typename component> class array : public ::java::lang::Object {", "};")) {
 		printCodes(p, 2, new Object[] {
-			"protected:",
-			"array(jobject _object) : ::java::lang::Object(_object)", new Object[] {
-			},
 			"public:",
-			"static array<component> Cast(jobject object)", new Object[] {
-			    "return array<component>(object);",
+			"array(::jnixx::env env, jobject _object) : ::java::lang::Object(env, _object)", new Object[] {
+			},
+			"array() : ::java::lang::Object()", new Object[] {
 			},
 			"jsize GetLength(::jnixx::env env)", new Object[] {
 			    "return env.GetArrayLength((jarray)_object);",
 			},
 			"static array<component> New(::jnixx::env env, jsize length)", new Object[] {
-			    "return env.NewObjectArray(length, component::_class_(env), NULL);",
+			    "return array<component>(env, env.NewObjectArray(length, component::_class_(env), NULL));",
 			},
 			"static array<component> New(::jnixx::env env, jsize length, component init)", new Object[] {
-			    "return env.NewObjectArray(length, component::_class_(env), init._object);",
+			    "return array<component>(env, env.NewObjectArray(length, component::_class_(env), init._object));",
 			},
 			"component GetElement(::jnixx::env env, jsize index)", new Object[] {
-			    "return component::Cast(env.GetObjectArrayElement((jobjectArray)_object, index));",
+			    "return component(env, env.GetObjectArrayElement((jobjectArray)_object, index));",
 			},
 			"void SetElement(::jnixx::env env, jsize index, component object)", new Object[] {
 			    "env.SetObjectArrayElement((jobjectArray)_object, index, object._object);",
diff --git a/frysk-sys/frysk/jnixx/PrintCxxDefinitions.java b/frysk-sys/frysk/jnixx/PrintCxxDefinitions.java
index caef0bc..05f0b6c 100644
--- a/frysk-sys/frysk/jnixx/PrintCxxDefinitions.java
+++ b/frysk-sys/frysk/jnixx/PrintCxxDefinitions.java
@@ -86,8 +86,7 @@ class PrintCxxDefinitions extends ClassWalker {
 			    p.printGlobalCxxName(method);
 			} else {
 			    p.printGlobalCxxName(method.getDeclaringClass());
-			    p.print("::Cast");
-			    p.print("(object).");
+			    p.print("(_env, object).");
 			    p.print(method.getName());
 			}
 			p.print("(");
diff --git a/frysk-sys/frysk/jnixx/PrintDeclarations.java b/frysk-sys/frysk/jnixx/PrintDeclarations.java
index b9f9ab8..5219fb5 100644
--- a/frysk-sys/frysk/jnixx/PrintDeclarations.java
+++ b/frysk-sys/frysk/jnixx/PrintDeclarations.java
@@ -51,48 +51,9 @@ class PrintDeclarations extends ClassWalker {
 	this.p = p;
     }
 
-    private void printWrapperDeclaration(boolean isStatic, Class returnType,
-					 String name, Class[] params) {
-	if (isStatic) {
-	    p.print("static ");
-	}	
-	p.print("inline ");
-	p.printGlobalCxxName(returnType);
-	p.print(" ");
-	p.print(name);
-	p.print("(");
-	for (int i = 0; i < params.length; i++) {
-	    if (i > 0) {
-		p.print(", ");
-	    }
-	    p.printGlobalCxxName(params[i]);
-	}
-	p.println(");");
-    }
-    private void printWrapperDeclaration(Method method) {
-	printWrapperDeclaration(Modifier.isStatic(method.getModifiers()),
-				method.getReturnType(),
-				p.name(method),
-				method.getParameterTypes());
-    }
-    private void printWrapperDeclaration(Constructor constructor) {
-	printWrapperDeclaration(true,
-				constructor.getDeclaringClass(),
-				"New",
-				constructor.getParameterTypes());
-    }
-    private void printWrapperDeclaration(Field field, boolean get) {
-	boolean isStatic = Modifier.isStatic(field.getModifiers());
-	printWrapperDeclaration(isStatic,
-				get ? field.getType() : Void.TYPE,
-				p.name(field, get),
-				get ? new Class[0] : new Class[] { field.getType() });
-    }
-
     private void printCxxFieldAccessorDeclaration(Field field,
 						  boolean get) {
 	p.printlnModifiers(field);
-	printWrapperDeclaration(field, get);
 	if (Modifier.isStatic(field.getModifiers())) {
 	    p.print("static ");
 	}
@@ -119,7 +80,6 @@ class PrintDeclarations extends ClassWalker {
 	    }
 	    public void acceptConstructor(Constructor constructor) {
 		p.printlnModifiers(constructor);
-		printWrapperDeclaration(constructor);
 		p.print("static inline ");
 		p.printGlobalCxxName(constructor.getDeclaringClass());
 		p.print(" New(");
@@ -138,7 +98,6 @@ class PrintDeclarations extends ClassWalker {
 	    }
 	    public void acceptMethod(Method method) {
 		p.printlnModifiers(method);
-		printWrapperDeclaration(method);
 		if (Modifier.isStatic(method.getModifiers())) {
 		    p.print("static ");
 		}
@@ -158,33 +117,33 @@ class PrintDeclarations extends ClassWalker {
 	if (parent == null) {
 	    // A root object.
 	    p.println("public: jobject _object;");
-	    p.print("protected: ");
+	    p.print("public: ");
 	    p.printUnqualifiedCxxName(klass);
-	    p.print("(jobject _object)");
+	    p.print("(::jnixx::env env, jobject _object)");
 	    while (p.dent(1, "{", "}")) {
 		p.println("this->_object = _object;");
 	    }
+	    p.print("public: ");
+	    p.printUnqualifiedCxxName(klass);
+	    p.print("()");
+	    while (p.dent(1, "{", "}")) {
+		p.println("this->_object = NULL;");
+	    }
 	} else {
 	    // Constructor.
-	    p.print("protected: ");
+	    p.print("public: ");
 	    p.printUnqualifiedCxxName(klass);
-	    p.print("(jobject _object) : ");
+	    p.print("(::jnixx::env env, jobject _object) : ");
 	    p.printGlobalCxxName(parent);
-	    p.println("(_object) { }");
+	    p.println("(env, _object) { }");
 	    // Empty constructor.
 	    p.print("public: ");
 	    p.printUnqualifiedCxxName(klass);
 	    p.print("() : ");
 	    p.printGlobalCxxName(parent);
-	    p.println("(NULL) { }");
+	    p.println("() { }");
 	}
-	// Explicit cast operator.
-	p.print("public: static ");
-	p.printUnqualifiedCxxName(klass);
-	p.print(" Cast(jobject object) { return ");
-	p.printUnqualifiedCxxName(klass);
-	p.println("(object); }");
-	    // Static get-class method - a class knows its own class.
+	// Static get-class method - a class knows its own class.
 	p.println("private: static jclass _class;");
 	p.println("public: static inline jclass _class_(::jnixx::env _env);");
 	JniBindings.printDeclarations(p, klass);
diff --git a/frysk-sys/frysk/jnixx/PrintHxxDefinitions.java b/frysk-sys/frysk/jnixx/PrintHxxDefinitions.java
index 7655cfd..fd6418b 100644
--- a/frysk-sys/frysk/jnixx/PrintHxxDefinitions.java
+++ b/frysk-sys/frysk/jnixx/PrintHxxDefinitions.java
@@ -51,59 +51,7 @@ class PrintHxxDefinitions extends ClassWalker {
 	this.p = p;
     }
 
-    private void printWrapperDefinition(Class klass, boolean isStatic,
-					Class returnType,
-					String name, Class[] params) {
-	p.printGlobalCxxName(returnType);
-	p.println();
-	p.printQualifiedCxxName(klass);
-	p.print("::");
-	p.print(name);
-	p.print("(");
-	for (int i = 0; i < params.length; i++) {
-	    if (i > 0) {
-		p.print(", ");
-	    }
-	    p.printGlobalCxxName(params[i]);
-	    p.print(" p" + i);
-	}
-	p.print(")");
-	while (p.dent(0, "{", "}")) {
-	    if (returnType != Void.TYPE) {
-		p.print("return ");
-	    }
-	    p.print(name);
-	    p.print("(_env_()");
-	    for (int i = 0; i < params.length; i++) {
-		p.print(",  p" + i);
-	    }
-	    p.println(");");
-	}
-    }
-    private void printWrapperDefinition(Method method) {
-	printWrapperDefinition(method.getDeclaringClass(),
-			       Modifier.isStatic(method.getModifiers()),
-			       method.getReturnType(),
-			       p.name(method),
-			       method.getParameterTypes());
-    }
-    private void printWrapperDefinition(Constructor constructor) {
-	printWrapperDefinition(constructor.getDeclaringClass(),
-			       true,
-			       constructor.getDeclaringClass(),
-			       "New",
-			       constructor.getParameterTypes());
-    }
-    private void printWrapperDefinition(Field field, boolean get) {
-	printWrapperDefinition(field.getDeclaringClass(),
-			       Modifier.isStatic(field.getModifiers()),
-			       get ? field.getType() : Void.TYPE,
-			       p.name(field, get),
-			       get ? new Class[0] : new Class[] { field.getType() });
-    }
-
     private void printCxxFieldAccessorDefinition(Field field, boolean get) {
-	printWrapperDefinition(field, get);
 	boolean isStatic = Modifier.isStatic(field.getModifiers());
 	Class type = field.getType();
 	p.println();
@@ -169,7 +117,6 @@ class PrintHxxDefinitions extends ClassWalker {
     }
 
     private void printCxxMethodDefinition(Method method) {
-	printWrapperDefinition(method);
 	boolean isStatic = Modifier.isStatic(method.getModifiers());
 	Class returnType = method.getReturnType();
 	p.println();
@@ -229,7 +176,6 @@ class PrintHxxDefinitions extends ClassWalker {
 	    }
 	    void acceptConstructor(Constructor constructor) {
 		p.println();
-		printWrapperDefinition(constructor);
 		p.printGlobalCxxName(constructor.getDeclaringClass());
 		p.println();
 		p.printQualifiedCxxName(constructor);
diff --git a/frysk-sys/frysk/jnixx/Printer.java b/frysk-sys/frysk/jnixx/Printer.java
index 8bd673e..3728d98 100644
--- a/frysk-sys/frysk/jnixx/Printer.java
+++ b/frysk-sys/frysk/jnixx/Printer.java
@@ -503,8 +503,7 @@ class Printer {
 		print("p" + i);
 	    } else {
 		printGlobalCxxName(param);
-		print("::Cast");
-		print("(p" + i + ")");
+		print("(_env, p" + i + ")");
 	    }
 	}
     }
@@ -609,8 +608,7 @@ class Printer {
 	    print(variable);
 	} else {
 	    printGlobalCxxName(returnType);
-	    print("::Cast");
-	    print("(");
+	    print("(_env, ");
 	    print(variable);
 	    print(")");
 	}
diff --git a/frysk-sys/frysk/jnixx/chars.cxx b/frysk-sys/frysk/jnixx/chars.cxx
index a59107d..56caf4d 100644
--- a/frysk-sys/frysk/jnixx/chars.cxx
+++ b/frysk-sys/frysk/jnixx/chars.cxx
@@ -83,7 +83,7 @@ chars2strings(::jnixx::env env, char** argv) {
     length++;
   }
   ::jnixx::array<String> strings
-      = ::jnixx::array<String>::New(length);
+      = ::jnixx::array<String>::New(env, length);
   for (int i = 0; i < length; i++) {
     String string = String::NewStringUTF(env, argv[i]);
     strings.SetElement(env, i, string);
diff --git a/frysk-sys/frysk/sys/proc/ChangeLog b/frysk-sys/frysk/sys/proc/ChangeLog
index 2e2c1e2..7544934 100644
--- a/frysk-sys/frysk/sys/proc/ChangeLog
+++ b/frysk-sys/frysk/sys/proc/ChangeLog
@@ -1,5 +1,7 @@
 2008-05-13  Andrew Cagney  <cagney@redhat.com>
 
+	* jni/ProcBuilder.cxx (ProcBuilder::construct): Pass env to build().
+	
 	* jni/ProcBuilder.cxx: Update, Log.hxx renamed to logging.hxx.
 
 	* TestProcBuilder.java: New.
diff --git a/frysk-sys/frysk/sys/proc/jni/ProcBuilder.cxx b/frysk-sys/frysk/sys/proc/jni/ProcBuilder.cxx
index 411d072..2808367 100644
--- a/frysk-sys/frysk/sys/proc/jni/ProcBuilder.cxx
+++ b/frysk-sys/frysk/sys/proc/jni/ProcBuilder.cxx
@@ -91,7 +91,7 @@ frysk::sys::proc::ProcBuilder::construct(::jnixx::env env, jint pid,
     }
 
     try {
-      build(frysk::sys::ProcessIdentifierFactory::create(env, id));
+      build(env, frysk::sys::ProcessIdentifierFactory::create(env, id));
     } catch (java::lang::RuntimeException *e) {
       ::closedir(proc);
       throw e;


hooks/post-receive
--
frysk system monitor/debugger


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-05-13 18:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-13 18:10 [SCM] master: Require ENV parameter cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).