@@ -111,14 +111,13 @@ object Splicer {
111111 }
112112
113113 protected def interpretStaticMethodCall (fn : Tree , args : => List [Object ])(implicit env : Env ): Object = {
114- val (clazz, instance) = loadModule(fn.symbol.owner)
115- val method = getMethod(clazz , fn.symbol.name, paramsSig(fn.symbol))
114+ val instance = loadModule(fn.symbol.owner)
115+ val method = getMethod(instance.getClass , fn.symbol.name, paramsSig(fn.symbol))
116116 stopIfRuntimeException(method.invoke(instance, args : _* ))
117117 }
118118
119- protected def interpretModuleAccess (fn : Tree )(implicit env : Env ): Object = {
120- loadModule(fn.symbol.moduleClass)._2
121- }
119+ protected def interpretModuleAccess (fn : Tree )(implicit env : Env ): Object =
120+ loadModule(fn.symbol.moduleClass)
122121
123122 protected def interpretNew (fn : RefTree , args : => List [Result ])(implicit env : Env ): Object = {
124123 val clazz = loadClass(fn.symbol.owner.fullName)
@@ -129,16 +128,15 @@ object Splicer {
129128 protected def unexpectedTree (tree : Tree )(implicit env : Env ): Object =
130129 throw new StopInterpretation (" Unexpected tree could not be interpreted: " + tree, tree.pos)
131130
132- private def loadModule (sym : Symbol ): ( Class [_], Object ) = {
131+ private def loadModule (sym : Symbol ): Object = {
133132 if (sym.owner.is(Package )) {
134133 // is top level object
135134 val moduleClass = loadClass(sym.fullName)
136- val moduleInstance = moduleClass.getField(MODULE_INSTANCE_FIELD ).get(null )
137- (moduleClass, moduleInstance)
135+ moduleClass.getField(MODULE_INSTANCE_FIELD ).get(null )
138136 } else {
139137 // nested object in an object
140138 val clazz = loadClass(sym.fullNameSeparated(FlatName ))
141- ( clazz, clazz .getConstructor().newInstance().asInstanceOf [Object ])
139+ clazz.getConstructor().newInstance().asInstanceOf [Object ]
142140 }
143141 }
144142
0 commit comments