public Operand getSimplifiedOperand(Map<Operand, Operand> valueMap, boolean force) { Operand newSymbol = symbolName.getSimplifiedOperand(valueMap, force); return symbolName == newSymbol ? this : new DynamicSymbol(newSymbol); }
public void DynamicSymbol(DynamicSymbol dynamicsymbol) { print(dynamicsymbol.getSymbolName()); } public void Filename(Filename filename) { }
case COMPLEX: return Complex.decode(this); case CURRENT_SCOPE: return CurrentScope.decode(this); case DYNAMIC_SYMBOL: return DynamicSymbol.decode(this); case FILENAME: return Filename.decode(this); case FIXNUM: return Fixnum.decode(this);
case COMPLEX: return Complex.decode(this); case CURRENT_SCOPE: return CurrentScope.decode(this); case DYNAMIC_SYMBOL: return DynamicSymbol.decode(this); case FILENAME: return Filename.decode(this); case FIXNUM: return Fixnum.decode(this);
public Operand getSimplifiedOperand(Map<Operand, Operand> valueMap, boolean force) { Operand newSymbol = symbolName.getSimplifiedOperand(valueMap, force); return symbolName == newSymbol ? this : new DynamicSymbol(newSymbol); }
public void DynamicSymbol(DynamicSymbol dynamicsymbol) { print(dynamicsymbol.getSymbolName()); } public void Filename(Filename filename) { }
public Operand getSimplifiedOperand(Map<Operand, Operand> valueMap, boolean force) { CompoundString newSymbol = (CompoundString)symbolName.getSimplifiedOperand(valueMap, force); return symbolName == newSymbol ? this : new DynamicSymbol(newSymbol); }
@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)); }
public Operand cloneForInlining(CloneInfo ii) { Operand clonedSymbolName = symbolName.cloneForInlining(ii); return clonedSymbolName == symbolName ? this : new DynamicSymbol(clonedSymbolName); }
@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)); }
public Operand cloneForInlining(CloneInfo ii) { Operand clonedSymbolName = symbolName.cloneForInlining(ii); return clonedSymbolName == symbolName ? this : new DynamicSymbol(clonedSymbolName); }
public Operand getSimplifiedOperand(Map<Operand, Operand> valueMap, boolean force) { CompoundString newSymbol = (CompoundString)symbolName.getSimplifiedOperand(valueMap, force); return symbolName == newSymbol ? this : new DynamicSymbol(newSymbol); }
public static DynamicSymbol decode(IRReaderDecoder d) { return new DynamicSymbol(d.decodeOperand()); }
public static DynamicSymbol decode(IRReaderDecoder d) { return new DynamicSymbol(d.decodeOperand()); }
public Operand buildDSymbol(DSymbolNode node, IRScope s) { List<Operand> strPieces = new ArrayList<Operand>(); for (Node n : node.childNodes()) { strPieces.add(dynamicPiece(n, s)); } return copyAndReturnValue(s, new DynamicSymbol(new CompoundString(strPieces, node.getEncoding()))); }
public Operand buildDSymbol(DSymbolNode node, IRScope s) { List<Operand> strPieces = new ArrayList<Operand>(); for (Node n : node.childNodes()) { strPieces.add(dynamicPiece(n, s)); } return copyAndReturnValue(s, new DynamicSymbol(new CompoundString(strPieces, node.getEncoding()))); }
public Operand buildDSymbol(Variable result, DSymbolNode node) { Node[] nodePieces = node.children(); Operand[] pieces = new Operand[nodePieces.length]; for (int i = 0; i < pieces.length; i++) { pieces[i] = dynamicPiece(nodePieces[i]); } if (result == null) result = createTemporaryVariable(); boolean debuggingFrozenStringLiteral = manager.getInstanceConfig().isDebuggingFrozenStringLiteral(); addInstr(new BuildCompoundStringInstr(result, pieces, node.getEncoding(), false, debuggingFrozenStringLiteral, getFileName(), node.getLine())); return copyAndReturnValue(new DynamicSymbol(result)); }
public Operand buildDSymbol(Variable result, DSymbolNode node) { Node[] nodePieces = node.children(); Operand[] pieces = new Operand[nodePieces.length]; for (int i = 0; i < pieces.length; i++) { pieces[i] = dynamicPiece(nodePieces[i]); } if (result == null) result = createTemporaryVariable(); boolean debuggingFrozenStringLiteral = manager.getInstanceConfig().isDebuggingFrozenStringLiteral(); addInstr(new BuildCompoundStringInstr(result, pieces, node.getEncoding(), false, debuggingFrozenStringLiteral, getFileName(), node.getLine())); return copyAndReturnValue(new DynamicSymbol(result)); }