Write builder cache in file
This commit is contained in:
parent
34b7419af9
commit
f4caa735b2
4 changed files with 23 additions and 3 deletions
|
@ -28,7 +28,20 @@ public interface ElementBuilder{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void build(BufferedWriter writer) throws Exception{
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -61,7 +61,7 @@ public class Class extends ClassBase{
|
||||||
public void build(Builder builder) throws Exception{
|
public void build(Builder builder) throws Exception{
|
||||||
super.build(builder);
|
super.build(builder);
|
||||||
|
|
||||||
builder.append("class");
|
builder.append("class ");
|
||||||
builder.append(name);
|
builder.append(name);
|
||||||
if(extend != null){
|
if(extend != null){
|
||||||
builder.append(" extends ");
|
builder.append(" extends ");
|
||||||
|
|
|
@ -95,8 +95,13 @@ public class Function extends Annotable implements VariableContainer, OperationC
|
||||||
super.build(builder);
|
super.build(builder);
|
||||||
String mod = Modifier.toString(this.mod);
|
String mod = Modifier.toString(this.mod);
|
||||||
builder.append(new Token(type.getLineNumber(), type.getCharacterNumber()-(mod.length()+1), mod, TokenType.GROUP));
|
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(type);
|
||||||
|
builder.append(" ");
|
||||||
builder.append(name);
|
builder.append(name);
|
||||||
builder.append("(");
|
builder.append("(");
|
||||||
if(parameters != null){
|
if(parameters != null){
|
||||||
|
|
|
@ -71,8 +71,10 @@ public class Variable extends Annotable{
|
||||||
|
|
||||||
String mod = Modifier.toString(this.mod);
|
String mod = Modifier.toString(this.mod);
|
||||||
builder.append(new Token(type.getLineNumber(), type.getCharacterNumber()-(mod.length()+1), mod, TokenType.GROUP));
|
builder.append(new Token(type.getLineNumber(), type.getCharacterNumber()-(mod.length()+1), mod, TokenType.GROUP));
|
||||||
|
builder.append(" ");
|
||||||
builder.append(type);
|
builder.append(type);
|
||||||
if(elips) builder.append("...");
|
if(elips) builder.append("...");
|
||||||
|
builder.append(" ");
|
||||||
builder.append(name);
|
builder.append(name);
|
||||||
if(value != null){
|
if(value != null){
|
||||||
builder.append("=");
|
builder.append("=");
|
||||||
|
|
Loading…
Add table
Reference in a new issue