java-decompiler: minor optimization
This commit is contained in:
parent
37422ead1c
commit
41b8ab9299
@ -220,7 +220,7 @@ public class ClassWriter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FIXME: fields don't matter at the moment
|
// FIXME: fields don't matter at the moment
|
||||||
total_offset_lines = buffer.substring(start_class_def).toString().split(lineSeparator, -1).length - 1;
|
total_offset_lines = buffer.count(lineSeparator, start_class_def);
|
||||||
|
|
||||||
// methods
|
// methods
|
||||||
for (StructMethod mt : cl.getMethods()) {
|
for (StructMethod mt : cl.getMethods()) {
|
||||||
@ -812,8 +812,7 @@ public class ClassWriter {
|
|||||||
|
|
||||||
if (root != null && !methodWrapper.decompiledWithErrors) { // check for existence
|
if (root != null && !methodWrapper.decompiledWithErrors) { // check for existence
|
||||||
try {
|
try {
|
||||||
|
tracer.incrementCurrentSourceLine(buffer.count(lineSeparator, start_index_method));
|
||||||
tracer.incrementCurrentSourceLine(buffer.substring(start_index_method).split(lineSeparator, -1).length - 1);
|
|
||||||
|
|
||||||
String code = root.toJava(indent + 1, tracer);
|
String code = root.toJava(indent + 1, tracer);
|
||||||
|
|
||||||
@ -842,7 +841,7 @@ public class ClassWriter {
|
|||||||
|
|
||||||
// save total lines
|
// save total lines
|
||||||
// TODO: optimize
|
// TODO: optimize
|
||||||
tracer.setCurrentSourceLine(buffer.substring(start_index_method).split(lineSeparator, -1).length - 1);
|
tracer.setCurrentSourceLine(buffer.count(lineSeparator, start_index_method));
|
||||||
|
|
||||||
return !hideMethod;
|
return !hideMethod;
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,10 @@ package org.jetbrains.java.decompiler.main;
|
|||||||
|
|
||||||
import org.jetbrains.java.decompiler.main.extern.IFernflowerPreferences;
|
import org.jetbrains.java.decompiler.main.extern.IFernflowerPreferences;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows to connect text with resulting lines
|
* Allows to connect text with resulting lines
|
||||||
@ -172,4 +175,13 @@ public class TextBuffer {
|
|||||||
}
|
}
|
||||||
myStringBuilder.insert(offset, s);
|
myStringBuilder.insert(offset, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int count(String substring, int from) {
|
||||||
|
int count = 0, length = substring.length(), p = from;
|
||||||
|
while ((p = myStringBuilder.indexOf(substring, p)) > 0) {
|
||||||
|
++count;
|
||||||
|
p += length;
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user