Fixed: AS 1/2/3 - Fast switching of scripts causing incorrect caret position remembered

Fixed: AS 1/2 - Remembering caret position for frames
This commit is contained in:
Jindra Petřík
2025-05-02 08:45:26 +02:00
parent a8114651e3
commit d9c866c7d6
8 changed files with 126 additions and 39 deletions

View File

@@ -235,12 +235,12 @@ public class TraitClass extends Trait implements TraitWithSlot {
}
}
}
//class header
instanceInfo.getClassHeaderStr(convertData.assetsDir, writer, abc, fullyQualifiedNames, false, allowEmbed);
writer.endTrait();
writer.startBlock();
writer.startClass(class_info);
writer.startBlock();
first.setVal(true);

View File

@@ -1001,12 +1001,14 @@ public abstract class Action implements GraphSourceItem {
throw ex;
} catch (Exception | OutOfMemoryError | StackOverflowError ex) {
ex.printStackTrace();
convertException = ex;
Throwable cause = ex.getCause();
if (ex instanceof ExecutionException && cause instanceof Exception) {
convertException = cause;
}
if (ex instanceof ExecutionException && cause instanceof InterruptedException) {
throw (InterruptedException) cause;
}
if (convertException instanceof TimeoutException) {
logger.log(Level.SEVERE, "Decompilation timeout in: " + path, convertException);
} else {

View File

@@ -420,6 +420,19 @@ public abstract class GraphTextWriter {
public GraphTextWriter startBlock() {
return startBlock("{");
}
/**
* Starts block, but do not continue to new line.
* @return GraphTextWriter
*/
public GraphTextWriter startBlockNoNewLine() {
if (formatting.beginBlockOnNewLine) {
newLine();
} else {
append(" ");
}
return append("{");
}
/**
* Ends block.