public Operand buildSymbol(SymbolNode node, IRScope s) { // SSS: Since symbols are interned objects, no need to copyAndReturnValue(...) return new Symbol(node.getName()); }
public Operand buildSymbol(SymbolNode node) { // Since symbols are interned objects, no need to copyAndReturnValue(...) return new Symbol(node.getName()); }
public Operand buildSymbol(SymbolNode node) { // Since symbols are interned objects, no need to copyAndReturnValue(...) return new Symbol(node.getName()); }
public ConstMissingInstr(Variable result, Operand currentModule, String missingConst) { super(Operation.CONST_MISSING, CallType.FUNCTIONAL, result, new MethAddr("const_missing"), currentModule, new Operand[]{new Symbol(missingConst)}, null); this.missingConst = missingConst; }
public ConstMissingInstr(Variable result, Operand currentModule, String missingConst) { super(Operation.CONST_MISSING, CallType.FUNCTIONAL, result, new MethAddr("const_missing"), currentModule, new Operand[]{new Symbol(missingConst)}, null); this.missingConst = missingConst; }
public Operand buildSymbol(SymbolNode node, IRScope s) { // SSS: Since symbols are interned objects, no need to copyAndReturnValue(...) return new Symbol(node.getName()); }
public static Symbol decode(IRReaderDecoder d) { return new Symbol(d.decodeSymbol()); }
public static Symbol decode(IRReaderDecoder d) { return new Symbol(d.decodeSymbol()); }
public ConstMissingInstr(IRScope scope, Variable result, Operand currentModule, RubySymbol missingConst, boolean isPotentiallyRefined) { super(scope, Operation.CONST_MISSING, CallType.FUNCTIONAL, result, missingConst.getRuntime().newSymbol(CONST_MISSING), currentModule, new Operand[]{new Symbol(missingConst)}, null, isPotentiallyRefined); this.missingConst = missingConst; }
public ConstMissingInstr(IRScope scope, Variable result, Operand currentModule, RubySymbol missingConst, boolean isPotentiallyRefined) { super(scope, Operation.CONST_MISSING, CallType.FUNCTIONAL, result, missingConst.getRuntime().newSymbol(CONST_MISSING), currentModule, new Operand[]{new Symbol(missingConst)}, null, isPotentiallyRefined); this.missingConst = missingConst; }
private static void extractCallOperands(List<Operand> callArgs, List<KeyValuePair<Operand, Operand>> keywordArgs, Instr instr) { if (instr instanceof ReceiveKeywordRestArgInstr) { // Always add the keyword rest arg to the beginning keywordArgs.add(0, new KeyValuePair<Operand, Operand>(Symbol.KW_REST_ARG_DUMMY, ((ReceiveArgBase) instr).getResult())); } else if (instr instanceof ReceiveKeywordArgInstr) { ReceiveKeywordArgInstr receiveKwargInstr = (ReceiveKeywordArgInstr) instr; keywordArgs.add(new KeyValuePair<Operand, Operand>(new Symbol(receiveKwargInstr.getKey()), receiveKwargInstr.getResult())); } else if (instr instanceof ReceiveRestArgInstr) { callArgs.add(new Splat(((ReceiveRestArgInstr) instr).getResult())); } else if (instr instanceof ReceiveArgBase) { callArgs.add(((ReceiveArgBase) instr).getResult()); } }
private static void extractCallOperands(List<Operand> callArgs, List<KeyValuePair<Operand, Operand>> keywordArgs, Instr instr) { if (instr instanceof ReceiveKeywordRestArgInstr) { // Always add the keyword rest arg to the beginning keywordArgs.add(0, new KeyValuePair<Operand, Operand>(Symbol.KW_REST_ARG_DUMMY, ((ReceiveArgBase) instr).getResult())); } else if (instr instanceof ReceiveKeywordArgInstr) { ReceiveKeywordArgInstr receiveKwargInstr = (ReceiveKeywordArgInstr) instr; keywordArgs.add(new KeyValuePair<Operand, Operand>(new Symbol(receiveKwargInstr.getKey()), receiveKwargInstr.getResult())); } else if (instr instanceof ReceiveRestArgInstr) { callArgs.add(new Splat(((ReceiveRestArgInstr) instr).getResult())); } else if (instr instanceof ReceiveArgBase) { callArgs.add(((ReceiveArgBase) instr).getResult()); } }
public Operand buildDefn(MethodDefNode node) { // Instance method IRMethod method = defineNewMethod(node, true); addInstr(new DefineInstanceMethodInstr(method)); return new Symbol(node.getName()); }
public Operand buildDefn(MethodDefNode node) { // Instance method IRMethod method = defineNewMethod(node, true); addInstr(new DefineInstanceMethodInstr(method)); return new Symbol(node.getName()); }
public Operand buildDefs(DefsNode node) { // Class method Operand container = build(node.getReceiverNode()); IRMethod method = defineNewMethod(node, false); addInstr(new DefineClassMethodInstr(container, method)); return new Symbol(node.getName()); }
public Operand buildDefs(DefsNode node) { // Class method Operand container = build(node.getReceiverNode()); IRMethod method = defineNewMethod(node, false); addInstr(new DefineClassMethodInstr(container, method)); return new Symbol(node.getName()); }
new Operand[]{ buildSelf(), new Symbol(((FCallNode) node).getName()), manager.getFalse(), new FrozenString(DefinedMessage.METHOD.getText())
new Operand[]{ buildSelf(), new Symbol(((FCallNode) node).getName()), manager.getFalse(), new FrozenString(DefinedMessage.METHOD.getText())