public void DynamicSymbol(DynamicSymbol dynamicsymbol) { print(dynamicsymbol.getSymbolName()); } public void Filename(Filename filename) { }
public void DynamicSymbol(DynamicSymbol dynamicsymbol) { print(dynamicsymbol.getSymbolName()); } public void Filename(Filename filename) { }
@Override public void DynamicSymbol(DynamicSymbol dynamicsymbol) { jvmMethod().loadRuntime(); visit(dynamicsymbol.getSymbolName()); jvmAdapter().dup(); // get symbol name jvmAdapter().invokeinterface(p(IRubyObject.class), "asJavaString", sig(String.class)); jvmAdapter().swap(); // get encoding of symbol name jvmAdapter().invokeinterface(p(IRubyObject.class), "asString", sig(RubyString.class)); jvmAdapter().invokevirtual(p(RubyString.class), "getByteList", sig(ByteList.class)); jvmAdapter().invokevirtual(p(ByteList.class), "getEncoding", sig(Encoding.class)); // keeps encoding of symbol name jvmAdapter().invokevirtual(p(Ruby.class), "newSymbol", sig(RubySymbol.class, String.class, Encoding.class)); }
@Override public void DynamicSymbol(DynamicSymbol dynamicsymbol) { jvmMethod().loadRuntime(); visit(dynamicsymbol.getSymbolName()); jvmAdapter().dup(); // get symbol name jvmAdapter().invokeinterface(p(IRubyObject.class), "asJavaString", sig(String.class)); jvmAdapter().swap(); // get encoding of symbol name jvmAdapter().invokeinterface(p(IRubyObject.class), "asString", sig(RubyString.class)); jvmAdapter().invokevirtual(p(RubyString.class), "getByteList", sig(ByteList.class)); jvmAdapter().invokevirtual(p(ByteList.class), "getEncoding", sig(Encoding.class)); // keeps encoding of symbol name jvmAdapter().invokevirtual(p(Ruby.class), "newSymbol", sig(RubySymbol.class, String.class, Encoding.class)); }