From f82787d8f636237b0ee74d75e72d4291ade2ce8b Mon Sep 17 00:00:00 2001 From: delwi Date: Mon, 8 Feb 1999 16:00:56 +0000 Subject: [PATCH] Make local variabe parameter names disjunct git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@228 379699f6-c40d-0410-875b-85095c16579e --- jode/jode/decompiler/CodeAnalyzer.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/jode/jode/decompiler/CodeAnalyzer.java b/jode/jode/decompiler/CodeAnalyzer.java index dd2eb49..f59e604 100644 --- a/jode/jode/decompiler/CodeAnalyzer.java +++ b/jode/jode/decompiler/CodeAnalyzer.java @@ -197,7 +197,16 @@ public class CodeAnalyzer implements Analyzer { if (!li.isShadow()) li.getType().useType(); } - methodHeader.makeDeclaration(new jode.flow.VariableSet(param)); + for (int i=0; i < param.length; i++) { + for (int j=0; j < i; j++) { + if (param[j].getName().equals(param[i].getName())) { + /* A name conflict happened. */ + param[i].makeNameUnique(); + break; /* j */ + } + } + } + methodHeader.makeDeclaration(new jode.flow.VariableSet(param)); } public void dumpSource(TabbedPrintWriter writer)