Lines 53-58
Link Here
|
53 |
import java.util.Set; |
53 |
import java.util.Set; |
54 |
import java.util.concurrent.ConcurrentHashMap; |
54 |
import java.util.concurrent.ConcurrentHashMap; |
55 |
import org.netbeans.modules.cnd.api.model.CsmClass; |
55 |
import org.netbeans.modules.cnd.api.model.CsmClass; |
|
|
56 |
import org.netbeans.modules.cnd.api.model.CsmClassForwardDeclaration; |
56 |
import org.netbeans.modules.cnd.api.model.CsmClassifier; |
57 |
import org.netbeans.modules.cnd.api.model.CsmClassifier; |
57 |
import org.netbeans.modules.cnd.api.model.CsmFile; |
58 |
import org.netbeans.modules.cnd.api.model.CsmFile; |
58 |
import org.netbeans.modules.cnd.api.model.CsmInheritance; |
59 |
import org.netbeans.modules.cnd.api.model.CsmInheritance; |
Lines 93-99
Link Here
|
93 |
} |
94 |
} |
94 |
|
95 |
|
95 |
private Collection<CsmReference> getSubTypesImpl(CsmClass referencedClass, boolean directSubtypesOnly) { |
96 |
private Collection<CsmReference> getSubTypesImpl(CsmClass referencedClass, boolean directSubtypesOnly) { |
96 |
CsmFile file = referencedClass.getContainingFile(); |
97 |
CsmFile file = referencedClass.getContainingFile(); |
97 |
long fileVersion = CsmFileInfoQuery.getDefault().getFileVersion(file); |
98 |
long fileVersion = CsmFileInfoQuery.getDefault().getFileVersion(file); |
98 |
CsmProject project = file.getProject(); |
99 |
CsmProject project = file.getProject(); |
99 |
Map<CsmUID<CsmClass>,Set<CsmUID<CsmClass>>> fullMap = getOrCreateFullMap(project, fileVersion); |
100 |
Map<CsmUID<CsmClass>,Set<CsmUID<CsmClass>>> fullMap = getOrCreateFullMap(project, fileVersion); |
Lines 171-176
Link Here
|
171 |
for (CsmInheritance inh : project.findInheritances(referencedClass.getName())){ |
172 |
for (CsmInheritance inh : project.findInheritances(referencedClass.getName())){ |
172 |
CsmClassifier classifier = inh.getClassifier(); |
173 |
CsmClassifier classifier = inh.getClassifier(); |
173 |
if (classifier != null) { |
174 |
if (classifier != null) { |
|
|
175 |
if (CsmKindUtilities.isClassForwardDeclaration(classifier)) { |
176 |
CsmClass refferedClass = ((CsmClassForwardDeclaration) classifier).getCsmClass(); |
177 |
if (CsmKindUtilities.isClassifier(refferedClass)) { |
178 |
classifier = (CsmClassifier) referencedClass; |
179 |
} |
180 |
} |
174 |
if (CsmKindUtilities.isInstantiation(classifier)) { |
181 |
if (CsmKindUtilities.isInstantiation(classifier)) { |
175 |
CsmOffsetableDeclaration template = ((CsmInstantiation)classifier).getTemplateDeclaration(); |
182 |
CsmOffsetableDeclaration template = ((CsmInstantiation)classifier).getTemplateDeclaration(); |
176 |
if (CsmKindUtilities.isClassifier(template)) { |
183 |
if (CsmKindUtilities.isClassifier(template)) { |