Index: ASTASField.java =================================================================== --- ASTASField.java (revision 653) +++ ASTASField.java (working copy) @@ -6,6 +6,10 @@ package uk.co.badgersinfoil.metaas.impl; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; + import org.asdt.core.internal.antlr.AS3Parser; import uk.co.badgersinfoil.metaas.SyntaxException; import uk.co.badgersinfoil.metaas.dom.ASExpression; Index: ASTASMember.java =================================================================== --- ASTASMember.java (revision 653) +++ ASTASMember.java (working copy) @@ -6,6 +6,9 @@ package uk.co.badgersinfoil.metaas.impl; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; import java.util.List; import org.asdt.core.internal.antlr.AS3Parser; import uk.co.badgersinfoil.metaas.dom.DocComment; @@ -64,6 +67,19 @@ modifiers.addChildWithTokens(modStatic); } } + + public String toString() { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + OutputStreamWriter pw = new OutputStreamWriter(baos); + ASTPrinter a = new ASTPrinter(pw); + a.printCurrent(ast); + try { + pw.close(); + } catch (IOException e) { + e.printStackTrace(); + } + return baos.toString(); + } public List getAllMetaTags() { return TagUtils.getAllMetaTags(ast); Index: ASTASMethod.java =================================================================== --- ASTASMethod.java (revision 653) +++ ASTASMethod.java (working copy) @@ -6,8 +6,13 @@ package uk.co.badgersinfoil.metaas.impl; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; import java.util.List; + import org.asdt.core.internal.antlr.AS3Parser; + import uk.co.badgersinfoil.metaas.SyntaxException; import uk.co.badgersinfoil.metaas.dom.ASArg; import uk.co.badgersinfoil.metaas.dom.ASBreakStatement; Index: ASTPrinter.java =================================================================== --- ASTPrinter.java (revision 653) +++ ASTPrinter.java (working copy) @@ -8,6 +8,9 @@ import java.io.PrintWriter; import java.io.Writer; + +import org.antlr.runtime.Token; + import uk.co.badgersinfoil.metaas.impl.antlr.LinkedListToken; import uk.co.badgersinfoil.metaas.impl.antlr.LinkedListTree; @@ -25,6 +28,12 @@ print(tok); } } + + public void printCurrent(LinkedListTree ast) { + for (LinkedListToken tok=ast.getStartToken(); tok.getPrev()!=ast.getStopToken(); tok=tok.getNext()) { + print(tok); + } + } private LinkedListToken findStart(LinkedListTree ast) { LinkedListToken result = null; @@ -37,8 +46,14 @@ private boolean viable(LinkedListToken tok) { return tok != null && tok.getType() != LinkedListToken.EOF; } + + public void print(Token tok) { + if (tok.getText() != null) { + out.write(tok.getText()); + } + } - private void print(LinkedListToken tok) { + public void print(LinkedListToken tok) { if (tok.getText() != null) { out.write(tok.getText()); }