Refactory: smarty.ui plugin.
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / DoubleLiteral.java
index 3e7fba0..6cb5a24 100644 (file)
@@ -1,71 +1,95 @@
 /*******************************************************************************
- * 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.impl.*;
-import net.sourceforge.phpdt.internal.compiler.codegen.*;
-import net.sourceforge.phpdt.internal.compiler.lookup.*;
+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 DoubleLiteral extends NumberLiteral {
        double value;
-public DoubleLiteral(char[] token, int s, int e) {
-       super(token, s,e);
-}
-public void computeConstant() {
 
-       //the source is correctly formated so the exception should never occurs
+       public DoubleLiteral(char[] token, int s, int e) {
+               super(token, s, e);
+       }
 
-       Double computedValue;
-       try { computedValue = Double.valueOf(String.valueOf(source));}
-       catch(NumberFormatException e){return ;} //how can it happen ????
+       public void computeConstant() {
 
-       if (computedValue.doubleValue() > Double.MAX_VALUE) return ; //may be Infinity
-       if (computedValue.doubleValue() < Double.MIN_VALUE)
-       {       //only a true 0 can be made of zeros :-)
-               //2.00000000000000000e-324 is illegal .... 
-               label :
-                       for (int i=0;i<source.length;i++)
-                       {       //it is welled formated so just test against '0' and potential . D d  
-                               switch (source[i]){
-                                       case '0' :
-                                       case '.' :
-                                       case 'd' :
-                                       case 'D' : break ;
-                                       case 'e' : 
-                                       case 'E' : break label ; //exposant are valid....!
-                                       default  : return;}}} //error
+               // the source is correctly formated so the exception should never occurs
 
-       constant = Constant.fromValue(value = computedValue.doubleValue());}
-/**
- * Code generation for the double literak
- *
- * @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_double)
-                       codeStream.generateInlinedValue(value);
-               else
-                       codeStream.generateConstant(constant, implicitConversion);
-       codeStream.recordPositionsFrom(pc, this.sourceStart);
-}
-public TypeBinding literalType(BlockScope scope) {
-       return DoubleBinding;
-}
-public void traverse(IAbstractSyntaxTreeVisitor visitor, BlockScope blockScope) {
-       visitor.visit(this, blockScope);
-       visitor.endVisit(this, blockScope);
-}
+               Double computedValue;
+               try {
+                       computedValue = Double.valueOf(String.valueOf(source));
+               } catch (NumberFormatException e) {
+                       return;
+               } // how can it happen ????
+
+               if (computedValue.doubleValue() > Double.MAX_VALUE)
+                       return; // may be Infinity
+               if (computedValue.doubleValue() < Double.MIN_VALUE) { // only a true 0
+                                                                                                                               // can be made
+                                                                                                                               // of zeros
+                       // 2.00000000000000000e-324 is illegal ....
+                       label: for (int i = 0; i < source.length; i++) { // it is welled
+                                                                                                                               // formated so
+                                                                                                                               // just test
+                                                                                                                               // against '0'
+                                                                                                                               // and potential
+                                                                                                                               // . D d
+                               switch (source[i]) {
+                               case '0':
+                               case '.':
+                               case 'd':
+                               case 'D':
+                                       break;
+                               case 'e':
+                               case 'E':
+                                       break label; // exposant are valid....!
+                               default:
+                                       return;
+                               }
+                       }
+               } // error
+
+               constant = Constant.fromValue(value = computedValue.doubleValue());
+       }
+
+       /**
+        * Code generation for the double literak
+        * 
+        * @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_double)
+       // codeStream.generateInlinedValue(value);
+       // else
+       // codeStream.generateConstant(constant, implicitConversion);
+       // codeStream.recordPositionsFrom(pc, this.sourceStart);
+       // }
+       public TypeBinding literalType(BlockScope scope) {
+               return DoubleBinding;
+       }
+
+       public void traverse(IAbstractSyntaxTreeVisitor visitor,
+                       BlockScope blockScope) {
+               visitor.visit(this, blockScope);
+               visitor.endVisit(this, blockScope);
+       }
 }