X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/QualifiedTypeReference.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/QualifiedTypeReference.java index 4e2d532..1cc409c 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/QualifiedTypeReference.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/QualifiedTypeReference.java @@ -1,16 +1,16 @@ /******************************************************************************* - * 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.ASTVisitor; import net.sourceforge.phpdt.internal.compiler.lookup.BlockScope; import net.sourceforge.phpdt.internal.compiler.lookup.ClassScope; import net.sourceforge.phpdt.internal.compiler.lookup.Scope; @@ -18,48 +18,69 @@ import net.sourceforge.phpdt.internal.compiler.lookup.TypeBinding; public class QualifiedTypeReference extends TypeReference { public char[][] tokens; + public long[] sourcePositions; -public QualifiedTypeReference(char[][] sources , long[] poss) { - tokens = sources ; - sourcePositions = poss ; - sourceStart = (int) (sourcePositions[0]>>>32) ; - sourceEnd = (int)(sourcePositions[sourcePositions.length-1] & 0x00000000FFFFFFFFL ) ; -} -public QualifiedTypeReference(char[][] sources , TypeBinding tb , long[] poss) { - this(sources,poss); - binding = tb; -} -public TypeReference copyDims(int dim){ - //return a type reference copy of me with some dimensions - //warning : the new type ref has a null binding - - return new ArrayQualifiedTypeReference(tokens,null,dim,sourcePositions) ; -} -public TypeBinding getTypeBinding(Scope scope) { - if (binding != null) - return binding; - return scope.getType(tokens); -} -public char[][] getTypeName(){ - return tokens; -} -public String toStringExpression(int tab) { - StringBuffer buffer = new StringBuffer(); - for (int i = 0; i < tokens.length; i++) { - buffer.append(tokens[i]); - if (i < (tokens.length - 1)) { - buffer.append("."); //$NON-NLS-1$ + public QualifiedTypeReference(char[][] sources, long[] poss) { + tokens = sources; + sourcePositions = poss; + sourceStart = (int) (sourcePositions[0] >>> 32); + sourceEnd = (int) (sourcePositions[sourcePositions.length - 1] & 0x00000000FFFFFFFFL); + } + + public QualifiedTypeReference(char[][] sources, TypeBinding type, + long[] poss) { + this(sources, poss); + this.resolvedType = type; + } + + public TypeReference copyDims(int dim) { + // return a type reference copy of me with some dimensions + // warning : the new type ref has a null binding + + return new ArrayQualifiedTypeReference(tokens, null, dim, + sourcePositions); + } + + public TypeBinding getTypeBinding(Scope scope) { + if (this.resolvedType != null) + return this.resolvedType; + return scope.getType(tokens); + } + + public char[][] getTypeName() { + + return tokens; + } + + public StringBuffer printExpression(int indent, StringBuffer output) { + + for (int i = 0; i < tokens.length; i++) { + if (i > 0) + output.append('.'); + output.append(tokens[i]); } + return output; + } + + public String toStringExpression(int tab) { + StringBuffer buffer = new StringBuffer(); + for (int i = 0; i < tokens.length; i++) { + buffer.append(tokens[i]); + if (i < (tokens.length - 1)) { + buffer.append("."); //$NON-NLS-1$ + } + } + return buffer.toString(); + } + + public void traverse(ASTVisitor visitor, BlockScope scope) { + visitor.visit(this, scope); + visitor.endVisit(this, scope); + } + + public void traverse(ASTVisitor visitor, ClassScope scope) { + visitor.visit(this, scope); + visitor.endVisit(this, scope); } - return buffer.toString(); -} -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); -} }