mirror of
https://github.com/ReVanced/revanced-patcher.git
synced 2024-11-10 01:02:22 +01:00
fix: InlineSmaliCompiler.compile
using 0 registers instead of 1 by default
This commit is contained in:
parent
99342fe033
commit
835a421cc0
1 changed files with 12 additions and 12 deletions
|
@ -14,8 +14,6 @@ import org.jf.smali.smaliParser
|
|||
import org.jf.smali.smaliTreeWalker
|
||||
import java.io.InputStreamReader
|
||||
|
||||
class InlineSmaliCompiler {
|
||||
companion object {
|
||||
private const val METHOD_TEMPLATE = """
|
||||
.class LInlineCompiler;
|
||||
.super Ljava/lang/Object;
|
||||
|
@ -25,6 +23,8 @@ class InlineSmaliCompiler {
|
|||
.end method
|
||||
"""
|
||||
|
||||
class InlineSmaliCompiler {
|
||||
companion object {
|
||||
/**
|
||||
* Compiles a string of Smali code to a list of instructions.
|
||||
* p0, p1 etc. will only work correctly if the parameters and registers are passed.
|
||||
|
@ -34,7 +34,7 @@ class InlineSmaliCompiler {
|
|||
* be messed up and results in broken Dalvik bytecode.
|
||||
* FIXME: Fix the above issue. When this is fixed, add the proper conversions in [InstructionConverter].
|
||||
*/
|
||||
fun compileMethodInstructions(
|
||||
fun compile(
|
||||
instructions: String, parameters: String, registers: Int, forStaticMethod: Boolean
|
||||
): List<BuilderInstruction> {
|
||||
val input =
|
||||
|
@ -64,9 +64,9 @@ class InlineSmaliCompiler {
|
|||
* @param templateMethod The method to compile the instructions against.
|
||||
* @returns A list of instructions.
|
||||
*/
|
||||
fun String.toInstructions(templateMethod: Method? = null) = InlineSmaliCompiler.compileMethodInstructions(this,
|
||||
fun String.toInstructions(templateMethod: Method? = null) = InlineSmaliCompiler.compile(this,
|
||||
templateMethod?.parameters?.joinToString("") { it } ?: "",
|
||||
templateMethod?.implementation?.registerCount ?: 0,
|
||||
templateMethod?.implementation?.registerCount ?: 1,
|
||||
(templateMethod?.accessFlags ?: 0) and AccessFlags.STATIC.value != 0)
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue