X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Feclipse%2Fjdt%2Finternal%2Fcompiler%2Fast%2FJavadocSingleNameReference.java;fp=src%2Forg%2Feclipse%2Fjdt%2Finternal%2Fcompiler%2Fast%2FJavadocSingleNameReference.java;h=5661217fd483723b0ee6da9c04bd6ca115337299;hb=040fa5af2cd00017cf3575950cdaade34a6d7f6c;hp=0000000000000000000000000000000000000000;hpb=a580fb8376d315d05e4d6bfdff9ff1101a151cd6;p=org.ibex.tool.git diff --git a/src/org/eclipse/jdt/internal/compiler/ast/JavadocSingleNameReference.java b/src/org/eclipse/jdt/internal/compiler/ast/JavadocSingleNameReference.java new file mode 100644 index 0000000..5661217 --- /dev/null +++ b/src/org/eclipse/jdt/internal/compiler/ast/JavadocSingleNameReference.java @@ -0,0 +1,58 @@ +/******************************************************************************* + * Copyright (c) 2000, 2004 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * 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-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.jdt.internal.compiler.ast; + +import org.eclipse.jdt.internal.compiler.ASTVisitor; +import org.eclipse.jdt.internal.compiler.lookup.*; + +public class JavadocSingleNameReference extends SingleNameReference { + + public int tagSourceStart, tagSourceEnd; + + public JavadocSingleNameReference(char[] name, int startPosition, int endPosition) { + super(name, (((long) startPosition) << 32) + endPosition); + this.bits |= InsideJavadoc; + } + + public void resolve(BlockScope scope) { + resolve(scope, true); + } + + /** + * Resolve without warnings + */ + public void resolve(BlockScope scope, boolean warn) { + + LocalVariableBinding variableBinding = scope.findVariable(this.token); + if (variableBinding != null && variableBinding.isValidBinding() && variableBinding.isArgument) { + this.binding = variableBinding; + return; + } + if (warn) { + try { + MethodScope methScope = (MethodScope) scope; + scope.problemReporter().javadocInvalidParamName(this, methScope.referenceMethod().modifiers); + } + catch (Exception e) { + scope.problemReporter().javadocInvalidParamName(this, -1); + } + } + } + + /* (non-Javadoc) + * Redefine to capture javadoc specific signatures + * @see org.eclipse.jdt.internal.compiler.ast.ASTNode#traverse(org.eclipse.jdt.internal.compiler.ASTVisitor, org.eclipse.jdt.internal.compiler.lookup.BlockScope) + */ + public void traverse(ASTVisitor visitor, BlockScope scope) { + visitor.visit(this, scope); + visitor.endVisit(this, scope); + } +}