X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/internal/compiler/ast/Expression.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/internal/compiler/ast/Expression.java index cdeb2ae..effc5d9 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/internal/compiler/ast/Expression.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/internal/compiler/ast/Expression.java @@ -10,17 +10,14 @@ *******************************************************************************/ package net.sourceforge.phpeclipse.internal.compiler.ast; -import net.sourceforge.phpdt.internal.compiler.codegen.Label; import net.sourceforge.phpdt.internal.compiler.flow.FlowContext; import net.sourceforge.phpdt.internal.compiler.flow.FlowInfo; import net.sourceforge.phpdt.internal.compiler.impl.Constant; import net.sourceforge.phpdt.internal.compiler.lookup.BaseTypeBinding; import net.sourceforge.phpdt.internal.compiler.lookup.BlockScope; import net.sourceforge.phpdt.internal.compiler.lookup.TypeBinding; -import net.sourceforge.phpdt.internal.compiler.problem.ShouldNotImplement; -import net.sourceforge.phpdt.internal.compiler.util.Util; -public abstract class Expression extends Statement { +public class Expression extends Statement { //some expression may not be used - from a java semantic point //of view only - as statements. Other may. In order to avoid the creation @@ -217,8 +214,8 @@ public abstract class Expression extends Statement { * Expression statements are plain expressions, however they generate like * normal expressions with no value required. * - * @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 */ // public void generateCode(BlockScope currentScope, CodeStream codeStream) { // @@ -231,8 +228,8 @@ public abstract class Expression extends Statement { /** * Every expression is responsible for generating its implicit conversion when necessary. * - * @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( @@ -247,7 +244,7 @@ public abstract class Expression extends Statement { // codeStream.recordPositionsFrom(pc, this.sourceStart); // } else { // // actual non-constant code generation -// throw new ShouldNotImplement(Util.bind("ast.missingCode")); //$NON-NLS-1$ +// throw new ShouldNotImplement(ProjectPrefUtil.bind("ast.missingCode")); //$NON-NLS-1$ // } // } @@ -318,7 +315,7 @@ public abstract class Expression extends Statement { // */ // public void generateOptimizedStringBuffer( // BlockScope blockScope, -// org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream, +// net.sourceforge.phpdt.internal.compiler.codegen.CodeStream codeStream, // int typeID) { // // generateCode(blockScope, codeStream, true); @@ -429,7 +426,19 @@ public abstract class Expression extends Statement { public boolean isTypeReference() { return false; } + public StringBuffer print(int indent, StringBuffer output) { + printIndent(indent, output); + return printExpression(indent, output); + } + public StringBuffer printExpression(int indent, StringBuffer output) { + output.append(super.toString(0)); + return output; + } + + public StringBuffer printStatement(int indent, StringBuffer output) { + return print(indent, output).append(";"); //$NON-NLS-1$ + } public void resolve(BlockScope scope) { // drops the returning expression's type whatever the type is.