Skip to content

Commit 8324a5a

Browse files
SONARPY-1889 add new methods to ClassSymbol to get super classes info
1 parent a2ea1e1 commit 8324a5a

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

python-frontend/src/main/java/org/sonar/plugins/python/api/symbols/ClassSymbol.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727
import org.sonar.plugins.python.api.LocationInFile;
2828

2929
public interface ClassSymbol extends Symbol {
30+
@Beta
31+
List<String> superClassesFqn();
32+
3033
List<Symbol> superClasses();
3134

3235
boolean hasUnresolvedTypeHierarchy();

python-frontend/src/main/java/org/sonar/python/semantic/ClassSymbolImpl.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,15 @@ public ClassSymbolImpl copyWithoutUsages() {
198198
return copiedClassSymbol;
199199
}
200200

201+
@Override
202+
public List<String> superClassesFqn() {
203+
return superClassesFqns;
204+
}
205+
206+
public boolean shouldSearchHierarchyInTypeshed() {
207+
return !hasAlreadyReadSuperClasses && superClasses.isEmpty() && !superClassesFqns.isEmpty();
208+
}
209+
201210
@Override
202211
public List<Symbol> superClasses() {
203212
// In case of symbols coming from TypeShed protobuf, we resolve superclasses lazily

0 commit comments

Comments
 (0)