diff --git a/src/dev/peerat/parser/ElementBuilder.java b/src/dev/peerat/parser/ElementBuilder.java index ab08a8f..ce87604 100644 --- a/src/dev/peerat/parser/ElementBuilder.java +++ b/src/dev/peerat/parser/ElementBuilder.java @@ -28,7 +28,20 @@ public interface ElementBuilder{ } public void build(BufferedWriter writer) throws Exception{ - + int character = 1; + int line = 1; + for(Token token : tokens){ + while(character < token.getCharacterNumber()){ + writer.write(" "); + character++; + } + while(line < token.getLineNumber()){ + writer.write("\n"); + line++; + } + writer.write(token.getValue()); + character+=token.getValue().length(); + } } } } \ No newline at end of file diff --git a/src/dev/peerat/parser/java/Class.java b/src/dev/peerat/parser/java/Class.java index 5503c08..dc3007e 100644 --- a/src/dev/peerat/parser/java/Class.java +++ b/src/dev/peerat/parser/java/Class.java @@ -61,7 +61,7 @@ public class Class extends ClassBase{ public void build(Builder builder) throws Exception{ super.build(builder); - builder.append("class"); + builder.append("class "); builder.append(name); if(extend != null){ builder.append(" extends "); diff --git a/src/dev/peerat/parser/java/Function.java b/src/dev/peerat/parser/java/Function.java index 93f8b54..7681541 100644 --- a/src/dev/peerat/parser/java/Function.java +++ b/src/dev/peerat/parser/java/Function.java @@ -95,8 +95,13 @@ public class Function extends Annotable implements VariableContainer, OperationC super.build(builder); String mod = Modifier.toString(this.mod); builder.append(new Token(type.getLineNumber(), type.getCharacterNumber()-(mod.length()+1), mod, TokenType.GROUP)); - if(generic != null) builder.append(generic); + builder.append(" "); + if(generic != null){ + builder.append(generic); + builder.append(" "); + } builder.append(type); + builder.append(" "); builder.append(name); builder.append("("); if(parameters != null){ diff --git a/src/dev/peerat/parser/java/Variable.java b/src/dev/peerat/parser/java/Variable.java index cbb5537..7b51f32 100644 --- a/src/dev/peerat/parser/java/Variable.java +++ b/src/dev/peerat/parser/java/Variable.java @@ -71,8 +71,10 @@ public class Variable extends Annotable{ String mod = Modifier.toString(this.mod); builder.append(new Token(type.getLineNumber(), type.getCharacterNumber()-(mod.length()+1), mod, TokenType.GROUP)); + builder.append(" "); builder.append(type); if(elips) builder.append("..."); + builder.append(" "); builder.append(name); if(value != null){ builder.append("=");