=2  5se/krka/kahlua/integration/expose/LuaJavaClassExposer(Lse/krka/kahlua/converter/KahluaConverterManager;Lse/krka/kahlua/vm/Platform;Lse/krka/kahlua/vm/KahluaTable;Lse/krka/kahlua/vm/KahluaTable;)V    java/lang/Object()V java/util/HashSet   visitedTypesLjava/util/Set;java/util/HashMap   shouldExposeCacheLjava/util/Map;  TypeMapLjava/util/HashMap;  !manager1Lse/krka/kahlua/converter/KahluaConverterManager; # $%platformLse/krka/kahlua/vm/Platform; ' () environmentLse/krka/kahlua/vm/KahluaTable; + ,)autoExposeBase ./0 12se/krka/kahlua/vm/KahluaUtilgetClassMetatables\(Lse/krka/kahlua/vm/Platform;Lse/krka/kahlua/vm/KahluaTable;)Lse/krka/kahlua/vm/KahluaTable; 4 5)classMetatables 789 :;se/krka/kahlua/vm/KahluaTable getMetatable!()Lse/krka/kahlua/vm/KahluaTable; =>? @;se/krka/kahlua/vm/PlatformnewTableB__indexD7se/krka/kahlua/integration/expose/LuaJavaClassExposer$1 CF G:(Lse/krka/kahlua/integration/expose/LuaJavaClassExposer;)V 7I JKrawset'(Ljava/lang/Object;Ljava/lang/Object;)V 7M NO setMetatable"(Lse/krka/kahlua/vm/KahluaTable;)V Q RS DEBUGINFO_KEYLjava/lang/Object; 7U VWrawget&(Ljava/lang/Object;)Ljava/lang/Object;Y java/util/Map [\] ^_java/lang/reflect/MethodgetName()Ljava/lang/String; a bcexposeGlobalObjectFunction`(Lse/krka/kahlua/vm/KahluaTable;Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/String;)V e fggetClass()Ljava/lang/Class; i jk readDebugData(Ljava/lang/Class;)V m nogetMethodInvoker(Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/lang/Object;Z)Lse/krka/kahlua/integration/expose/LuaJavaInvoker; q rs addInvokerf(Lse/krka/kahlua/vm/KahluaTable;Ljava/lang/String;Lse/krka/kahlua/integration/expose/LuaJavaInvoker;)V u vwgetConstructorInvokerv(Ljava/lang/Class;Ljava/lang/reflect/Constructor;Ljava/lang/String;)Lse/krka/kahlua/integration/expose/LuaJavaInvoker;y0se/krka/kahlua/integration/expose/LuaJavaInvoker{5se/krka/kahlua/integration/expose/caller/MethodCaller z} ~0(Ljava/lang/reflect/Method;Ljava/lang/Object;Z)V x (Lse/krka/kahlua/integration/expose/LuaJavaClassExposer;Lse/krka/kahlua/converter/KahluaConverterManager;Ljava/lang/Class;Ljava/lang/String;Lse/krka/kahlua/integration/expose/caller/Caller;)V:se/krka/kahlua/integration/expose/caller/ConstructorCaller "(Ljava/lang/reflect/Constructor;)V [  getModifiers()I  java/lang/reflect/ModifierisStatic(I)Z  getGlobalInvokerq(Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;)Lse/krka/kahlua/integration/expose/LuaJavaInvoker;   exposeMethod_(Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;Lse/krka/kahlua/vm/KahluaTable;)V   isExposed(Ljava/lang/Class;)Z  setupMetaTables3(Ljava/lang/Class;Lse/krka/kahlua/vm/KahluaTable;)V   getMetaTable2(Ljava/lang/Class;)Lse/krka/kahlua/vm/KahluaTable;   getIndexTable@(Lse/krka/kahlua/vm/KahluaTable;)Lse/krka/kahlua/vm/KahluaTable;  nsetDir  java/lang/Stringequals(Ljava/lang/Object;)Z 5se/krka/kahlua/integration/expose/MultiLuaJavaInvoker r5(Lse/krka/kahlua/integration/expose/LuaJavaInvoker;)V X Wgetjava/lang/Boolean  booleanValue()Z  exposeLikeJavaRecursively:(Ljava/lang/reflect/Type;Lse/krka/kahlua/vm/KahluaTable;)V TRUELjava/lang/Boolean; X put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;  gjava/lang/Class getSuperclass   shouldExpose  getInterfaces()[Ljava/lang/Class; FALSE __newindex__eq7se/krka/kahlua/integration/expose/LuaJavaClassExposer$2 F  getMethods()[Ljava/lang/reflect/Method;0se/krka/kahlua/integration/annotations/LuaMethod  0se/krka/kahlua/integration/expose/AnnotationUtil getAnnotationN(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/annotation/Annotation; _name global  exposeLikeJava   exposeMethods   isSynthetic  isAnonymousClass   isPrimitive     java/lang/reflect/Proxy isProxyClass  _ getSimpleName$   startsWith(Ljava/lang/String;)Z   exposeStatics \\.  split'(Ljava/lang/String;)[Ljava/lang/String; ! "#createTableStructureS(Lse/krka/kahlua/vm/KahluaTable;[Ljava/lang/String;)Lse/krka/kahlua/vm/KahluaTable;%class ' (isPublic * +,exposeGlobalClassFunction_(Lse/krka/kahlua/vm/KahluaTable;Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;)V . /0 getFields()[Ljava/lang/reflect/Field; 2\3java/lang/reflect/Field 2 27 java/lang/IllegalAccessException 9 :;getConstructors"()[Ljava/lang/reflect/Constructor; =>java/lang/reflect/Constructor @ A isInterface C D isAbstractFnew .H IJgetOrCreateTablen(Lse/krka/kahlua/vm/Platform;Lse/krka/kahlua/vm/KahluaTable;Ljava/lang/String;)Lse/krka/kahlua/vm/KahluaTable; L MkreadDebugDataD O PQgetClassDebugInformation()Ljava/util/Map;S7se/krka/kahlua/integration/expose/ClassDebugInformation U VW getDebugdataAL(Ljava/lang/Class;)Lse/krka/kahlua/integration/expose/ClassDebugInformation; YZ[ \]>se/krka/kahlua/integration/processor/ClassParameterInformation getFromStreamS(Ljava/lang/Class;)Lse/krka/kahlua/integration/processor/ClassParameterInformation;_java/lang/Exception Ya k Rc dT(Ljava/lang/Class;Lse/krka/kahlua/integration/processor/ClassParameterInformation;)V xf ghgetMethodDebugData<()Lse/krka/kahlua/integration/expose/MethodDebugInformation; jkl m_8se/krka/kahlua/integration/expose/MethodDebugInformationtoStringojava/lang/StringBuilder n r st getInvokers()Ljava/util/List; vwx yzjava/util/Listiterator()Ljava/util/Iterator; |}~ java/util/IteratorhasNext | next()Ljava/lang/Object; n append-(Ljava/lang/String;)Ljava/lang/StringBuilder; nk . getWorkerThread](Lse/krka/kahlua/vm/Platform;Lse/krka/kahlua/vm/KahluaTable;)Lse/krka/kahlua/vm/KahluaThread; . tostringF(Ljava/lang/Object;Lse/krka/kahlua/vm/KahluaThread;)Ljava/lang/String;  I(Lse/krka/kahlua/vm/KahluaTable;Ljava/util/Set;Ljava/lang/reflect/Type;)V   java/util/Setcontains  add  exposeLikeJavaByClassB(Lse/krka/kahlua/vm/KahluaTable;Ljava/util/Set;Ljava/lang/Class;)Vjava/lang/reflect/WildcardType  getLowerBounds()[Ljava/lang/reflect/Type;   exposeListJ(Lse/krka/kahlua/vm/KahluaTable;Ljava/util/Set;[Ljava/lang/reflect/Type;)V  getUpperBounds#java/lang/reflect/ParameterizedType   getRawType()Ljava/lang/reflect/Type;   getOwnerType  getActualTypeArgumentsjava/lang/reflect/TypeVariable   getBounds"java/lang/reflect/GenericArrayType  getGenericComponentType k.   lastIndexOf(Ljava/lang/String;)I   substring(I)Ljava/lang/String;   getGenericSuperclass  isArray  ggetComponentType  getDeclaredMethods [ getGenericParameterTypes [ getGenericExceptionTypes [ getGenericReturnType  0getDeclaredFields 2 getGenericType = getParameterTypes = getExceptionTypes X  clear   Signature)Ljava/util/Set;8Ljava/util/Map;Ljava/lang/Boolean;>;;Ljava/util/HashMap;>;o(Lse/krka/kahlua/converter/KahluaConverterManager;Lse/krka/kahlua/vm/Platform;Lse/krka/kahlua/vm/KahluaTable;)VCodeLineNumberTable StackMapTable/se/krka/kahlua/converter/KahluaConverterManager`()Ljava/util/Map;Lse/krka/kahlua/integration/expose/ClassDebugInformation;>;5(Ljava/lang/Class<*>;)Lse/krka/kahlua/vm/KahluaTable;N(Lse/krka/kahlua/vm/KahluaTable;Ljava/lang/Object;Ljava/lang/reflect/Method;)Vd(Lse/krka/kahlua/vm/KahluaTable;Ljava/lang/Class;Ljava/lang/reflect/Constructor;Ljava/lang/String;)Vj(Lse/krka/kahlua/vm/KahluaTable;Ljava/lang/Class<*>;Ljava/lang/reflect/Constructor<*>;Ljava/lang/String;)V(Ljava/lang/Class<*>;Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/lang/Object;Z)Lse/krka/kahlua/integration/expose/LuaJavaInvoker;|(Ljava/lang/Class<*>;Ljava/lang/reflect/Constructor<*>;Ljava/lang/String;)Lse/krka/kahlua/integration/expose/LuaJavaInvoker;t(Ljava/lang/Class<*>;Ljava/lang/reflect/Method;Ljava/lang/String;)Lse/krka/kahlua/integration/expose/LuaJavaInvoker;b(Lse/krka/kahlua/vm/KahluaTable;Ljava/lang/Class<*>;Ljava/lang/reflect/Method;Ljava/lang/String;)VM(Ljava/lang/Class;Ljava/lang/reflect/Method;Lse/krka/kahlua/vm/KahluaTable;)VP(Ljava/lang/Class<*>;Ljava/lang/reflect/Method;Lse/krka/kahlua/vm/KahluaTable;)Vb(Ljava/lang/Class<*>;Ljava/lang/reflect/Method;Ljava/lang/String;Lse/krka/kahlua/vm/KahluaTable;)V [Ljava/lang/Class;(Ljava/lang/Class<*>;)Z6(Ljava/lang/Class<*>;Lse/krka/kahlua/vm/KahluaTable;)V addJavaEqualsexposeGlobalFunctions(Ljava/lang/Object;)Vjava/lang/reflect/Method;[Ljava/lang/String;[Ljava/lang/reflect/Field; [Ljava/lang/reflect/Constructor; getDebugdataO(Ljava/lang/Class<*>;)Lse/krka/kahlua/integration/expose/ClassDebugInformation;(Ljava/lang/Class<*>;)V getDefinition&(Ljava/lang/Object;)Ljava/lang/String;RuntimeVisibleAnnotations2Lse/krka/kahlua/integration/annotations/LuaMethod; definition-Lse/krka/kahlua/integration/annotations/Desc;value*returns a string that describes the object(Ljava/lang/reflect/Type;)Vc(Lse/krka/kahlua/vm/KahluaTable;Ljava/util/Set;Ljava/lang/reflect/Type;)V)[Ljava/lang/reflect/Type;d(Lse/krka/kahlua/vm/KahluaTable;Ljava/util/Set;[Ljava/lang/reflect/Type;)V_(Lse/krka/kahlua/vm/KahluaTable;Ljava/util/Set;Ljava/lang/Class<*>;)Vdestroy SourceFileLuaJavaClassExposer.java NestMembers InnerClasses! RS !$%()5),)&% *+,- KLw** Y*Y*Y*+*,"*-&***,*&-3*36',<:ACY*EH*3L:NEGH%O*P/Q4R:SFURVZWkjvlv=77PQi2*&PTL+ +XYL*&P+H+Xo pq r-t &*3+T7g#++ATM,,7,7"!  b( *+,--Z`  bcK#,d:*h*-,l:*+p "+=*,h*,-t:*+pno3 xY**+-zY,|vw/ xY**+-Y,n" *+,-l" *+,-l+,L*,h-*+*,-p( *+,,Z-   s6*+h*+ *+*+:*:*+,-:*-p" #,5 rsn,6+,T:Nx2-Y:x-+,H- +,-H>  "+,5 ? E N Y em  $0+*+M,,***+***+*+ǹW*+϶ԙ*+ǹW+N-66(-2:*ԙ*+ǹW*+۹WV$-/ 7!E"G$R%`&b({)*+(./  % `+N*-,*-:*"<:*"<:AH޹THL*3+H. 34 689(:3;8<J>S?_@J7777O-+Y*H CK t+dM*,h,N-66Y-2::< Z: :**&+`2 NO P#Q/R4TCUMWVY`ZmPs^,6[k& *+** a bQ+*+ *+Ԛ*+,*+,+++$+++  *+,& efhj!k0l>mJoPs: )+N*,- :$+H,+ T,+ H+:6682:Z: &*+ )+-:66A2:1: 4&"4 +5H: +8:66B2:<6  ?& B &*E*+Etp6fv wxy+z7}S~Zep{}"(U 77 5 < 7726 ?G+N-666-2:Z:& *+,ɱ +6@F 3"#`),N-66-2:*"+GL+!'  5+*+@ W/*+K*N+R VW&*N+RMk;*+T5M+XMN, YY+`MRY+,bN*N:+-W ^.   *0:Y^ jko++x+xeM,i+AnYpM+quN-{-x:,eiW,+*"*&2  !)JWZ_n|# Z!s"#$s%&& *+**ñ   ' *,*+  Y-,-,-W-Й*-жԚ*+,-ж-&-:*+,*+,q-3-:*+,*+,*+,:--:*+,--:*+,f*+8?E R!_"i#o$|%&'()*+,.   )6'_(-:662:*+,12!1'4  (* -:Ķ`:*-W*+,-׶*+,-϶-ҙ*+,-ն *-+-:6612:*+,۶*+,޶*+,-:662:*+,-8:66&2:*+,*+,ٱV89:"<,=6>=?JAPClDwEFCHIHKLMKO*J 4  )+, >***S TUV- # YP@./0C1C