Changes:
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / FalseLiteral.java
index 571f074..ec7be4b 100644 (file)
@@ -1,69 +1,25 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2001, 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
 package net.sourceforge.phpdt.internal.compiler.ast;
 
-import net.sourceforge.phpdt.internal.compiler.IAbstractSyntaxTreeVisitor;
-import net.sourceforge.phpdt.internal.compiler.codegen.CodeStream;
-import net.sourceforge.phpdt.internal.compiler.codegen.Label;
-import net.sourceforge.phpdt.internal.compiler.impl.Constant;
-import net.sourceforge.phpdt.internal.compiler.lookup.BlockScope;
-import net.sourceforge.phpdt.internal.compiler.lookup.TypeBinding;
+import test.Token;
 
-public class FalseLiteral extends MagicLiteral {
-       static final char[] source = {'f', 'a', 'l', 's', 'e'};
-public FalseLiteral(int s , int e) {
-       super(s,e);
-}
-public void computeConstant() {
-
-       constant = Constant.fromValue(false);}
 /**
- * Code generation for false literal
- *
- * @param currentScope org.eclipse.jdt.internal.compiler.lookup.BlockScope
- * @param codeStream org.eclipse.jdt.internal.compiler.codegen.CodeStream
- * @param valueRequired boolean
+ * @author Matthieu Casanova
  */
-public void generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) {
-       int pc = codeStream.position;
-       if (valueRequired)
-               codeStream.iconst_0();
-       codeStream.recordPositionsFrom(pc, this.sourceStart);
-}
-public void generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, Label trueLabel, Label falseLabel, boolean valueRequired) {
+public class FalseLiteral extends MagicLiteral {
 
-       // falseLabel being not nil means that we will not fall through into the FALSE case
+  public FalseLiteral(final Token token) {
+    super(token.sourceStart, token.sourceEnd);
+  }
 
-       int pc = codeStream.position;
-       if (valueRequired) {
-               if (falseLabel != null) {
-                       // implicit falling through the TRUE case
-                       if (trueLabel == null) {
-                               codeStream.goto_(falseLabel);
-                       }
-               }
-       }
-       codeStream.recordPositionsFrom(pc, this.sourceStart);
-}
-public TypeBinding literalType(BlockScope scope) {
-       return BooleanBinding;
-}
-/**
- * 
- */
-public char[] source() {
-       return source;
-}
-public void traverse(IAbstractSyntaxTreeVisitor visitor, BlockScope scope) {
-       visitor.visit(this, scope);
-       visitor.endVisit(this, scope);
-}
-}
+  /**
+   * Return the expression as String.
+   * @return the expression
+   */
+  public String toStringExpression() {
+    return "false";//$NON-NLS-1$
+  }
+
+  public String toString() {
+    return "false";//$NON-NLS-1$
+  }
+}
\ No newline at end of file