Skip to content

Commit 6e249da

Browse files
committed
Kotlin: TrapLocker: Pass the TRAP file to be opened
We already know what it is, as we've just locked it.
1 parent 2731740 commit 6e249da

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

java/kotlin-extractor/src/main/java/com/semmle/extractor/java/OdasaOutput.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -266,10 +266,7 @@ private void deleteTrapFileAndDependencies(IrDeclaration sym, String signature)
266266
* Any unique suffix needed to distinguish `sym` from other declarations with the same name.
267267
* For functions for example, this means its parameter signature.
268268
*/
269-
private TrapFileManager getMembersWriterForDecl(IrDeclaration sym, String signature) {
270-
File trap = getTrapFileForDecl(sym, signature);
271-
if (trap==null)
272-
return null;
269+
private TrapFileManager getMembersWriterForDecl(File trap, IrDeclaration sym, String signature) {
273270
TrapClassVersion currVersion = TrapClassVersion.fromSymbol(sym, log);
274271
String shortName = sym instanceof IrDeclarationWithName ? ((IrDeclarationWithName)sym).getName().asString() : "(name unknown)";
275272
if (trap.exists()) {
@@ -428,7 +425,8 @@ private TrapLocker(IrDeclaration decl, String signature) {
428425
this.sym = decl;
429426
this.signature = signature;
430427
if (sym==null) {
431-
trapFile = getTrapFileForCurrentSourceFile();
428+
log.error("Null symbol passed for Kotlin TRAP locker");
429+
trapFile = null;
432430
} else {
433431
trapFile = getTrapFileForDecl(sym, signature);
434432
}
@@ -446,7 +444,7 @@ private TrapLocker(String moduleName) {
446444
public TrapFileManager getTrapFileManager() {
447445
if (trapFile!=null) {
448446
lockTrapFile(trapFile);
449-
return getMembersWriterForDecl(sym, signature);
447+
return getMembersWriterForDecl(trapFile, sym, signature);
450448
} else {
451449
return null;
452450
}

0 commit comments

Comments
 (0)