Minor: code cleanup

This commit is contained in:
Dmitry Petrov
2017-07-27 14:38:07 +03:00
parent 5df461c7e0
commit c8bc2d9d16
@@ -146,10 +146,10 @@ open class MethodAnalyzer<V : Value>(
} }
catch (e: AnalyzerException) { catch (e: AnalyzerException) {
throw AnalyzerException(e.node, "Error at instruction #" + insn + " ${insnNode.insnText}: " + e.message, e) throw AnalyzerException(e.node, "Error at instruction #$insn ${insnNode.insnText}: ${e.message}", e)
} }
catch (e: Exception) { catch (e: Exception) {
throw AnalyzerException(insnNode, "Error at instruction #" + insn + " ${insnNode.insnText}: " + e.message, e) throw AnalyzerException(insnNode, "Error at instruction #$insn ${insnNode.insnText}: ${e.message}", e)
} }
} }
@@ -236,7 +236,7 @@ open class MethodAnalyzer<V : Value>(
for (tcb in m.tryCatchBlocks) { for (tcb in m.tryCatchBlocks) {
val begin = instructions.indexOf(tcb.start) val begin = instructions.indexOf(tcb.start)
val end = instructions.indexOf(tcb.end) val end = instructions.indexOf(tcb.end)
for (j in begin..end - 1) { for (j in begin until end) {
var insnHandlers: MutableList<TryCatchBlockNode>? = handlers[j] var insnHandlers: MutableList<TryCatchBlockNode>? = handlers[j]
if (insnHandlers == null) { if (insnHandlers == null) {
insnHandlers = ArrayList<TryCatchBlockNode>() insnHandlers = ArrayList<TryCatchBlockNode>()
@@ -249,15 +249,13 @@ open class MethodAnalyzer<V : Value>(
private fun mergeControlFlowEdge(insn: Int, frame: Frame<V>) { private fun mergeControlFlowEdge(insn: Int, frame: Frame<V>) {
val oldFrame = frames[insn] val oldFrame = frames[insn]
val changes: Boolean val changes =
if (oldFrame != null)
if (oldFrame == null) { oldFrame.merge(frame, interpreter)
frames[insn] = newFrame(frame) else {
changes = true frames[insn] = newFrame(frame)
} true
else { }
changes = oldFrame.merge(frame, interpreter)
}
if (changes && !queued[insn]) { if (changes && !queued[insn]) {
queued[insn] = true queued[insn] = true
queue[top++] = insn queue[top++] = insn