comparison rep/optimizers/DeleteInsertOptimizer.java @ 368:335f685ac658

*** empty log message ***
author tkaito
date Tue, 21 Oct 2008 20:11:09 +0900
parents 6ea3aa6c795f
children
comparison
equal deleted inserted replaced
367:1bde894edd83 368:335f685ac658
41 private void optimizedAdd(List<REPCommand> output, REPCommand r, int ln) { 41 private void optimizedAdd(List<REPCommand> output, REPCommand r, int ln) {
42 int lineno = r.lineno; 42 int lineno = r.lineno;
43 for(int i = ln+1; i < output.size(); i++){ 43 for(int i = ln+1; i < output.size(); i++){
44 REPCommand s = output.get(i); 44 REPCommand s = output.get(i);
45 if(s.cmd==REP.REPCMD_INSERT) { 45 if(s.cmd==REP.REPCMD_INSERT) {
46 if(s.lineno < lineno){ 46 if(s.lineno <= lineno){
47 lineno --; 47 lineno --;
48 }else if(s.lineno == lineno){ 48 }else if(s.lineno == lineno){
49 49
50 lineNumberCorrection(output,s.lineno,i,ln); 50 lineNumberCorrection(output,s.lineno,i,ln);
51 output.remove(r); 51 output.remove(r);
65 65
66 private void lineNumberCorrection(List<REPCommand> opt, int ln, int count, int r){ 66 private void lineNumberCorrection(List<REPCommand> opt, int ln, int count, int r){
67 for(int i = r+1; i < count; i++){ 67 for(int i = r+1; i < count; i++){
68 REPCommand o = opt.get(i); 68 REPCommand o = opt.get(i);
69 if(o.lineno == 0){ 69 if(o.lineno == 0){
70 }else if(ln < o.lineno){ 70 }else if(ln <= o.lineno){
71 o.lineno -= 1; 71 o.lineno -= 1;
72 } 72 }
73 } 73 }
74 } 74 }
75 75