Refactory: smarty.ui plugin.
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / FloatLiteral.java
index 64035d5..cbffad5 100644 (file)
@@ -15,71 +15,82 @@ 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 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);
-}
 }