Refactory: smarty.ui plugin.
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / DefaultCase.java
index 2a58b73..601562d 100644 (file)
@@ -1,18 +1,14 @@
-/*******************************************************************************
- * 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
+/***********************************************************************************************************************************
+ * 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 v1.0 which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
  * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
+ * 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.CaseLabel;
-import net.sourceforge.phpdt.internal.compiler.codegen.CodeStream;
 import net.sourceforge.phpdt.internal.compiler.flow.FlowContext;
 import net.sourceforge.phpdt.internal.compiler.flow.FlowInfo;
 import net.sourceforge.phpdt.internal.compiler.impl.Constant;
@@ -22,6 +18,7 @@ import net.sourceforge.phpdt.internal.compiler.lookup.TypeBinding;
 public class DefaultCase extends Statement {
 
        public CaseLabel targetLabel;
+
        /**
         * DefautCase constructor comment.
         */
@@ -31,45 +28,58 @@ public class DefaultCase extends Statement {
                this.sourceEnd = sourceEnd;
        }
 
-       public FlowInfo analyseCode(
-               BlockScope currentScope,
-               FlowContext flowContext,
-               FlowInfo flowInfo) {
+       public FlowInfo analyseCode(BlockScope currentScope,
+                       FlowContext flowContext, FlowInfo flowInfo) {
 
                return flowInfo;
        }
 
        /**
         * Default case code generation
-        *
-        * @param currentScope org.eclipse.jdt.internal.compiler.lookup.BlockScope
-        * @param codeStream org.eclipse.jdt.internal.compiler.codegen.CodeStream
+        * 
+        * @param currentScope
+        *            net.sourceforge.phpdt.internal.compiler.lookup.BlockScope
+        * @param codeStream
+        *            net.sourceforge.phpdt.internal.compiler.codegen.CodeStream
         */
-       public void generateCode(BlockScope currentScope, CodeStream codeStream) {
-
-               if ((bits & IsReachableMASK) == 0) {
-                       return;
-               }
-               int pc = codeStream.position;
-               targetLabel.place();
-               codeStream.recordPositionsFrom(pc, this.sourceStart);
-
+       // public void generateCode(BlockScope currentScope, CodeStream codeStream)
+       // {
+       //
+       // if ((bits & IsReachableMASK) == 0) {
+       // return;
+       // }
+       // int pc = codeStream.position;
+       // targetLabel.place();
+       // codeStream.recordPositionsFrom(pc, this.sourceStart);
+       //
+       // }
+       /**
+        * No-op : should use resolveCase(...) instead.
+        */
+       public void resolve(BlockScope scope) {
        }
-       public Constant resolveCase(
-               BlockScope scope,
-               TypeBinding testType,
-               SwitchStatement switchStatement) {
+
+       public Constant resolveCase(BlockScope scope, TypeBinding testType,
+                       SwitchStatement switchStatement) {
 
                // remember the default case into the associated switch statement
                if (switchStatement.defaultCase != null)
                        scope.problemReporter().duplicateDefaultCase(this);
 
-               // on error the last default will be the selected one .... (why not) ....       
+               // on error the last default will be the selected one .... (why not)
+               // ....
                switchStatement.defaultCase = this;
                resolve(scope);
                return null;
        }
 
+       public StringBuffer printStatement(int tab, StringBuffer output) {
+
+               printIndent(tab, output);
+               output.append("default : "); //$NON-NLS-1$
+               return output.append(';');
+       }
+
        public String toString(int tab) {
 
                String s = tabString(tab);
@@ -77,9 +87,8 @@ public class DefaultCase extends Statement {
                return s;
        }
 
-       public void traverse(
-               IAbstractSyntaxTreeVisitor visitor,
-               BlockScope blockScope) {
+       public void traverse(IAbstractSyntaxTreeVisitor visitor,
+                       BlockScope blockScope) {
 
                visitor.visit(this, blockScope);
                visitor.endVisit(this, blockScope);