Skip to content

Commit d02edac

Browse files
maksim-grebeniuk-sonarsourcesonartech
authored andcommitted
SONARPY-2822 Rollback sharing of the ProjectLevelTypeTable across files rules execution (#228)
GitOrigin-RevId: 30a0ccdcbbe75732e85d1f375842808b1e08d1bc
1 parent 4faf19a commit d02edac

3 files changed

Lines changed: 1 addition & 12 deletions

File tree

python-commons/src/main/java/org/sonar/plugins/python/PythonScanner.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ protected void scanFile(PythonInputFile inputFile) throws IOException {
118118
getWorkingDirectory(context),
119119
indexer.packageName(inputFile),
120120
indexer.projectLevelSymbolTable(),
121-
indexer.projectLevelTypeTable(),
122121
indexer.cacheContext(),
123122
context.runtime().getProduct());
124123
if (fileType == InputFile.Type.MAIN) {

python-commons/src/main/java/org/sonar/plugins/python/indexer/PythonIndexer.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,11 @@ public abstract class PythonIndexer {
5656
private final Map<URI, String> packageNames = new ConcurrentHashMap<>();
5757
private final Supplier<PythonParser> parserSupplier = PythonParser::create;
5858
private final ProjectLevelSymbolTable projectLevelSymbolTable = ProjectLevelSymbolTable.empty();
59-
private final ProjectLevelTypeTable projectLevelTypeTable = new ProjectLevelTypeTable(projectLevelSymbolTable);
6059

6160
public ProjectLevelSymbolTable projectLevelSymbolTable() {
6261
return projectLevelSymbolTable;
6362
}
6463

65-
public ProjectLevelTypeTable projectLevelTypeTable() {
66-
return projectLevelTypeTable;
67-
}
68-
6964
public String packageName(PythonInputFile inputFile) {
7065
if (!packageNames.containsKey(inputFile.wrappedFile().uri())) {
7166
String name = pythonPackageName(inputFile.wrappedFile().file(), projectBaseDirAbsolutePath);

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

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,17 +77,12 @@ public PythonVisitorContext(FileInput rootTree, PythonFile pythonFile, @Nullable
7777

7878
public PythonVisitorContext(FileInput rootTree, PythonFile pythonFile, @Nullable File workingDirectory, String packageName,
7979
ProjectLevelSymbolTable projectLevelSymbolTable, CacheContext cacheContext, SonarProduct sonarProduct) {
80-
this(rootTree, pythonFile, workingDirectory, packageName, projectLevelSymbolTable, new ProjectLevelTypeTable(projectLevelSymbolTable), cacheContext, sonarProduct);
81-
}
82-
83-
public PythonVisitorContext(FileInput rootTree, PythonFile pythonFile, @Nullable File workingDirectory, String packageName,
84-
ProjectLevelSymbolTable projectLevelSymbolTable, ProjectLevelTypeTable projectLevelTypeTable, CacheContext cacheContext, SonarProduct sonarProduct) {
8580
super(pythonFile, workingDirectory, cacheContext, sonarProduct, projectLevelSymbolTable);
86-
8781
var symbolTableBuilderV2 = new SymbolTableBuilderV2(rootTree);
8882
var symbolTable = symbolTableBuilderV2.build();
8983
var symbolTableBuilder = new SymbolTableBuilder(packageName, pythonFile, projectLevelSymbolTable);
9084
symbolTableBuilder.visitFileInput(rootTree);
85+
var projectLevelTypeTable = new ProjectLevelTypeTable(projectLevelSymbolTable);
9186
this.moduleType = new TypeInferenceV2(projectLevelTypeTable, pythonFile, symbolTable, packageName).inferModuleType(rootTree);
9287
this.typeChecker = new TypeChecker(projectLevelTypeTable);
9388
this.rootTree = rootTree;

0 commit comments

Comments
 (0)