KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > jdt > internal > codeassist > select > SelectionOnSuperReference


1 /*******************************************************************************
2  * Copyright (c) 2000, 2006 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  * IBM Corporation - initial API and implementation
10  *******************************************************************************/

11 package org.eclipse.jdt.internal.codeassist.select;
12
13 /*
14  * Selection node build by the parser in any case it was intending to
15  * reduce a super reference containing the assist identifier.
16  * e.g.
17  *
18  * class X extends Z {
19  * class Y {
20  * void foo() {
21  * [start]super[end].bar();
22  * }
23  * }
24  * }
25  *
26  * ---> class X {
27  * class Y {
28  * void foo() {
29  * <SelectOnQualifiedSuper:super>
30  * }
31  * }
32  * }
33  *
34  */

35
36 import org.eclipse.jdt.internal.compiler.ast.SuperReference;
37 import org.eclipse.jdt.internal.compiler.lookup.BlockScope;
38 import org.eclipse.jdt.internal.compiler.lookup.TypeBinding;
39
40 public class SelectionOnSuperReference extends SuperReference {
41
42 public SelectionOnSuperReference(int pos, int sourceEnd) {
43     super(pos, sourceEnd);
44 }
45 public StringBuffer JavaDoc printExpression(int indent, StringBuffer JavaDoc output){
46
47     output.append("<SelectOnSuper:"); //$NON-NLS-1$
48
return super.printExpression(0, output).append('>');
49 }
50 public TypeBinding resolveType(BlockScope scope) {
51     TypeBinding binding = super.resolveType(scope);
52
53     if (binding == null || !binding.isValidBinding())
54         throw new SelectionNodeFound();
55     else
56         throw new SelectionNodeFound(binding);
57 }
58 }
59
Popular Tags