Refactored packagename to net.sourceforge.phpdt.internal.compiler.ast
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / ArrayTypeReference.java
index 6c812cc..fb4d932 100644 (file)
@@ -1,17 +1,19 @@
 /*******************************************************************************
- * 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.lookup.*;
+import net.sourceforge.phpdt.internal.compiler.lookup.BlockScope;
+import net.sourceforge.phpdt.internal.compiler.lookup.Scope;
+import net.sourceforge.phpdt.internal.compiler.lookup.TypeBinding;
 
 public class ArrayTypeReference extends SingleTypeReference {
        public int dimensions;
@@ -32,12 +34,15 @@ public int dimensions() {
        return dimensions;
 }
 public TypeBinding getTypeBinding(Scope scope) {
-       if (binding != null)
-               return binding;
+       if (this.resolvedType != null)
+               return this.resolvedType;
+       if (dimensions > 255) {
+               scope.problemReporter().tooManyDimensions(this);
+       }
        return scope.createArray(scope.getType(token), dimensions);
+
 }
 public String toStringExpression(int tab){
-       /* slow speed */
 
        String s = super.toStringExpression(tab)  ;
        if (dimensions == 1 ) return s + "[]" ; //$NON-NLS-1$