X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/SuperReference.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/SuperReference.java index 9c15de9..5610a74 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/SuperReference.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/SuperReference.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; @@ -16,48 +16,52 @@ import net.sourceforge.phpdt.internal.compiler.lookup.SourceTypeBinding; import net.sourceforge.phpdt.internal.compiler.lookup.TypeBinding; public class SuperReference extends ThisReference { - public static final SuperReference Super = new SuperReference(); - -/** - * SuperReference constructor comment. - */ -public SuperReference() { - super(); -} -public SuperReference(int pos, int sourceEnd) { - super(); - sourceStart = pos; - this.sourceEnd = sourceEnd; -} -public static ExplicitConstructorCall implicitSuperConstructorCall() { - return new ExplicitConstructorCall(ExplicitConstructorCall.ImplicitSuper); -} -public boolean isSuper() { - - return true; -} -public boolean isThis() { - - return false ; -} -public TypeBinding resolveType(BlockScope scope) { - constant = NotAConstant; - if (!checkAccess(scope.methodScope())) - return null; - SourceTypeBinding enclosingTb = scope.enclosingSourceType(); - if (scope.isJavaLangObject(enclosingTb)) { - scope.problemReporter().cannotUseSuperInJavaLangObject(this); - return null; - } - return enclosingTb.superclass; -} -public String toStringExpression(){ - return "super"; //$NON-NLS-1$ - -} -public void traverse(IAbstractSyntaxTreeVisitor visitor, BlockScope blockScope) { - visitor.visit(this, blockScope); - visitor.endVisit(this, blockScope); -} + public SuperReference(int sourceStart, int sourceEnd) { + super(sourceStart, sourceEnd); + } + + public static ExplicitConstructorCall implicitSuperConstructorCall() { + return new ExplicitConstructorCall( + ExplicitConstructorCall.ImplicitSuper); + } + + public boolean isImplicitThis() { + + return false; + } + + public boolean isSuper() { + + return true; + } + + public boolean isThis() { + + return false; + } + + public TypeBinding resolveType(BlockScope scope) { + constant = NotAConstant; + if (!checkAccess(scope.methodScope())) + return null; + SourceTypeBinding enclosingTb = scope.enclosingSourceType(); + if (scope.isJavaLangObject(enclosingTb)) { + scope.problemReporter().cannotUseSuperInJavaLangObject(this); + return null; + } + return this.resolvedType = enclosingTb.superclass; + } + + public String toStringExpression() { + + return "super"; //$NON-NLS-1$ + + } + + public void traverse(IAbstractSyntaxTreeVisitor visitor, + BlockScope blockScope) { + visitor.visit(this, blockScope); + visitor.endVisit(this, blockScope); + } }