X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArrayQualifiedTypeReference.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArrayQualifiedTypeReference.java index 146c229..b8f27aa 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArrayQualifiedTypeReference.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArrayQualifiedTypeReference.java @@ -1,13 +1,13 @@ /******************************************************************************* - * 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; @@ -18,37 +18,49 @@ import net.sourceforge.phpdt.internal.compiler.lookup.TypeBinding; public class ArrayQualifiedTypeReference extends QualifiedTypeReference { int dimensions; -public ArrayQualifiedTypeReference(char[][] sources , int dim, long[] poss) { - super( sources , poss); - dimensions = dim ; -} -public ArrayQualifiedTypeReference(char[][] sources , TypeBinding tb, int dim, long[] poss) { - super( sources , tb, poss); - dimensions = dim ; -} -public int dimensions() { - return dimensions; -} -public TypeBinding getTypeBinding(Scope scope) { - if (binding != null) - return binding; - return scope.createArray(scope.getType(tokens), dimensions); -} -public String toStringExpression(int tab){ - /* slow speed */ - - String s = super.toStringExpression(tab) ; - if (dimensions == 1 ) return s + "[]" ; //$NON-NLS-1$ - for (int i=1 ; i <= dimensions ; i++) - s = s + "[]" ; //$NON-NLS-1$ - return s ; -} -public void traverse(IAbstractSyntaxTreeVisitor visitor, BlockScope scope) { - visitor.visit(this, scope); - visitor.endVisit(this, scope); -} -public void traverse(IAbstractSyntaxTreeVisitor visitor, ClassScope scope) { - visitor.visit(this, scope); - visitor.endVisit(this, scope); -} + + public ArrayQualifiedTypeReference(char[][] sources, int dim, long[] poss) { + super(sources, poss); + dimensions = dim; + } + + public ArrayQualifiedTypeReference(char[][] sources, TypeBinding tb, + int dim, long[] poss) { + super(sources, tb, poss); + dimensions = dim; + } + + public int dimensions() { + return dimensions; + } + + public TypeBinding getTypeBinding(Scope scope) { + if (this.resolvedType != null) + return this.resolvedType; + if (dimensions > 255) { + scope.problemReporter().tooManyDimensions(this); + } + return scope.createArray(scope.getType(tokens), dimensions); + } + + public String toStringExpression(int tab) { + /* slow speed */ + + String s = super.toStringExpression(tab); + if (dimensions == 1) + return s + "[]"; //$NON-NLS-1$ + for (int i = 1; i <= dimensions; i++) + s = s + "[]"; //$NON-NLS-1$ + return s; + } + + public void traverse(IAbstractSyntaxTreeVisitor visitor, BlockScope scope) { + visitor.visit(this, scope); + visitor.endVisit(this, scope); + } + + public void traverse(IAbstractSyntaxTreeVisitor visitor, ClassScope scope) { + visitor.visit(this, scope); + visitor.endVisit(this, scope); + } }