Mercurial > hg > RemoteEditor > REPSessionManager
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 |