improved PHP parser
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / internal / compiler / ast / MessageSend.java
index bf10b1e..f3e9dfb 100644 (file)
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package net.sourceforge.phpeclipse.internal.compiler.ast;
 
-import net.sourceforge.phpdt.internal.compiler.IAbstractSyntaxTreeVisitor;
+import net.sourceforge.phpdt.internal.compiler.ASTVisitor;
 import net.sourceforge.phpdt.internal.compiler.flow.FlowContext;
 import net.sourceforge.phpdt.internal.compiler.flow.FlowInfo;
 import net.sourceforge.phpdt.internal.compiler.lookup.BindingIds;
@@ -57,8 +57,8 @@ public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, Fl
 /**
  * MessageSend code generation
  *
- * @param currentScope org.eclipse.jdt.internal.compiler.lookup.BlockScope
- * @param codeStream org.eclipse.jdt.internal.compiler.codegen.CodeStream
+ * @param currentScope net.sourceforge.phpdt.internal.compiler.lookup.BlockScope
+ * @param codeStream net.sourceforge.phpdt.internal.compiler.codegen.CodeStream
  * @param valueRequired boolean
  */ 
 //public void generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) {
@@ -172,7 +172,18 @@ public void manageSyntheticAccessIfNecessary(BlockScope currentScope){
 //             this.codegenBinding = currentScope.enclosingSourceType().getUpdatedMethodBinding(binding, (ReferenceBinding) this.qualifyingType);
 //     }
 }
-
+public StringBuffer printExpression(int indent, StringBuffer output){
+       
+       if (!receiver.isImplicitThis()) receiver.printExpression(0, output).append('.');
+       output.append(selector).append('(') ; //$NON-NLS-1$
+       if (arguments != null) {
+               for (int i = 0; i < arguments.length ; i ++) {  
+                       if (i > 0) output.append(", "); //$NON-NLS-1$
+                       arguments[i].printExpression(0, output);
+               }
+       }
+       return output.append(')');
+}
 public TypeBinding resolveType(BlockScope scope) {
        // Answer the signature return type
        // Base type promotion
@@ -287,7 +298,7 @@ public String toStringExpression(){
        return s;
 }
 
-public void traverse(IAbstractSyntaxTreeVisitor visitor, BlockScope blockScope) {
+public void traverse(ASTVisitor visitor, BlockScope blockScope) {
        if (visitor.visit(this, blockScope)) {
                receiver.traverse(visitor, blockScope);
                if (arguments != null) {