| package org.eclipse.jdt.internal.compiler.ast; |
| |
| /* |
| * (c) Copyright IBM Corp. 2000, 2001. |
| * All Rights Reserved. |
| */ |
| import org.eclipse.jdt.internal.compiler.IAbstractSyntaxTreeVisitor; |
| import org.eclipse.jdt.internal.compiler.lookup.*; |
| |
| public class ArrayTypeReference extends SingleTypeReference { |
| public int dimensions; |
| /** |
| * ArrayTypeReference constructor comment. |
| * @param source char[] |
| * @param dim int |
| * @param pos int |
| */ |
| public ArrayTypeReference(char[] source, int dim, long pos) { |
| super(source, pos); |
| dimensions = dim ; |
| } |
| public ArrayTypeReference(char[] source, TypeBinding tb, int dim, long pos) { |
| super(source, tb, pos); |
| dimensions = dim ;} |
| public int dimensions() { |
| return dimensions; |
| } |
| public TypeBinding getTypeBinding(Scope scope) { |
| if (binding != null) |
| return binding; |
| return scope.createArray(scope.getType(token), dimensions); |
| } |
| public String toStringExpression(int tab){ |
| /* slow speed */ |
| |
| String s = super.toStringExpression(tab) ; |
| if (dimensions == 1 ) return s + "[]"/*nonNLS*/ ; |
| for (int i=1 ; i <= dimensions ; i++) |
| s = s + "[]"/*nonNLS*/ ; |
| return s ; |
| } |
| public void traverse(IAbstractSyntaxTreeVisitor visitor, BlockScope scope) { |
| visitor.visit(this, scope); |
| visitor.endVisit(this, scope); |
| } |
| } |