diff --git a/src/be/jeffcheasey88/peeratcode/parser/java/Class.java b/src/be/jeffcheasey88/peeratcode/parser/java/Class.java index 28aa655..c31ef1d 100644 --- a/src/be/jeffcheasey88/peeratcode/parser/java/Class.java +++ b/src/be/jeffcheasey88/peeratcode/parser/java/Class.java @@ -41,18 +41,16 @@ public class Class{ int equals = indexOf(content,"="); if(quotes < braces && quotes < equals){ boolean quote = false; - Variable last = null; + Variable variable = null; do { - Variable variable = (last == null) ? new Variable() : new Variable(last.getModifier(), last.getType()); + variable = (variable == null) ? new Variable() : new Variable(variable.getModifier(), variable.getType()); int index = variable.parse(content, cleaner); this.vars.add(variable); content = content.substring(index); quote = content.startsWith(","); - if(quote) { - content = content.substring(1); - last = variable; - } + if(quote) content = content.substring(1); }while(quote); + content = content.substring(1); }else if(equals < braces){ //variable with value boolean quote = false; diff --git a/test/be/jeffcheasey88/peeratcode/parser/java/VariableTest.java b/test/be/jeffcheasey88/peeratcode/parser/java/VariableTest.java index dabbb89..3d19135 100644 --- a/test/be/jeffcheasey88/peeratcode/parser/java/VariableTest.java +++ b/test/be/jeffcheasey88/peeratcode/parser/java/VariableTest.java @@ -167,4 +167,24 @@ class VariableTest{ } } + @Test + void case9(){ + try { + Class clazz = new Class(); + clazz.parse(cleaner.clean("public class Test{ int i ,j,k,l; } "), cleaner); + + List vars = clazz.getVariables(); + assertEquals(vars.size(), 4); + for(int i = 0; i < 3; i++){ + Variable v = vars.get(i); + assertEquals(0, v.getModifier()); + assertEquals("int", v.getType()); + assertEquals((char)('i'+i), v.getName().charAt(0)); + assertNull(v.getValue()); + } + }catch(Exception e){ + fail(e); + } + } + }