From 8c8c98fb0027183095804f053e08d18fd790f67b Mon Sep 17 00:00:00 2001 From: James Roseborough Date: Sat, 14 Mar 2015 17:53:55 +0000 Subject: [PATCH] Allow access to Java inner classes using lua field syntax. --- README.html | 1 + src/jse/org/luaj/vm2/lib/jse/JavaClass.java | 18 +++++++++++++++++- src/jse/org/luaj/vm2/lib/jse/JavaInstance.java | 3 +++ .../lib/jse/LuajavaAccessibleMembersTest.java | 8 +++++++- .../vm2/lib/jse/LuajavaClassMembersTest.java | 12 ++++++++++++ test/junit/org/luaj/vm2/lib/jse/TestClass.java | 4 ++++ 6 files changed, 44 insertions(+), 2 deletions(-) diff --git a/README.html b/README.html index d8ee1eba..6d1aeff8 100644 --- a/README.html +++ b/README.html @@ -972,6 +972,7 @@ Files are no longer hosted at LuaForge.
  • Make LuaC compile state explicit and improve factoring.
  • Add sample build.gradle file for Android example.
  • collectgarbage() now behaves same as collectgarbage("collect") (fixes issue #41).
  • +
  • Allow access to Java inner classes using lua field syntax (fixes issue #40).
  • diff --git a/src/jse/org/luaj/vm2/lib/jse/JavaClass.java b/src/jse/org/luaj/vm2/lib/jse/JavaClass.java index 4e293b8e..553c8e73 100644 --- a/src/jse/org/luaj/vm2/lib/jse/JavaClass.java +++ b/src/jse/org/luaj/vm2/lib/jse/JavaClass.java @@ -54,6 +54,7 @@ class JavaClass extends JavaInstance implements CoerceJavaToLua.Coercion { Map fields; Map methods; + Map innerclasses; static JavaClass forClass(Class c) { JavaClass j = (JavaClass) classes.get(c); @@ -78,7 +79,7 @@ class JavaClass extends JavaInstance implements CoerceJavaToLua.Coercion { for ( int i=0; i