1 package net.sourceforge.pmd.cpd.cppast;
2
3 import java.util.Vector;
4
5 /***
6 * Class scope extends Scope in that its search method also searches all its
7 * superclasses.
8 */
9
10 public class ClassScope extends Scope
11 {
12 /***
13 * The list of scopes corresponding to classes this class inherits.
14 */
15 Vector superClasses;
16
17 /***
18 * Add a super class.
19 */
20 public void AddSuper(Scope sc)
21 {
22 if (sc == null)
23 return;
24
25 if (superClasses == null)
26 superClasses = new Vector();
27
28 superClasses.addElement(sc);
29 }
30
31 /***
32 * Overrides the method in Scope. It also searches in the inherited classes'
33 * scopes also.
34 */
35 public boolean IsTypeName(String name)
36 {
37 if (super.IsTypeName(name))
38 return true;
39
40 if (superClasses == null)
41 return false;
42
43 for (int i = 0; i < superClasses.size(); i++)
44 if (((Scope)superClasses.elementAt(i)).IsTypeName(name))
45 return true;
46
47 return false;
48 }
49
50 /***
51 * Creates a new class scope in a given scope.
52 */
53 public ClassScope(String name, Scope parent)
54 {
55 super(name, true, parent);
56 }
57 }
This page was automatically generated by Maven