diff options
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/icode/GenICode.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/icode/GenICode.scala | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala b/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala index 90e387d384..e26a0d59e8 100644 --- a/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala +++ b/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala @@ -24,7 +24,7 @@ abstract class GenICode extends SubComponent { import icodes._ import icodes.opcodes._ import definitions.{ - ArrayClass, ObjectClass, ThrowableClass, StringClass, StringModule, NothingClass, NullClass, AnyRefClass, + ArrayClass, ObjectClass, ThrowableClass, StringClass, StringModule, AnyRefClass, Object_equals, Object_isInstanceOf, Object_asInstanceOf, ScalaRunTimeModule, BoxedNumberClass, BoxedCharacterClass, getMember @@ -923,12 +923,13 @@ abstract class GenICode extends SubComponent { } case ApplyDynamic(qual, args) => - assert(!forMSIL) - ctx.clazz.bootstrapClass = Some("scala.runtime.DynamicDispatch") - val ctx1 = genLoad(qual, ctx, ObjectReference) - genLoadArguments(args, tree.symbol.info.paramTypes, ctx1) - ctx1.bb.emit(CALL_METHOD(tree.symbol, InvokeDynamic), tree.pos) - ctx1 + assert(!forMSIL, tree) + // TODO - this is where we'd catch dynamic applies for invokedynamic. + sys.error("No invokedynamic support yet.") + // val ctx1 = genLoad(qual, ctx, ObjectReference) + // genLoadArguments(args, tree.symbol.info.paramTypes, ctx1) + // ctx1.bb.emit(CALL_METHOD(tree.symbol, InvokeDynamic), tree.pos) + // ctx1 case This(qual) => assert(tree.symbol == ctx.clazz.symbol || tree.symbol.isModuleClass, |