a junit Testcase to test the parser
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / TrueLiteral.java
index a3f05ae..efc37a7 100644 (file)
@@ -1,70 +1,33 @@
-/*******************************************************************************
- * 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 java.util.List;
+import java.util.ArrayList;
 
+/**
+ * the true literal.
+ * @author Matthieu Casanova
+ */
 public class TrueLiteral extends MagicLiteral {
-       static final char[] source = {'t' , 'r' , 'u' , 'e'};
-public TrueLiteral(int s , int e) {
-       super(s,e);
-}
-public void computeConstant() {
 
-       constant = Constant.fromValue(true);}
-/**
- * Code generation for the true literal
- *
- * @param currentScope org.eclipse.jdt.internal.compiler.lookup.BlockScope
- * @param codeStream org.eclipse.jdt.internal.compiler.codegen.CodeStream
- * @param valueRequired boolean
- */ 
-public void generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) {
-       int pc = codeStream.position;
-       if (valueRequired)
-               codeStream.iconst_1();
-       codeStream.recordPositionsFrom(pc, this.sourceStart);
-}
-public void generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, Label trueLabel, Label falseLabel, boolean valueRequired) {
+  public static final char[] source = {'t', 'r', 'u', 'e'};
 
-       // trueLabel being not nil means that we will not fall through into the TRUE case
+  public TrueLiteral(final int sourceStart, final int sourceEnd) {
+    super(sourceStart, sourceEnd);
+  }
 
-       int pc = codeStream.position;
-       // constant == true
-       if (valueRequired) {
-               if (falseLabel == null) {
-                       // implicit falling through the FALSE case
-                       if (trueLabel != null) {
-                               codeStream.goto_(trueLabel);
-                       }
-               }
-       }
-       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);
-}
+  public char[] source() {
+    return source;
+  }
+
+  /**
+   * Return the expression as String.
+   * @return the expression
+   */
+  public String toStringExpression() {
+    return "true";//$NON-NLS-1$
+  }
+
+  public String toString() {
+    return "true";//$NON-NLS-1$
+  }
 }