Beispiel #1
0
 @Override
 public Instr cloneForInlinedScope(InlinerInfo ii) {
   if (ii.canMapArgsStatically()) {
     return new CopyInstr(ii.getRenamedVariable(result), ii.getArg(argIndex));
   } else {
     return new OptArgMultipleAsgnInstr(
         ii.getRenamedVariable(result), ii.getArgs(), argIndex, argIndex);
   }
 }
 @Override
 public Instr cloneForInlining(InlinerInfo ii) {
   return new GetClassVarContainerModuleInstr(
       ii.getRenamedVariable(result),
       candidateScope,
       object == null ? null : object.cloneForInlining(ii));
 }
 @Override
 public Instr cloneForInlining(InlinerInfo ii) {
   return new InheritanceSearchConstInstr(
       ii.getRenamedVariable(result),
       currentModule.cloneForInlining(ii),
       constName,
       noPrivateConsts);
 }
Beispiel #4
0
 @Override
 public Instr cloneForBlockCloning(InlinerInfo ii) {
   return new ReceiveOptArgInstr(ii.getRenamedVariable(result), argIndex);
 }
Beispiel #5
0
 @Override
 public Instr cloneForInlining(InlinerInfo ii) {
   return new ConstMissingInstr(
       ii.getRenamedVariable(result), receiver.cloneForInlining(ii), missingConst);
 }
 @Override
 public Instr cloneForInlining(InlinerInfo ii) {
   return new LexicalSearchConstInstr(
       ii.getRenamedVariable(result), definingScope.cloneForInlining(ii), constName);
 }