1) Moved net.sourceforge.phpeclipse.ui\src\net\sourceforge\phpdt back to net.sourcefo...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / FloatLiteral.java
index 4d407c1..cbffad5 100644 (file)
@@ -1,85 +1,96 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2001, 2002 International Business Machines Corp. and others.
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
+ * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
+ * http://www.eclipse.org/legal/cpl-v10.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.impl.Constant;
 import net.sourceforge.phpdt.internal.compiler.lookup.BlockScope;
 import net.sourceforge.phpdt.internal.compiler.lookup.TypeBinding;
 
 public class FloatLiteral extends NumberLiteral {
        float value;
-       final static float Float_MIN_VALUE = Float.intBitsToFloat(1); // work-around VAJ problem 1F6IGUU
-public FloatLiteral(char[] token, int s, int e) {
-       super(token, s,e);
-}
-public void computeConstant() {
-
-       //the source is correctly formated so the exception should never occurs
 
-       Float computedValue;
-       try {
-               computedValue = Float.valueOf(String.valueOf(source));
-       } catch (NumberFormatException e) {
-               return;
-       } 
+       final static float Float_MIN_VALUE = Float.intBitsToFloat(1); // work-around
+                                                                                                                                       // VAJ
+                                                                                                                                       // problem
+                                                                                                                                       // 1F6IGUU
 
-       if (computedValue.doubleValue() > Float.MAX_VALUE){
-               return; //may be Infinity
+       public FloatLiteral(char[] token, int s, int e) {
+               super(token, s, e);
        }
-       if (computedValue.floatValue() < Float_MIN_VALUE){
-               // see 1F6IGUU
-               //only a true 0 can be made of zeros
-               //1.00000000e-46f is illegal ....
-               label : for (int i = 0; i < source.length; i++) { 
-                       switch (source[i]) {
-                               case '.' :
-                               case 'f' :
-                               case 'F' :
-                               case '0' :
-                                       break;
-                               case 'e' :
-                               case 'E' :
-                                       break label; //exposant are valid !....
-                               default :
-                                       return; //error
 
+       public void computeConstant() {
+
+               // the source is correctly formated so the exception should never occurs
+
+               Float computedValue;
+               try {
+                       computedValue = Float.valueOf(String.valueOf(source));
+               } catch (NumberFormatException e) {
+                       return;
+               }
+
+               if (computedValue.doubleValue() > Float.MAX_VALUE) {
+                       return; // may be Infinity
+               }
+               if (computedValue.floatValue() < Float_MIN_VALUE) {
+                       // see 1F6IGUU
+                       // only a true 0 can be made of zeros
+                       // 1.00000000e-46f is illegal ....
+                       label: for (int i = 0; i < source.length; i++) {
+                               switch (source[i]) {
+                               case '.':
+                               case 'f':
+                               case 'F':
+                               case '0':
+                                       break;
+                               case 'e':
+                               case 'E':
+                                       break label; // exposant are valid !....
+                               default:
+                                       return; // error
 
+                               }
                        }
                }
+               constant = Constant.fromValue(value = computedValue.floatValue());
+       }
+
+       /**
+        * Code generation for float literal
+        * 
+        * @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) {
+       // int pc = codeStream.position;
+       // if (valueRequired)
+       // if ((implicitConversion >> 4) == T_float)
+       // codeStream.generateInlinedValue(value);
+       // else
+       // codeStream.generateConstant(constant, implicitConversion);
+       // codeStream.recordPositionsFrom(pc, this.sourceStart);
+       // }
+       public TypeBinding literalType(BlockScope scope) {
+               return FloatBinding;
+       }
+
+       public void traverse(IAbstractSyntaxTreeVisitor visitor,
+                       BlockScope blockScope) {
+               visitor.visit(this, blockScope);
+               visitor.endVisit(this, blockScope);
        }
-       constant = Constant.fromValue(value = computedValue.floatValue());
-}
-/**
- * Code generation for float 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)
-               if ((implicitConversion >> 4) == T_float)
-                       codeStream.generateInlinedValue(value);
-               else
-                       codeStream.generateConstant(constant, implicitConversion);
-       codeStream.recordPositionsFrom(pc, this.sourceStart);
-}
-public TypeBinding literalType(BlockScope scope) {
-       return FloatBinding;
-}
-public void traverse(IAbstractSyntaxTreeVisitor visitor, BlockScope blockScope) {
-       visitor.visit(this, blockScope);
-       visitor.endVisit(this, blockScope);
-}
 }