diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 2c33d6782..9cbda7898 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -2,13 +2,6 @@ - - - - - - - @@ -27,6 +20,13 @@ + + + + + + + @@ -117,6 +117,9 @@ + + + diff --git a/.idea/misc.xml b/.idea/misc.xml index 4c262623a..42169386d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -216,7 +216,7 @@ - + diff --git a/settings.gradle.kts b/settings.gradle.kts index 9f2dcffaf..9f13c4414 100755 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -75,7 +75,6 @@ include( ":lsp:testing", ":subprojects:aaptcompiler", ":subprojects:builder-model-impl", - ":subprojects:classfile", ":subprojects:flashbar", ":subprojects:framework-stubs", ":subprojects:fuzzysearch", diff --git a/subprojects/classfile/.gitignore b/subprojects/classfile/.gitignore deleted file mode 100644 index 42afabfd2..000000000 --- a/subprojects/classfile/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/subprojects/classfile/README.md b/subprojects/classfile/README.md deleted file mode 100644 index 7fb2adf72..000000000 --- a/subprojects/classfile/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# Class File Reader - -This is a basic class file reader which supports reading class files with major version **61 and below**. Currently, we only read required information from the class file (up to the `super_class` entry). - -## Usage - -Create a `ClassFileReader` instance and call the `read()` method to start reading the class file. - -```kotlin -// Kotlin -val reader = ClassFileReader(FileInputStream(File("/path/to/MyClass.class"))) -val classFile = reader.read() -``` - -## Constant pool - -The `IClassFile` provides access to the constant pool that is read from the class file. - -The entries in the constant pool from class file is represented by the `IConstant` implementations. Each implementation has a `type` property which represents the type of the constant. It also contains the tag value of the constant type. The following table shows the constant type and its implementation in this class file reader. - -| Constant type | Implementation | -| --------------------------- | ---------------------- | -| CONSTANT_Class | `ClassConstant` | -| CONSTANT_Fieldref | `ReferenceConstant` | -| CONSTANT_Methodref | `ReferenceConstant` | -| CONSTANT_InterfaceMethodref | `ReferenceConstant` | -| CONSTANT_String | `StringConstant` | -| CONSTANT_Integer | `IntegerConstant` | -| CONSTANT_Float | `FloatConstant` | -| CONSTANT_Double | `DoubleConstant` | -| CONSTANT_NameAndType | `NameAndTypeConstant` | -| CONSTANT_Utf8 | `Utf8Constant` | -| CONSTANT_MethodHandle | `MethodHandleConstant` | -| CONSTANT_MethodType | `MethodTypeConstant` | -| CONSTANT_Dynamic | `DynamicConstant` | -| CONSTANT_InvokeDynamic | `DynamicConstant` | -| CONSTANT_Module | `ModuleConstant` | -| CONSTANT_Package | `PackageConstant` | - - -## References - -The following sections were referred from the JDK 17 JVM specifications : - -- [Chapter 4 - The Class File Format](https://docs.oracle.com/javase/specs/jvms/se17/html/jvms-4.html). -- [Table 5.4.3.5-A. Bytecode Behaviors for Method Handles](https://docs.oracle.com/javase/specs/jvms/se17/html/jvms-5.html#jvms-5.4.3.5). \ No newline at end of file diff --git a/subprojects/classfile/build.gradle.kts b/subprojects/classfile/build.gradle.kts deleted file mode 100644 index aa86f2db4..000000000 --- a/subprojects/classfile/build.gradle.kts +++ /dev/null @@ -1,29 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -@Suppress("JavaPluginLanguageLevel") -plugins { - id("java-library") - id("org.jetbrains.kotlin.jvm") -} - -dependencies { - implementation(libs.common.jkotlin) - - testImplementation(libs.tests.junit) - testImplementation(libs.tests.google.truth) -} \ No newline at end of file diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/ClassFileConstants.java b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/ClassFileConstants.java deleted file mode 100644 index 3598f0fe4..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/ClassFileConstants.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile; - -/** - * Constants in a class file. - * - * @author Akash Yadav - */ -public class ClassFileConstants { - - /** Required magic number in the class files. */ - public static final int MAGIC = 0xCAFEBABE; - - /** Declared public; may be accessed from outside its package. */ - public static final int ACC_PUBLIC = 0x0001; - - /** - * Declared private; accessible only within the defining class and other classes belonging to the - * same nest - */ - public static final int ACC_PRIVATE = 0x0002; - - /** Declared protected; may be accessed within subclasses. */ - public static final int ACC_PROTECTED = 0x0004; - - /** Declared static. */ - public static final int ACC_STATIC = 0x0008; - - /** Declared final; no subclasses allowed. */ - public static final int ACC_FINAL = 0x0010; - - /** Treat superclass methods specially when invoked by the invokespecial instruction. */ - public static final int ACC_SUPER = 0x0020; - - /** Declared volatile; cannot be cached */ - public static final int ACC_VOLATILE = 0x0040; - - /** Declared transient; not written or read by a persistent object manager. */ - public static final int ACC_TRANSIENT = 0x0080; - - /** Is an interface, not a class. */ - public static final int ACC_INTERFACE = 0x0200; - - /** Declared abstract; must not be instantiated. */ - public static final int ACC_ABSTRACT = 0x0400; - - /** Declared synthetic; Not present in the source code. */ - public static final int ACC_SYNTHETIC = 0x1000; - - /** Declared as an annotation type. */ - public static final int ACC_ANNOTATION = 0x2000; - - /** Declared as an enum type. */ - public static final int ACC_ENUM = 0x4000; - - /** Is a module, not a class or interface. */ - public static final int ACC_MODULE = 0x8000; - - public static final String ATTR_CONSTANT_VALUE = "ConstantValue"; - public static final String ATTR_CODE = "Code"; - public static final String ATTR_EXCEPTIONS = "Exceptions"; - public static final String ATTR_SOURCE_FILE = "SourceFile"; - public static final String ATTR_LINE_NUMBER_TABLE = "LineNumberTable"; - public static final String ATTR_LOCAL_VARIABLE_TABLE = "LocalVariableTable"; - public static final String ATTR_INNER_CLASSES = "InnerClasses"; - public static final String ATTR_SYNTHETIC = "Synthetic"; - public static final String ATTR_DEPRECATED = "Deprecated"; - public static final String ATTR_ENCLOSING_METHOD = "EnclosingMethod"; - public static final String ATTR_SIGNATURE = "Signature"; - public static final String ATTR_SOURCE_DEBUG_EXTENSION = "SourceDebugExtension"; - public static final String ATTR_LOCAL_VARIABLE_TYPE_TABLE = "LocalVariableTypeTable"; - public static final String ATTR_RUNTIME_VISIBLE_ANNOTATIONS = "RuntimeVisibleAnnotations"; - public static final String ATTR_RUNTIME_INVISIBLE_ANNOTATIONS = "RuntimeInvisibleAnnotations"; - public static final String ATTR_RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS = - "RuntimeVisibleParameterAnnotations"; - public static final String ATTR_RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS = - "RuntimeInvisibleParameterAnnotations"; - public static final String ATTR_ANNOTATION_DEFAULT = "AnnotationDefault"; - public static final String ATTR_STACK_MAP_TABLE = "StackMapTable"; - public static final String ATTR_BOOTSTRAP_METHODS = "BootstrapMethods"; - public static final String ATTR_RUNTIME_VISIBLE_TYPE_ANNOTATIONS = - "RuntimeVisibleTypeAnnotations"; - public static final String ATTR_RUNTIME_INVISIBLE_TYPE_ANNOTATIONS = - "RuntimeInvisibleTypeAnnotations"; - public static final String ATTR_METHOD_PARAMETERS = "MethodParameters"; - public static final String ATTR_MODULE = "Module"; - public static final String ATTR_MODULE_PACKAGES = "ModulePackages"; - public static final String ATTR_MAIN_CLASS = "ModuleMainClass"; - public static final String ATTR_NEST_HOST = "NestHost"; - public static final String ATTR_NEST_MEMBERS = "NestMembers"; - public static final String ATTR_RECORD = "Record"; - public static final String ATTR_PERMITTED_SUBCLASSES = "PermittedSubclasses"; -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/ClassFileReader.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/ClassFileReader.kt deleted file mode 100644 index 8f887f58c..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/ClassFileReader.kt +++ /dev/null @@ -1,109 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile - -import com.itsaky.androidide.classfile.constants.IConstant -import com.itsaky.androidide.classfile.constants.IConstant.Type.DOUBLE -import com.itsaky.androidide.classfile.constants.IConstant.Type.LONG -import com.itsaky.androidide.classfile.internal.ClassFile -import com.itsaky.androidide.classfile.internal.NullConstant -import com.itsaky.androidide.classfile.internal.NullField -import java.io.DataInputStream -import java.io.InputStream - -/** - * Reads class file from the given stream. This currently does not read the entire class file but - * only the things we need (upto the `super_class` entry). - * - * @author Akash Yadav - */ -class ClassFileReader(private val stream: InputStream) { - - /** - * Read the class file. - * - * @return The info about the class file. - */ - fun read(): IClassFile { - val input = DataInputStream(stream) - val magic = input.readInt() - if (magic != ClassFileConstants.MAGIC) { - throw IllegalArgumentException( - "Not a class file. Expecting magic value ${ClassFileConstants.MAGIC} but found $magic." - ) - } - - val file = ClassFile() - val minorVersion = input.readUnsignedShort() - val majorVersion = input.readUnsignedShort() - - if (majorVersion >= 56 && minorVersion != 0 && minorVersion != 65535) { - // When major version is >= 56, minor version must be 0 or 65535 - throw IllegalStateException("Invalid class file minor version: '${minorVersion}'") - } - - file.version = ClassFileVersion.get(majorVersion, minorVersion) - - val poolCount = input.readUnsignedShort() - file.constantPool = Array(poolCount) { NullConstant } - - var index = 1 - while (index < poolCount) { - val constant = readPoolConstant(input) - file.constantPool[index] = constant - - if (constant.type == LONG || constant.type == DOUBLE) { - ++index - } - - ++index - } - - file.accessFlags = input.readUnsignedShort() - file.thisClass = input.readUnsignedShort() - file.superClass = input.readUnsignedShort() - - val interfaceCount = input.readUnsignedShort() - file.interfaces = IntArray(interfaceCount) - - index = 0 - while (index < interfaceCount) { - file.interfaces[index] = input.readUnsignedShort() - ++index - } - - val fieldCount = input.readUnsignedShort() - file.fields = Array(fieldCount) { NullField } - - index = 0 - while (index < fieldCount) { - file.fields[index] = IFieldInfo.read(input, file) - ++index - } - - return file - } - - private fun readPoolConstant(input: DataInputStream): IConstant { - val tag = input.readUnsignedByte() - val type = IConstant.forTag(tag) - val constant = IConstant.forType(type) - constant.read(input) - return constant - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/ClassFileVersion.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/ClassFileVersion.kt deleted file mode 100644 index 6c8bf822e..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/ClassFileVersion.kt +++ /dev/null @@ -1,51 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile - -/** - * Version info for the class file. - * - * @author Akash Yadav - */ -enum class ClassFileVersion(val major: Int, val minor: Int) { - JAVA_1_0(45, 0), - JAVA_1_1(45, 3), - JAVA_1_2(46, 0), - JAVA_1_3(47, 0), - JAVA_1_4(48, 0), - JAVA_5(49, 0), - JAVA_6(50, 0), - JAVA_7(51, 0), - JAVA_8(52, 0), - JAVA_9(53, 0), - JAVA_10(54, 0), - JAVA_11(55, 0), - JAVA_12(56, 0), - JAVA_13(57, 0), - JAVA_14(58, 0), - JAVA_15(59, 0), - JAVA_16(60, 0), - JAVA_17(61, 0); - - companion object { - internal fun get(major: Int, minor: Int): ClassFileVersion { - return values().firstOrNull { it.major == major && it.minor == minor } - ?: throw IllegalArgumentException("Unknown class file version '${major}.${minor}'") - } - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/IClassFile.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/IClassFile.kt deleted file mode 100644 index 40005d3e8..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/IClassFile.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile - -import com.itsaky.androidide.classfile.constants.IConstant - -/** - * Model class for holding information about class files. - * - * @author Akash Yadav - */ -interface IClassFile { - - /** The class file version. */ - val version: ClassFileVersion - - /** The constant pool. */ - val constantPool: Array - - /** Access flags for the class. */ - val accessFlags: Int - - /** - * The index in the constant pool which corresponds to the internal representation of the name of - * this class. - */ - val thisClass: Int - - /** - * The index in the constant pool which corresponds to the internal representation of the name of - * the super class of this class. - */ - val superClass: Int - - /** The interfaces that this class implements. */ - val interfaces: IntArray - - /** The fields of this class. */ - val fields: Array - - /** Get the string representation of this class' name. */ - fun getName(): String - - /** Get the string representation of the name of this class' super class. */ - fun getSuperClassName(): String -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/IFieldInfo.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/IFieldInfo.kt deleted file mode 100644 index 16497a0a0..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/IFieldInfo.kt +++ /dev/null @@ -1,66 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile - -import com.itsaky.androidide.classfile.attributes.IAttribute -import com.itsaky.androidide.classfile.internal.ClassFile -import com.itsaky.androidide.classfile.internal.FieldInfo -import com.itsaky.androidide.classfile.internal.NullAttribute -import java.io.DataInputStream - -/** - * Information about a field. - * - * @author Akash Yadav - */ -interface IFieldInfo { - - /** Access flags for this field. */ - val accessFlags: Int - - /** The index in the constant pool which corresponds to the name of this field. */ - val nameIndex: Int - - /** - * The index in the constant pool which corresponds to the field descriptor string for this field. - */ - val descriptorIndex: Int - - /** The attributes of this field. */ - val attributes: Array - - companion object { - - internal fun read(input: DataInputStream, file: ClassFile): IFieldInfo { - val field = FieldInfo() - field.accessFlags = input.readUnsignedShort() - field.nameIndex = input.readUnsignedShort() - field.descriptorIndex = input.readUnsignedShort() - - val attrCount = input.readUnsignedShort() - field.attributes = Array(attrCount) { NullAttribute } - - var index = 0 - while (index < attrCount) { - field.attributes[index] = IAttribute.read(input, file) - ++index - } - return field - } - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/Annotation.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/Annotation.kt deleted file mode 100644 index 36dc134ce..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/Annotation.kt +++ /dev/null @@ -1,52 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import java.io.DataInputStream - -/** - * Annotation model for annotation based attributes in class files. - * - * @author Akash Yadav - */ -open class Annotation { - - /** - * Index of the entry in the constant pool which corresponds to the type of the the annotation. - * The entry at this index is always an UTF-8 constant. - */ - var typeIndex: Int = -1 - internal set - - /** The element value pairs. */ - open var elementValues: Array> = emptyArray() - internal set - - companion object { - internal fun read(input: DataInputStream): Annotation { - val annotation = Annotation() - annotation.typeIndex = input.readUnsignedShort() - - val valueCount = input.readUnsignedShort() - annotation.elementValues = - Array(valueCount) { input.readUnsignedShort() to ElementValue.read(input) } - - return annotation - } - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/AnnotationAttr.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/AnnotationAttr.kt deleted file mode 100644 index f193e0f2e..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/AnnotationAttr.kt +++ /dev/null @@ -1,40 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import com.itsaky.androidide.classfile.ClassFileVersion -import com.itsaky.androidide.classfile.ClassFileVersion.JAVA_5 -import com.itsaky.androidide.classfile.IClassFile -import java.io.DataInputStream - -/** - * An attribute which stores information about annotations. - * - * @author Akash Yadav - */ -abstract class AnnotationAttr(nameIndex: Int) : BaseAttribute(nameIndex) { - override val version: ClassFileVersion = JAVA_5 - - /** The annotations. */ - var annotations: Array = emptyArray() - - override fun read(attrLength: Int, file: IClassFile, input: DataInputStream) { - val count = input.readUnsignedShort() - this.annotations = Array(count) { Annotation.read(input) } - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/BaseAttribute.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/BaseAttribute.kt deleted file mode 100644 index 3350e8700..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/BaseAttribute.kt +++ /dev/null @@ -1,25 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -/** - * Base class for attrbutes. - * - * @author Akash Yadav - */ -abstract class BaseAttribute(override val nameIndex: Int): IAttribute \ No newline at end of file diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/ConstantValueAttr.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/ConstantValueAttr.kt deleted file mode 100644 index d18075f7d..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/ConstantValueAttr.kt +++ /dev/null @@ -1,43 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import com.itsaky.androidide.classfile.ClassFileVersion -import com.itsaky.androidide.classfile.ClassFileVersion.JAVA_1_2 -import com.itsaky.androidide.classfile.IClassFile -import com.itsaky.androidide.classfile.attributes.IAttribute.Type -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.CONSTANT_VALUE -import java.io.DataInputStream - -/** - * Constant value for a field. - * - * @author Akash Yadav - */ -class ConstantValueAttr(nameIndex: Int) : BaseAttribute(nameIndex) { - override val version: ClassFileVersion = JAVA_1_2 - override val type: Type = CONSTANT_VALUE - - /** The index in the constant pool which corresponds to the value of this constant. */ - var valueIndex: Int = -1 - internal set - - override fun read(attrLength: Int, file: IClassFile, input: DataInputStream) { - this.valueIndex = input.readUnsignedShort() - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/DeprecatedAttr.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/DeprecatedAttr.kt deleted file mode 100644 index e9e67e5bd..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/DeprecatedAttr.kt +++ /dev/null @@ -1,28 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import com.itsaky.androidide.classfile.ClassFileVersion.JAVA_1_1 -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.DEPRECATED - -/** - * Indicates that a class, field or method is deprecated. - * - * @author Akash Yadav - */ -class DeprecatedAttr(nameIndex: Int) : MarkerAttribute(nameIndex, DEPRECATED, JAVA_1_1) diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/ElementValue.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/ElementValue.kt deleted file mode 100644 index ebb1d0cff..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/ElementValue.kt +++ /dev/null @@ -1,140 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import com.itsaky.androidide.classfile.attributes.ElementValue.Type.ANNOTATION_INTERFACE -import com.itsaky.androidide.classfile.attributes.ElementValue.Type.ARRAY_TYPE -import com.itsaky.androidide.classfile.attributes.ElementValue.Type.CLASS -import com.itsaky.androidide.classfile.attributes.ElementValue.Type.ENUM_CLASS -import com.itsaky.androidide.classfile.attributes.ElementValue.Type.UNKNOWN -import java.io.DataInputStream - -/** - * The element value in an annotation. - * - * @author Akash Yadav - */ -class ElementValue { - - /** The element tag. */ - var type: Type = UNKNOWN - internal set - - /** - * The constant value if the [type] is one of the following : - * - * - [Type.BYTE] - * - [Type.CHAR] - * - [Type.DOUBLE] - * - [Type.FLOAT] - * - [Type.INT] - * - [Type.LONG] - * - [Type.SHORT] - * - [Type.BOOLEAN] - * - [Type.STRING] - */ - var constValIndex: Int = -1 - internal set - - /** The element constant value if the [type] is [Type.ENUM_CLASS]. */ - var enumValue: EnumConstValue? = null - internal set - - /** The class name index if the [type] is [Type.CLASS]. */ - var classNameIndex: Int = -1 - internal set - - /** The annotation constant value if the [type] is [Type.ANNOTATION_INTERFACE]. */ - var annotationValue: Annotation? = null - internal set - - /** The array constant value if the [type] is [Type.ARRAY_TYPE]. */ - var arrayValue: Array? = null - internal set - - companion object { - internal fun read(input: DataInputStream): ElementValue { - val value = ElementValue() - value.type = Type.forTag(input.readUnsignedByte()) - when (value.type) { - ENUM_CLASS -> value.enumValue = EnumConstValue.read(input) - CLASS -> value.classNameIndex = input.readUnsignedShort() - ANNOTATION_INTERFACE -> value.annotationValue = Annotation.read(input) - ARRAY_TYPE -> { - val count = input.readUnsignedShort() - val nullElem = ElementValue() - value.arrayValue = Array(count) { nullElem } - - var index = 0 - while (index < count) { - value.arrayValue!![index] = read(input) - ++index - } - } - else -> value.constValIndex = input.readUnsignedShort() - } - - return value - } - } - - /** - * The enum constant value. - * - * @property typeNameIndex The index of the entry in the constant pool which corresponds to the - * name of the type of this constant. - * @property constNameIndex The index of the entry in the constant pool which corresponds to the - * name of this constant. - */ - data class EnumConstValue(val typeNameIndex: Int, val constNameIndex: Int) { - companion object { - internal fun read(input: DataInputStream): EnumConstValue { - return EnumConstValue(input.readUnsignedShort(), input.readUnsignedShort()) - } - } - } - - /** The type of [ElementValue]. */ - enum class Type(val tag: Int) { - BYTE('B'.code), - CHAR('C'.code), - DOUBLE('D'.code), - FLOAT('F'.code), - INT('I'.code), - LONG('J'.code), - SHORT('S'.code), - BOOLEAN('Z'.code), - STRING('s'.code), - ENUM_CLASS('e'.code), - CLASS('c'.code), - ANNOTATION_INTERFACE('@'.code), - ARRAY_TYPE('['.code), - - /** **FOR INTERNAL USE ONLY** */ - UNKNOWN('-'.code); - - companion object { - - /** Get the element type for the given tag value. */ - internal fun forTag(tag: Int): Type { - return values().firstOrNull { it.tag == tag } - ?: throw IllegalArgumentException("Invalid tag for element value type tag '$tag'") - } - } - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/IAttribute.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/IAttribute.kt deleted file mode 100644 index d3e142ee1..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/IAttribute.kt +++ /dev/null @@ -1,106 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import com.itsaky.androidide.classfile.ClassFileConstants.ATTR_CONSTANT_VALUE -import com.itsaky.androidide.classfile.ClassFileConstants.ATTR_DEPRECATED -import com.itsaky.androidide.classfile.ClassFileConstants.ATTR_RUNTIME_INVISIBLE_ANNOTATIONS -import com.itsaky.androidide.classfile.ClassFileConstants.ATTR_RUNTIME_INVISIBLE_TYPE_ANNOTATIONS -import com.itsaky.androidide.classfile.ClassFileConstants.ATTR_RUNTIME_VISIBLE_ANNOTATIONS -import com.itsaky.androidide.classfile.ClassFileConstants.ATTR_RUNTIME_VISIBLE_TYPE_ANNOTATIONS -import com.itsaky.androidide.classfile.ClassFileConstants.ATTR_SIGNATURE -import com.itsaky.androidide.classfile.ClassFileConstants.ATTR_SYNTHETIC -import com.itsaky.androidide.classfile.ClassFileVersion -import com.itsaky.androidide.classfile.IClassFile -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.CONSTANT_VALUE -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.DEPRECATED -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.RUNTIME_INVISIBLE_ANNOTATIONS -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.RUNTIME_INVISIBLE_TYPE_ANNOTATIONS -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.RUNTIME_VISIBLE_ANNOTATIONS -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.RUNTIME_VISIBLE_TYPE_ANNOTATIONS -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.SIGNATURE -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.SYNTHETIC -import com.itsaky.androidide.classfile.constants.Utf8Constant -import com.itsaky.androidide.classfile.internal.ClassFile -import java.io.DataInputStream - -/** - * Base class for all attributes in a class, field or method. - * - * @author Akash Yadav - */ -interface IAttribute { - - /** The version of the class file in which this attribute appears. */ - val version: ClassFileVersion - - /** The index of the entry in the constant pool which represents the name of this attrbute. */ - val nameIndex: Int - - /** The type of attribute. */ - val type: Type - - /** - * **FOR INTERNAL USE ONLY** - * - * Read further information from the given input. - */ - fun read(attrLength: Int, file: IClassFile, input: DataInputStream) - - enum class Type(val attrName: String) { - CONSTANT_VALUE(ATTR_CONSTANT_VALUE), - SYNTHETIC(ATTR_SYNTHETIC), - SIGNATURE(ATTR_SIGNATURE), - DEPRECATED(ATTR_DEPRECATED), - RUNTIME_VISIBLE_ANNOTATIONS(ATTR_RUNTIME_VISIBLE_ANNOTATIONS), - RUNTIME_INVISIBLE_ANNOTATIONS(ATTR_RUNTIME_INVISIBLE_ANNOTATIONS), - RUNTIME_VISIBLE_TYPE_ANNOTATIONS(ATTR_RUNTIME_VISIBLE_TYPE_ANNOTATIONS), - RUNTIME_INVISIBLE_TYPE_ANNOTATIONS(ATTR_RUNTIME_INVISIBLE_TYPE_ANNOTATIONS); - - companion object { - internal fun forName(name: String): Type { - return values().firstOrNull { it.attrName == name } - ?: throw IllegalArgumentException("Unknown attribute '$name'") - } - } - } - - companion object { - internal fun read(input: DataInputStream, file: ClassFile): IAttribute { - val nameIndex = input.readUnsignedShort() - val attrLength = input.readInt() - val name = (file.constantPool[nameIndex] as Utf8Constant).content() - val type = Type.forName(name) - return createForType(type, nameIndex).also { it.read(attrLength, file, input) } - } - - private fun createForType(type: Type, nameIndex: Int): IAttribute { - return when (type) { - CONSTANT_VALUE -> ConstantValueAttr(nameIndex) - SYNTHETIC -> SyntheticAttr(nameIndex) - SIGNATURE -> SignatureAttr(nameIndex) - DEPRECATED -> DeprecatedAttr(nameIndex) - RUNTIME_VISIBLE_ANNOTATIONS -> RuntimeVisibleAnnotationsAttr(nameIndex) - RUNTIME_INVISIBLE_ANNOTATIONS -> RuntimeVisibleAnnotationsAttr(nameIndex) - RUNTIME_VISIBLE_TYPE_ANNOTATIONS -> RuntimeVisibleTypeAnnotations(nameIndex) - RUNTIME_INVISIBLE_TYPE_ANNOTATIONS -> RuntimeInvisibleTypeAnnotations(nameIndex) - else -> throw IllegalArgumentException("Unknown attribute type $type") - } - } - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/MarkerAttribute.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/MarkerAttribute.kt deleted file mode 100644 index d331d6ca1..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/MarkerAttribute.kt +++ /dev/null @@ -1,36 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import com.itsaky.androidide.classfile.ClassFileVersion -import com.itsaky.androidide.classfile.IClassFile -import com.itsaky.androidide.classfile.attributes.IAttribute.Type -import java.io.DataInputStream - -/** - * An attribute which is simply a marker and does not contain any further information. - * - * @author Akash Yadav - */ -abstract class MarkerAttribute( - nameIndex: Int, - override val type: Type, - override val version: ClassFileVersion -) : BaseAttribute(nameIndex) { - override fun read(attrLength: Int, file: IClassFile, input: DataInputStream) {} -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/RuntimeInvisibleAnnotationsAttr.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/RuntimeInvisibleAnnotationsAttr.kt deleted file mode 100644 index 9bb836802..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/RuntimeInvisibleAnnotationsAttr.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import com.itsaky.androidide.classfile.attributes.IAttribute.Type -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.RUNTIME_INVISIBLE_ANNOTATIONS - -/** - * Stores run-time invisible annotations on the declaration of the corresponding class, method, - * field, or record component. - * - * @author Akash Yadav - */ -class RuntimeInvisibleAnnotationsAttr(nameIndex: Int) : AnnotationAttr(nameIndex) { - override val type: Type = RUNTIME_INVISIBLE_ANNOTATIONS -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/RuntimeInvisibleTypeAnnotations.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/RuntimeInvisibleTypeAnnotations.kt deleted file mode 100644 index 62cc6419b..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/RuntimeInvisibleTypeAnnotations.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import com.itsaky.androidide.classfile.attributes.IAttribute.Type -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.RUNTIME_INVISIBLE_TYPE_ANNOTATIONS -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.RUNTIME_VISIBLE_TYPE_ANNOTATIONS - -/** - * Stores run-time invisible annotations on type parameter declarations of generic classes, - * interfaces, methods, and constructors. - * - * @author Akash Yadav - */ -class RuntimeInvisibleTypeAnnotations(nameIndex: Int) : AnnotationAttr(nameIndex) { - override val type: Type = RUNTIME_INVISIBLE_TYPE_ANNOTATIONS - - /** - * The annotations always of type [TypeAnnotation] - */ - var typeAnnotations: Array = emptyArray() -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/RuntimeVisibleAnnotationsAttr.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/RuntimeVisibleAnnotationsAttr.kt deleted file mode 100644 index c283af1c8..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/RuntimeVisibleAnnotationsAttr.kt +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import com.itsaky.androidide.classfile.attributes.IAttribute.Type -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.RUNTIME_VISIBLE_ANNOTATIONS - -/** - * Stores run-time visible annotations on the declaration of the corresponding class, field, method, - * or record component. - * @author Akash Yadav - */ -class RuntimeVisibleAnnotationsAttr(nameIndex: Int) : AnnotationAttr(nameIndex) { - override val type: Type = RUNTIME_VISIBLE_ANNOTATIONS -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/RuntimeVisibleTypeAnnotations.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/RuntimeVisibleTypeAnnotations.kt deleted file mode 100644 index 6a93da5eb..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/RuntimeVisibleTypeAnnotations.kt +++ /dev/null @@ -1,36 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import com.itsaky.androidide.classfile.attributes.IAttribute.Type -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.RUNTIME_VISIBLE_TYPE_ANNOTATIONS - -/** - * Stores run-time visible annotations on type parameter declarations of generic classes, - * interfaces, methods, and constructors. - * - * @author Akash Yadav - */ -class RuntimeVisibleTypeAnnotations(nameIndex: Int) : AnnotationAttr(nameIndex) { - override val type: Type = RUNTIME_VISIBLE_TYPE_ANNOTATIONS - - /** - * The annotations always of type [TypeAnnotation] - */ - var typeAnnotations: Array = emptyArray() -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/SignatureAttr.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/SignatureAttr.kt deleted file mode 100644 index 005e6a69b..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/SignatureAttr.kt +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import com.itsaky.androidide.classfile.ClassFileVersion -import com.itsaky.androidide.classfile.ClassFileVersion.JAVA_5 -import com.itsaky.androidide.classfile.IClassFile -import com.itsaky.androidide.classfile.attributes.IAttribute.Type -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.SIGNATURE -import java.io.DataInputStream - -/** - * Signature of a class, field or method. - * - * @author Akash Yadav - */ -class SignatureAttr(nameIndex: Int) : BaseAttribute(nameIndex) { - override val version: ClassFileVersion = JAVA_5 - override val type: Type = SIGNATURE - - var signatureIndex: Int = -1 - internal set - - override fun read(attrLength: Int, file: IClassFile, input: DataInputStream) { - this.signatureIndex = input.readUnsignedShort() - } -} \ No newline at end of file diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/SyntheticAttr.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/SyntheticAttr.kt deleted file mode 100644 index 947744f1e..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/SyntheticAttr.kt +++ /dev/null @@ -1,28 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import com.itsaky.androidide.classfile.ClassFileVersion.JAVA_1_1 -import com.itsaky.androidide.classfile.attributes.IAttribute.Type.SYNTHETIC - -/** - * Indicates that a class, field or method is synthetic. - * - * @author Akash Yadav - */ -class SyntheticAttr(nameIndex: Int) : MarkerAttribute(nameIndex, SYNTHETIC, JAVA_1_1) diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/TypeAnnotation.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/TypeAnnotation.kt deleted file mode 100644 index 388d470dd..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/TypeAnnotation.kt +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import java.io.DataInputStream - -/** - * Annotation model for (in)visible type annotations. - * - * @author Akash Yadav - */ -class TypeAnnotation { - - lateinit var targetInfo: TargetInfo - internal set - - lateinit var typePath: TypePath - internal set - - /** - * Index of the entry in the constant pool which corresponds to the type of the the annotation. - * The entry at this index is always an UTF-8 constant. - */ - var typeIndex: Int = -1 - internal set - - /** The element value pairs. */ - var elementValues: Array> = emptyArray() - internal set - - companion object { - internal fun read(input: DataInputStream): TypeAnnotation { - val annotation = TypeAnnotation() - val targetType = input.readUnsignedByte() - annotation.targetInfo = TargetInfo.forType(targetType).apply { read(input) } - annotation.typePath = TypePath().apply { read(input) } - annotation.typeIndex = input.readUnsignedShort() - val valueCount = input.readUnsignedShort() - annotation.elementValues = - Array(valueCount) { input.readUnsignedShort() to ElementValue.read(input) } - return annotation - } - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/TypePath.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/TypePath.kt deleted file mode 100644 index f65622c02..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/TypePath.kt +++ /dev/null @@ -1,54 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import java.io.DataInputStream - -/** - * Wherever a type is used in a declaration or expression, the type_path structure identifies which - * part of the type is annotated. An annotation may appear on the type itself, but if the type is a - * reference type, then there are additional locations where an annotation may appear. - * - * @author Akash Yadav - */ -class TypePath { - - var paths: Array = emptyArray() - internal set - - class PathEntry { - var typePathKind: Int = -1 - internal set - var typeArgumentIndex: Int = -1 - internal set - - internal fun read(input: DataInputStream) { - this.typePathKind = input.readUnsignedByte() - this.typeArgumentIndex = input.readUnsignedByte() - } - } - - internal fun read(input: DataInputStream) { - this.paths = - Array(input.readUnsignedByte()) { - val entry = PathEntry() - entry.read(input) - entry - } - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/targetInfos.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/targetInfos.kt deleted file mode 100644 index e444b01c4..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/attributes/targetInfos.kt +++ /dev/null @@ -1,210 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.attributes - -import java.io.DataInputStream - -/** - * Target information in a type annotation. - * - * @author Akash Yadav - */ -abstract class TargetInfo(val currentType: Int, val types: IntArray) { - - /** The read the target info. */ - internal abstract fun read(input: DataInputStream) - - companion object { - - internal fun forType(type: Int): TargetInfo { - return when (type) { - 0x00, - 0x01 -> TypeParameterTarget(type) - 0x10 -> SupertypeTarget(type) - 0x11, - 0x12 -> TypeParameterBoundTarget(type) - 0x13, - 0x14, - 0x15 -> EmptyTarget(type) - 0x16 -> FormalParameterTarget(type) - 0x17 -> ThrowsTarget(type) - 0x40, - 0x41 -> LocalVarTarget(type) - 0x42 -> CatchTarget(type) - 0x43, - 0x44, - 0x45, - 0x46 -> OffsetTarget(type) - 0x47, - 0x48, - 0x49, - 0x4A, - 0x4B -> TypeArgumentTarget(type) - else -> throw IllegalArgumentException("Unknown type parameter target") - } - } - } -} - -open class TypeParameterTarget -@JvmOverloads -constructor(currentType: Int, types: IntArray = intArrayOf(0x00, 0x01)) : - TargetInfo(currentType, types) { - - /** - * The value of the type_parameter_index item specifies which type parameter declaration is - * annotated. A type_parameter_index value of 0 specifies the first type parameter declaration. - */ - var typeParameterIndex: Int = -1 - internal set - - override fun read(input: DataInputStream) { - this.typeParameterIndex = input.readUnsignedByte() - } -} - -class SupertypeTarget(currentType: Int) : TargetInfo(currentType, intArrayOf(0x10)) { - - /** - * A supertype_index value of 65535 specifies that the annotation appears on the superclass in an - * extends clause of a class declaration. - * - * Any other supertype_index value is an index into the interfaces array of the enclosing - * ClassFile structure, and specifies that the annotation appears on that superinterface in either - * the implements clause of a class declaration or the extends clause of an interface declaration. - */ - var supertypeIndex: Int = -1 - internal set - - override fun read(input: DataInputStream) { - this.supertypeIndex = input.readUnsignedShort() - } -} - -class TypeParameterBoundTarget(currentType: Int) : - TypeParameterTarget(currentType, intArrayOf(0x11, 0x12)) { - - /** - * The value of the bound_index item specifies which bound of the type parameter declaration - * indicated by type_parameter_index is annotated. A bound_index value of 0 specifies the first - * bound of a type parameter declaration. - */ - var boundIndex: Int = -1 - internal set - - override fun read(input: DataInputStream) { - super.read(input) - this.boundIndex = input.readUnsignedShort() - } -} - -class EmptyTarget(currentType: Int) : TargetInfo(currentType, intArrayOf(0x13, 0x14, 0x15)) { - - override fun read(input: DataInputStream) {} -} - -class FormalParameterTarget(currentType: Int) : TargetInfo(currentType, intArrayOf(0x16)) { - - /** - * The value of the formal_parameter_index item specifies which formal parameter declaration has - * an annotated type. A formal_parameter_index value of i may, but is not required to, correspond - * to the i'th parameter descriptor in the method descriptor. - */ - var formalParameterIndex: Int = -1 - internal set - - override fun read(input: DataInputStream) { - this.formalParameterIndex = input.readUnsignedByte() - } -} - -class ThrowsTarget(currentType: Int) : TargetInfo(currentType, intArrayOf(0x17)) { - - /** - * The value of the throws_type_index item is an index into the exception_index_table array of the - * Exceptions attribute of the method_info structure enclosing the RuntimeVisibleTypeAnnotations - * attribute. - */ - var throwsTypeIndex: Int = -1 - internal set - - override fun read(input: DataInputStream) { - this.throwsTypeIndex = input.readUnsignedShort() - } -} - -class LocalVarTarget(currentType: Int) : TargetInfo(currentType, intArrayOf(0x40, 0x41)) { - - var table: Array = emptyArray() - - class LocalVarTagetTableEntry { - var startPc: Int = -1 - internal set - var length: Int = -1 - internal set - var index: Int = -1 - internal set - } - - override fun read(input: DataInputStream) { - val length = input.readUnsignedShort() - this.table = - Array(length) { - val entry = LocalVarTagetTableEntry() - entry.startPc = input.readUnsignedShort() - entry.length = input.readUnsignedShort() - entry.index = input.readUnsignedShort() - entry - } - } -} - -class CatchTarget(currentType: Int) : TargetInfo(currentType, intArrayOf(0x42)) { - - var exceptionTableIndex: Int = -1 - internal set - - override fun read(input: DataInputStream) { - this.exceptionTableIndex = input.readUnsignedShort() - } -} - -class OffsetTarget(currentType: Int) : TargetInfo(currentType, intArrayOf(0x43, 0x44, 0x45, 0x46)) { - - var offset: Int = -1 - internal set - - override fun read(input: DataInputStream) { - this.offset = input.readUnsignedShort() - } -} - -class TypeArgumentTarget(currentType: Int) : - TargetInfo(currentType, intArrayOf(0x47, 0x48, 0x49, 0x4A, 0x4B)) { - - var offset: Int = -1 - internal set - - var typeArgumentIndex: Int = -1 - internal set - - override fun read(input: DataInputStream) { - this.offset = input.readUnsignedShort() - this.typeArgumentIndex = input.readUnsignedByte() - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/ClassConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/ClassConstant.kt deleted file mode 100644 index 689fd4ae9..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/ClassConstant.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.CLASS -import java.io.DataInputStream - -/** - * A class name constant in the constant pool of class file. - * - * @property nameIndex The index of the name constant in the constant pool. The constant entry at - * this index is always of type [IConstant.Type.UTF8]. - * @author Akash Yadav - */ -class ClassConstant() : IConstant { - - var nameIndex: Int = -1 - private set - - override val type: Type = CLASS - - override fun read(input: DataInputStream) { - this.nameIndex = input.readUnsignedShort() - } - - override fun toString(): String { - return "ClassConstant(nameIndex=$nameIndex, type=$type)" - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is ClassConstant) return false - - if (nameIndex != other.nameIndex) return false - if (type != other.type) return false - - return true - } - - override fun hashCode(): Int { - var result = nameIndex - result = 31 * result + type.hashCode() - return result - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/DoubleConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/DoubleConstant.kt deleted file mode 100644 index 6f69beb10..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/DoubleConstant.kt +++ /dev/null @@ -1,60 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.DOUBLE -import java.io.DataInputStream - -/** - * A double constant in the constant pool of class file. - * - * @property value The value of this constant. - * @author Akash Yadav - */ -class DoubleConstant : IConstant { - - override val type: Type = DOUBLE - - var value: Double = 0.0 - private set - - override fun read(input: DataInputStream) { - this.value = input.readDouble() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is DoubleConstant) return false - - if (type != other.type) return false - if (value != other.value) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + value.hashCode() - return result - } - - override fun toString(): String { - return "DoubleConstant(type=$type, value=$value)" - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/DynamicConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/DynamicConstant.kt deleted file mode 100644 index b3a16f92c..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/DynamicConstant.kt +++ /dev/null @@ -1,69 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import java.io.DataInputStream - -/** - * **NOT SUPPORTED** - * - * A constant of type [IConstant.Type.DYNAMIC] or [IConstant.Type.INVOKE_DYNAMIC] in the constant - * pool of class file. - * - * @property bootstrapMethodAttrIndex The index into the bootstrap_methods array of the bootstrap - * method table of the class file. - * @property nameTypeIndex The index of the name and type constant in the constant pool. The entry - * at this index is always of type [IConstant.Type.NAME_AND_TYPE]. - * @author Akash Yadav - */ -class DynamicConstant(override val type: Type) : - IConstant { - - var bootstrapMethodAttrIndex: Int = -1 - private set - var nameTypeIndex: Int = -1 - private set - - override fun read(input: DataInputStream) { - this.bootstrapMethodAttrIndex = input.readUnsignedShort() - this.nameTypeIndex = input.readUnsignedShort() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is DynamicConstant) return false - - if (type != other.type) return false - if (bootstrapMethodAttrIndex != other.bootstrapMethodAttrIndex) return false - if (nameTypeIndex != other.nameTypeIndex) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + bootstrapMethodAttrIndex - result = 31 * result + nameTypeIndex - return result - } - - override fun toString(): String { - return "DynamicConstant(type=$type, bootstrapMethodAttrIndex=$bootstrapMethodAttrIndex, nameTypeIndex=$nameTypeIndex)" - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/FloatConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/FloatConstant.kt deleted file mode 100644 index 3662f3f04..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/FloatConstant.kt +++ /dev/null @@ -1,60 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.FLOAT -import java.io.DataInputStream - -/** - * A float constant in the constant pool of class file. - * - * @property value The value of this constant. - * @author Akash Yadav - */ -class FloatConstant : IConstant { - - override val type: Type = FLOAT - - var value: Float = 0f - private set - - override fun read(input: DataInputStream) { - this.value = input.readFloat() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is FloatConstant) return false - - if (type != other.type) return false - if (value != other.value) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + value.hashCode() - return result - } - - override fun toString(): String { - return "FloatConstant(type=$type, value=$value)" - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/IConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/IConstant.kt deleted file mode 100644 index dc29b9720..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/IConstant.kt +++ /dev/null @@ -1,116 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type.CLASS -import com.itsaky.androidide.classfile.constants.IConstant.Type.DOUBLE -import com.itsaky.androidide.classfile.constants.IConstant.Type.DYNAMIC -import com.itsaky.androidide.classfile.constants.IConstant.Type.FIELD_REF -import com.itsaky.androidide.classfile.constants.IConstant.Type.FLOAT -import com.itsaky.androidide.classfile.constants.IConstant.Type.INTEGER -import com.itsaky.androidide.classfile.constants.IConstant.Type.INTERFACE_METHOD_REF -import com.itsaky.androidide.classfile.constants.IConstant.Type.INVOKE_DYNAMIC -import com.itsaky.androidide.classfile.constants.IConstant.Type.LONG -import com.itsaky.androidide.classfile.constants.IConstant.Type.METHOD_HANDLE -import com.itsaky.androidide.classfile.constants.IConstant.Type.METHOD_REF -import com.itsaky.androidide.classfile.constants.IConstant.Type.METHOD_TYPE -import com.itsaky.androidide.classfile.constants.IConstant.Type.MODULE -import com.itsaky.androidide.classfile.constants.IConstant.Type.NAME_AND_TYPE -import com.itsaky.androidide.classfile.constants.IConstant.Type.PACKAGE -import com.itsaky.androidide.classfile.constants.IConstant.Type.STRING -import com.itsaky.androidide.classfile.constants.IConstant.Type.UNKNOWN -import com.itsaky.androidide.classfile.constants.IConstant.Type.UTF8 -import java.io.DataInputStream - -/** - * A constant in a constant pool from a class file. - * - * @property type The type of the constant. - * @author Akash Yadav - */ -interface IConstant { - - val type: Type - - /** Reads the data from the given [DataInputStream]. */ - fun read(input: DataInputStream) - - /** - * The type of the [IConstant]. - * - * @author Akash Yadav - */ - enum class Type(val tag: Int) { - UTF8(1), - INTEGER(3), - FLOAT(4), - LONG(5), - DOUBLE(6), - CLASS(7), - STRING(8), - FIELD_REF(9), - METHOD_REF(10), - INTERFACE_METHOD_REF(11), - NAME_AND_TYPE(12), - METHOD_HANDLE(15), - METHOD_TYPE(16), - DYNAMIC(17), - INVOKE_DYNAMIC(18), - MODULE(19), - PACKAGE(20), - - /** FOR INTERNAL USE ONLY! */ - UNKNOWN(-1) - } - - companion object { - @JvmStatic - fun forTag(tag: Int): Type { - for (value in Type.values()) { - if (value != UNKNOWN && value.tag == tag) { - return value - } - } - throw IllegalArgumentException("Unsupported or unknown constant pool tag: '$tag'") - } - - @JvmStatic - fun forType(type: Type): IConstant { - return when (type) { - UTF8 -> Utf8Constant() - INTEGER -> IntegerConstant() - FLOAT -> FloatConstant() - LONG -> LongConstant() - DOUBLE -> DoubleConstant() - CLASS -> ClassConstant() - STRING -> StringConstant() - FIELD_REF, - METHOD_REF, - INTERFACE_METHOD_REF -> ReferenceConstant(type) - NAME_AND_TYPE -> NameAndTypeConstant() - METHOD_HANDLE -> MethodHandleConstant() - METHOD_TYPE -> MethodTypeConstant() - DYNAMIC, - INVOKE_DYNAMIC -> DynamicConstant(type) - MODULE -> ModuleConstant() - PACKAGE -> PackageConstant() - UNKNOWN -> throw IllegalArgumentException("$type is not allowed or not supported.") - } - } - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/IntegerConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/IntegerConstant.kt deleted file mode 100644 index 0604c87ee..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/IntegerConstant.kt +++ /dev/null @@ -1,58 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.INTEGER -import java.io.DataInputStream - -/** - * An integer constant in the constant pool of class file. - * - * @property value The value of this constant. - * @author Akash Yadav - */ -class IntegerConstant : IConstant { - override val type: Type = INTEGER - var value: Int = 0 - private set - - override fun read(input: DataInputStream) { - this.value = input.readInt() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is IntegerConstant) return false - - if (type != other.type) return false - if (value != other.value) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + value - return result - } - - override fun toString(): String { - return "IntegerConstant(type=$type, value=$value)" - } -} \ No newline at end of file diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/LongConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/LongConstant.kt deleted file mode 100644 index 0852c0652..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/LongConstant.kt +++ /dev/null @@ -1,58 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.LONG -import java.io.DataInputStream - -/** - * A long constant in the constant pool of class file. - * - * @property value The value of this constant. - * @author Akash Yadav - */ -class LongConstant : IConstant { - override val type: Type = LONG - var value: Long = 0L - private set - - override fun read(input: DataInputStream) { - this.value = input.readLong() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is LongConstant) return false - - if (type != other.type) return false - if (value != other.value) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + value.hashCode() - return result - } - - override fun toString(): String { - return "LongConstant(type=$type, value=$value)" - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/MethodHandleConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/MethodHandleConstant.kt deleted file mode 100644 index 4adb7f9bd..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/MethodHandleConstant.kt +++ /dev/null @@ -1,97 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.METHOD_HANDLE -import com.itsaky.androidide.classfile.constants.MethodHandleConstant.ReferenceKind.UNKNOWN -import java.io.DataInputStream - -/** - * A method handle constant in the constant pool of class file. - * - * @property referenceKind The kind of the reference. - * @property referenceIndex The index of the reference constant in the constant pool. The type of - * the entry in the constant pool at this index depends on [referenceKind]. - * @author Akash Yadav - */ -class MethodHandleConstant : IConstant { - override val type: Type = METHOD_HANDLE - - var referenceKind: ReferenceKind = UNKNOWN - private set - var referenceIndex: Int = -1 - private set - - @Suppress("EnumEntryName") - enum class ReferenceKind(val kind: Int) { - REF_getField(1), - REF_getStatic(2), - REF_putField(3), - REF_putStatic(4), - REF_invokeVirtual(5), - REF_invokeStatic(6), - REF_invokeSpecial(7), - REF_newInvokeSpecial(8), - REF_invokeInterface(9), - - /** - * FOR INTERNAL USE ONLY! - */ - UNKNOWN(-1) - } - - override fun read(input: DataInputStream) { - this.referenceKind = kindFor(input.readUnsignedByte()) - this.referenceIndex = input.readUnsignedShort() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is MethodHandleConstant) return false - - if (type != other.type) return false - if (referenceKind != other.referenceKind) return false - if (referenceIndex != other.referenceIndex) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + referenceKind.hashCode() - result = 31 * result + referenceIndex - return result - } - - override fun toString(): String { - return "MethodHandleConstant(type=$type, referenceKind=$referenceKind, referenceIndex=$referenceIndex)" - } - - companion object { - @JvmStatic - fun kindFor(kind: Int): ReferenceKind { - for (value in ReferenceKind.values()) { - if (value != UNKNOWN && value.kind == kind) { - return value - } - } - throw IllegalArgumentException("Invalid reference kind: '$kind'") - } - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/MethodTypeConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/MethodTypeConstant.kt deleted file mode 100644 index ecfd537c3..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/MethodTypeConstant.kt +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.METHOD_TYPE -import java.io.DataInputStream - -/** - * A method type constant in the constant pool of class file. - * - * @property descriptorIndex The index of the constant in the constant pool describing this - * constant. The entry at this index is always of type [IConstant.Type.UTF8]. - * @author Akash Yadav - */ -class MethodTypeConstant : IConstant { - override val type: Type = METHOD_TYPE - var descriptorIndex: Int = -1 - private set - - override fun read(input: DataInputStream) { - this.descriptorIndex = input.readUnsignedShort() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is MethodTypeConstant) return false - - if (type != other.type) return false - if (descriptorIndex != other.descriptorIndex) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + descriptorIndex - return result - } - - override fun toString(): String { - return "MethodTypeConstant(type=$type, descriptorIndex=$descriptorIndex)" - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/ModuleConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/ModuleConstant.kt deleted file mode 100644 index 7a403f9c6..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/ModuleConstant.kt +++ /dev/null @@ -1,58 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.MODULE -import java.io.DataInputStream - -/** - * A module info constant in the constant pool of class file. - * - * @property nameIndex The index of the name constant the constant pool. The entry at this index is always of type [IConstant.Type.UTF8]. - * @author Akash Yadav - */ -class ModuleConstant : IConstant { - override val type: Type = MODULE - var nameIndex: Int = -1 - private set - - override fun read(input: DataInputStream) { - this.nameIndex = input.readUnsignedShort() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is ModuleConstant) return false - - if (type != other.type) return false - if (nameIndex != other.nameIndex) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + nameIndex - return result - } - - override fun toString(): String { - return "ModuleConstant(type=$type, nameIndex=$nameIndex)" - } -} \ No newline at end of file diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/NameAndTypeConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/NameAndTypeConstant.kt deleted file mode 100644 index a177a12f5..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/NameAndTypeConstant.kt +++ /dev/null @@ -1,67 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.NAME_AND_TYPE -import java.io.DataInputStream - -/** - * A constant that describes the name and type of [ReferenceConstant] and [DynamicConstant] in the - * constant pool of class file. - * - * @property nameIndex The index of the constant in the constant pool which corresponds to the name - * of this constant. The entry at this index is always of type [IConstant.Type.UTF8]. - * @property descriptorIndex The index of the constant in the constant pool which corresponds to the - * descriptor of this constant. The entry at this index is always of type [IConstant.Type.UTF8]. - * @author Akash Yadav - */ -class NameAndTypeConstant : IConstant { - override val type: Type = NAME_AND_TYPE - var nameIndex: Int = -1 - private set - var descriptorIndex: Int = -1 - private set - - override fun read(input: DataInputStream) { - this.nameIndex = input.readUnsignedShort() - this.descriptorIndex = input.readUnsignedShort() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is NameAndTypeConstant) return false - - if (type != other.type) return false - if (nameIndex != other.nameIndex) return false - if (descriptorIndex != other.descriptorIndex) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + nameIndex - result = 31 * result + descriptorIndex - return result - } - - override fun toString(): String { - return "NameAndTypeConstant(type=$type, nameIndex=$nameIndex, descriptorIndex=$descriptorIndex)" - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/PackageConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/PackageConstant.kt deleted file mode 100644 index 8db3f04d3..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/PackageConstant.kt +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.MODULE -import com.itsaky.androidide.classfile.constants.IConstant.Type.PACKAGE -import java.io.DataInputStream - -/** - * A package info constant in the constant pool of class file. - * - * @property nameIndex The index of the name constant the constant pool. The entry at this index is always of type [IConstant.Type.UTF8]. - * @author Akash Yadav - */ -class PackageConstant : IConstant { - override val type: Type = PACKAGE - var nameIndex: Int = -1 - private set - - override fun read(input: DataInputStream) { - this.nameIndex = input.readUnsignedShort() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is PackageConstant) return false - - if (type != other.type) return false - if (nameIndex != other.nameIndex) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + nameIndex - return result - } - - override fun toString(): String { - return "PackageConstant(type=$type, nameIndex=$nameIndex)" - } -} \ No newline at end of file diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/ReferenceConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/ReferenceConstant.kt deleted file mode 100644 index 86910fa37..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/ReferenceConstant.kt +++ /dev/null @@ -1,70 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import java.io.DataInputStream - -/** - * A reference constant in the constant pool of class file. - * - * Type [type] is always one of the following : - * - [IConstant.Type.FIELD_REF] - * - [IConstant.Type.METHOD_REF] - * - [IConstant.Type.INTERFACE_METHOD_REF] - * - * @property classIndex The index of the class constant in the constant pool. The entry at this - * index is always of type [IConstant.Type.CLASS]. - * @property nameTypeIndex The index of the name and type constant in the constant pool. The entry - * at this index is always of type [IConstant.Type.NAME_AND_TYPE]. - * @author Akash Yadav - */ -class ReferenceConstant(override val type: Type) : IConstant { - - var classIndex: Int = -1 - private set - var nameTypeIndex: Int = -1 - private set - - override fun read(input: DataInputStream) { - this.classIndex = input.readUnsignedShort() - this.nameTypeIndex = input.readUnsignedShort() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is ReferenceConstant) return false - - if (type != other.type) return false - if (classIndex != other.classIndex) return false - if (nameTypeIndex != other.nameTypeIndex) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + classIndex - result = 31 * result + nameTypeIndex - return result - } - - override fun toString(): String { - return "ReferenceConstant(type=$type, classIndex=$classIndex, nameTypeIndex=$nameTypeIndex)" - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/StringConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/StringConstant.kt deleted file mode 100644 index 410b04c85..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/StringConstant.kt +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.STRING -import java.io.DataInputStream - -/** - * A string constant in the constant pool of class file. - * - * @property stringIndex The index of the constant in the constant pool. The entry at this index is - * always of type [IConstant.Type.UTF8]. - * @author Akash Yadav - */ -class StringConstant : IConstant { - override val type: Type = STRING - var stringIndex: Int = -1 - private set - - override fun read(input: DataInputStream) { - this.stringIndex = input.readUnsignedShort() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is StringConstant) return false - - if (type != other.type) return false - if (stringIndex != other.stringIndex) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + stringIndex - return result - } - - override fun toString(): String { - return "StringConstant(type=$type, stringIndex=$stringIndex)" - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/Utf8Constant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/Utf8Constant.kt deleted file mode 100644 index 79e2ccf7f..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/constants/Utf8Constant.kt +++ /dev/null @@ -1,64 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.constants - -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.UTF8 -import java.io.DataInputStream - -/** - * A UTF-8 constant in the constant pool. - * - * @property bytes The bytes of this UTF-8 constant. This always has a length of - * [Utf8Constant.length]. - * @author Akash Yadav - */ -class Utf8Constant : IConstant { - override val type: Type = UTF8 - var bytes: ByteArray = ByteArray(0) - private set - - /** Get the string represented by this constant. */ - fun content() = this.bytes.decodeToString() - - override fun read(input: DataInputStream) { - val length = input.readUnsignedShort() - this.bytes = ByteArray(length) - input.readFully(bytes) - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is Utf8Constant) return false - - if (type != other.type) return false - if (!bytes.contentEquals(other.bytes)) return false - - return true - } - - override fun hashCode(): Int { - var result = type.hashCode() - result = 31 * result + bytes.contentHashCode() - return result - } - - override fun toString(): String { - return "Utf8Constant(type=$type, bytes=${bytes.contentToString()}, bytesAsString=${content()})" - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/ClassFile.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/ClassFile.kt deleted file mode 100644 index f63b83ea2..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/ClassFile.kt +++ /dev/null @@ -1,70 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.internal - -import com.itsaky.androidide.classfile.ClassFileVersion -import com.itsaky.androidide.classfile.ClassFileVersion.JAVA_1_0 -import com.itsaky.androidide.classfile.constants.IConstant -import com.itsaky.androidide.classfile.IClassFile -import com.itsaky.androidide.classfile.IFieldInfo -import com.itsaky.androidide.classfile.constants.ClassConstant -import com.itsaky.androidide.classfile.constants.Utf8Constant - -/** - * Model class for holding information about class files. - * - * @author Akash Yadav - */ -internal class ClassFile : IClassFile { - - override var version: ClassFileVersion = JAVA_1_0 - override var constantPool: Array = emptyArray() - override var accessFlags: Int = 0 - override var thisClass: Int = -1 - override var superClass: Int = -1 - override var interfaces: IntArray = IntArray(0) - override var fields: Array = emptyArray() - - override fun getName(): String { - val entry = constantPool[thisClass] - if (entry !is ClassConstant) { - throw IllegalStateException("Invalid constant at index: '$thisClass'") - } - - val nameEntry = constantPool[entry.nameIndex] - if (nameEntry !is Utf8Constant) { - throw IllegalStateException("Invalid constant at index: '$thisClass'") - } - - return nameEntry.bytes.decodeToString() - } - - override fun getSuperClassName(): String { - val entry = constantPool[superClass] - if (entry !is ClassConstant) { - throw IllegalStateException("Invalid constant at index: '$superClass'") - } - - val nameEntry = constantPool[entry.nameIndex] - if (nameEntry !is Utf8Constant) { - throw IllegalStateException("Invalid constant at index: '$superClass'") - } - - return nameEntry.bytes.decodeToString() - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/FieldInfo.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/FieldInfo.kt deleted file mode 100644 index c9c52c692..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/FieldInfo.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.internal - -import com.itsaky.androidide.classfile.IFieldInfo -import com.itsaky.androidide.classfile.attributes.IAttribute - -/** - * Default internal implementation of [IFieldInfo]. - * - * @author Akash Yadav - */ -internal class FieldInfo : IFieldInfo { - override var accessFlags: Int = 0 - internal set - override var nameIndex: Int = -1 - internal set - override var descriptorIndex: Int = -1 - internal set - override var attributes: Array = emptyArray() - internal set -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/NullAttribute.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/NullAttribute.kt deleted file mode 100644 index 73d3c3356..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/NullAttribute.kt +++ /dev/null @@ -1,44 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.internal - -import com.itsaky.androidide.classfile.ClassFileVersion -import com.itsaky.androidide.classfile.IClassFile -import com.itsaky.androidide.classfile.attributes.IAttribute -import com.itsaky.androidide.classfile.attributes.IAttribute.Type -import java.io.DataInputStream - -/** - * **FOR INTERNAL USE ONLY** - * - * Represents a null attribute. Not present in a class file. - * - * @author Akash Yadav - */ -internal object NullAttribute : IAttribute { - override val version: ClassFileVersion - get() = throw UnsupportedOperationException() - override val nameIndex: Int - get() = throw UnsupportedOperationException() - override val type: Type - get() = throw UnsupportedOperationException() - - override fun read(attrLength: Int, file: IClassFile, input: DataInputStream) { - throw UnsupportedOperationException() - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/NullConstant.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/NullConstant.kt deleted file mode 100644 index ce2b11d84..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/NullConstant.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.internal - -import com.itsaky.androidide.classfile.constants.IConstant -import com.itsaky.androidide.classfile.constants.IConstant.Type -import com.itsaky.androidide.classfile.constants.IConstant.Type.UNKNOWN -import java.io.DataInputStream - -/** @author Akash Yadav */ -object NullConstant : IConstant { - override val type: Type = UNKNOWN - - override fun read(input: DataInputStream) { - throw UnsupportedOperationException() - } -} diff --git a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/NullField.kt b/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/NullField.kt deleted file mode 100644 index 6d4510442..000000000 --- a/subprojects/classfile/src/main/java/com/itsaky/androidide/classfile/internal/NullField.kt +++ /dev/null @@ -1,39 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile.internal - -import com.itsaky.androidide.classfile.IFieldInfo -import com.itsaky.androidide.classfile.attributes.IAttribute - -/** - * **FOR INTERNAL USE ONLY** - * - * Represents a null field. Not available in class file. - * - * @author Akash Yadav - */ -internal object NullField : IFieldInfo { - override val accessFlags: Int - get() = throw UnsupportedOperationException() - override val nameIndex: Int - get() = throw UnsupportedOperationException() - override val descriptorIndex: Int - get() = throw UnsupportedOperationException() - override val attributes: Array - get() = throw UnsupportedOperationException() -} diff --git a/subprojects/classfile/src/test/java/com/itsaky/androidide/classfile/ClassFileReaderTest.kt b/subprojects/classfile/src/test/java/com/itsaky/androidide/classfile/ClassFileReaderTest.kt deleted file mode 100644 index 1586f6a4a..000000000 --- a/subprojects/classfile/src/test/java/com/itsaky/androidide/classfile/ClassFileReaderTest.kt +++ /dev/null @@ -1,107 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.classfile - -import com.google.common.truth.Truth.assertThat -import com.itsaky.androidide.classfile.constants.ClassConstant -import com.itsaky.androidide.classfile.constants.Utf8Constant -import java.io.File -import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.JUnit4 - -/** @author Akash Yadav */ -@RunWith(JUnit4::class) -class ClassFileReaderTest { - - // Extension changed to .txt to prevent git from ignoring this file - private val codeEditor = File("./src/test/resources/CodeEditor.class.txt") - - @Test - fun `basic test`() { - val input = codeEditor.inputStream() - val reader = ClassFileReader(input) - val file = reader.read() - - assertThat(file).isNotNull() - assertThat(file.version).isEqualTo(ClassFileVersion.JAVA_11) - - checkBaseNames(file) - checkInterfaces(file) - checkFIelds(file) - checkAccessFlags(file) - } - - private fun checkAccessFlags(file: IClassFile) { - assertThat(file.accessFlags and ClassFileConstants.ACC_PUBLIC).isNotEqualTo(0) - assertThat(file.accessFlags and ClassFileConstants.ACC_SUPER).isNotEqualTo(0) - - assertThat(file.accessFlags and ClassFileConstants.ACC_ABSTRACT).isEqualTo(0) - assertThat(file.accessFlags and ClassFileConstants.ACC_FINAL).isEqualTo(0) - assertThat(file.accessFlags and ClassFileConstants.ACC_ANNOTATION).isEqualTo(0) - assertThat(file.accessFlags and ClassFileConstants.ACC_ENUM).isEqualTo(0) - assertThat(file.accessFlags and ClassFileConstants.ACC_INTERFACE).isEqualTo(0) - assertThat(file.accessFlags and ClassFileConstants.ACC_MODULE).isEqualTo(0) - assertThat(file.accessFlags and ClassFileConstants.ACC_SYNTHETIC).isEqualTo(0) - } - - private fun checkFIelds(file: IClassFile) { - file.fields - .firstOrNull { - (file.constantPool[it.nameIndex] as Utf8Constant).content() == "mTextActionWindow" - } - .apply { - assertThat(this).isNotNull() - - val name = (file.constantPool[this!!.nameIndex] as Utf8Constant).content() - assertThat(name).isEqualTo("mTextActionWindow") - - val descriptor = (file.constantPool[this.descriptorIndex] as Utf8Constant).content() - assertThat(descriptor) - .isEqualTo("Lio/github/rosemoe/sora/widget/component/EditorTextActionWindow;") - - assertThat(this.accessFlags and ClassFileConstants.ACC_PROTECTED).isNotEqualTo(0) - assertThat(this.accessFlags and ClassFileConstants.ACC_PRIVATE).isEqualTo(0) - assertThat(this.accessFlags and ClassFileConstants.ACC_PUBLIC).isEqualTo(0) - } - } - - private fun checkInterfaces(file: IClassFile) { - file.interfaces - .map { file.constantPool[it] } - .filterIsInstance() - .map { file.constantPool[it.nameIndex] } - .filterIsInstance() - .map { it.bytes.decodeToString() } - .apply { - assertThat(this).isNotEmpty() - assertThat(this.size).isEqualTo(3) - assertThat(this) - .containsExactly( - "io/github/rosemoe/sora/text/ContentListener", - "io/github/rosemoe/sora/text/FormatThread\$FormatResultReceiver", - "io/github/rosemoe/sora/text/LineRemoveListener" - ) - } - } - - private fun checkBaseNames(file: IClassFile) { - assertThat(file.getName()).isEqualTo("io/github/rosemoe/sora/widget/CodeEditor") - assertThat(file.getSuperClassName()).isEqualTo("android/view/View") - } -} diff --git a/subprojects/classfile/src/test/resources/CodeEditor.class.txt b/subprojects/classfile/src/test/resources/CodeEditor.class.txt deleted file mode 100644 index 0d3babcc2..000000000 Binary files a/subprojects/classfile/src/test/resources/CodeEditor.class.txt and /dev/null differ diff --git a/subprojects/classfile/src/test/resources/CodeEditor.java.javap_out b/subprojects/classfile/src/test/resources/CodeEditor.java.javap_out deleted file mode 100644 index 355850dc7..000000000 --- a/subprojects/classfile/src/test/resources/CodeEditor.java.javap_out +++ /dev/null @@ -1,14316 +0,0 @@ -Classfile /home/itsaky/Projects/Android/AndroidIDE/build-tools/classfile/src/test/resources/CodeEditor.class - Last modified Jun 30, 2022; size 85256 bytes - SHA-256 checksum b941dc280fda0915d9806c1b56ce63dbee1cd8837a90b4474861ab842ca8b4bd - Compiled from "CodeEditor.java" -public class io.github.rosemoe.sora.widget.CodeEditor extends android.view.View implements io.github.rosemoe.sora.text.ContentListener,io.github.rosemoe.sora.text.FormatThread$FormatResultReceiver,io.github.rosemoe.sora.text.LineRemoveListener - minor version: 0 - major version: 55 - flags: (0x0021) ACC_PUBLIC, ACC_SUPER - this_class: #46 // io/github/rosemoe/sora/widget/CodeEditor - super_class: #754 // android/view/View - interfaces: 3, fields: 108, methods: 286, attributes: 4 -Constant pool: - #1 = Methodref #46.#1630 // io/github/rosemoe/sora/widget/CodeEditor."":(Landroid/content/Context;Landroid/util/AttributeSet;)V - #2 = Methodref #46.#1631 // io/github/rosemoe/sora/widget/CodeEditor."":(Landroid/content/Context;Landroid/util/AttributeSet;I)V - #3 = Methodref #46.#1632 // io/github/rosemoe/sora/widget/CodeEditor."":(Landroid/content/Context;Landroid/util/AttributeSet;II)V - #4 = Methodref #754.#1632 // android/view/View."":(Landroid/content/Context;Landroid/util/AttributeSet;II)V - #5 = Fieldref #46.#1633 // io/github/rosemoe/sora/widget/CodeEditor.mDownX:I - #6 = Fieldref #46.#1634 // io/github/rosemoe/sora/widget/CodeEditor.mLineSpacingMultiplier:F - #7 = Fieldref #46.#1635 // io/github/rosemoe/sora/widget/CodeEditor.mLineSpacingAdd:F - #8 = Fieldref #1636.#1637 // io/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle.WAVY_LINE:Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle; - #9 = Fieldref #46.#1638 // io/github/rosemoe/sora/widget/CodeEditor.mDiagnosticStyle:Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle; - #10 = Fieldref #46.#1639 // io/github/rosemoe/sora/widget/CodeEditor.mLastMakeVisible:J - #11 = Class #1640 // java/util/ArrayList - #12 = Methodref #11.#1641 // java/util/ArrayList."":(I)V - #13 = Fieldref #46.#1642 // io/github/rosemoe/sora/widget/CodeEditor.defSpans:Ljava/util/List; - #14 = Class #1643 // io/github/rosemoe/sora/widget/EditorKeyEventHandler - #15 = Methodref #14.#1644 // io/github/rosemoe/sora/widget/EditorKeyEventHandler."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #16 = Fieldref #46.#1645 // io/github/rosemoe/sora/widget/CodeEditor.mKeyEventHandler:Lio/github/rosemoe/sora/widget/EditorKeyEventHandler; - #17 = Methodref #46.#1646 // io/github/rosemoe/sora/widget/CodeEditor.initialize:(Landroid/util/AttributeSet;II)V - #18 = Class #1647 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion - #19 = Fieldref #46.#1648 // io/github/rosemoe/sora/widget/CodeEditor.mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - #20 = Class #1649 // io/github/rosemoe/sora/widget/component/Magnifier - #21 = Fieldref #46.#1650 // io/github/rosemoe/sora/widget/CodeEditor.mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - #22 = Fieldref #119.#1651 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.mMagnifier:Lio/github/rosemoe/sora/widget/component/Magnifier; - #23 = Class #1652 // io/github/rosemoe/sora/widget/component/EditorTextActionWindow - #24 = Fieldref #46.#1653 // io/github/rosemoe/sora/widget/CodeEditor.mTextActionWindow:Lio/github/rosemoe/sora/widget/component/EditorTextActionWindow; - #25 = Class #1654 // java/lang/IllegalArgumentException - #26 = String #1655 // Unknown component type - #27 = Methodref #25.#1656 // java/lang/IllegalArgumentException."":(Ljava/lang/String;)V - #28 = Methodref #46.#1657 // io/github/rosemoe/sora/widget/CodeEditor.getComponent:(Ljava/lang/Class;)Lio/github/rosemoe/sora/widget/component/EditorBuiltinComponent; - #29 = InterfaceMethodref #966.#1658 // io/github/rosemoe/sora/widget/component/EditorBuiltinComponent.isEnabled:()Z - #30 = InterfaceMethodref #966.#1659 // io/github/rosemoe/sora/widget/component/EditorBuiltinComponent.setEnabled:(Z)V - #31 = Methodref #14.#1660 // io/github/rosemoe/sora/widget/EditorKeyEventHandler.getKeyMetaStates:()Lio/github/rosemoe/sora/widget/KeyMetaStates; - #32 = Methodref #1661.#1662 // java/lang/System.currentTimeMillis:()J - #33 = Methodref #46.#1663 // io/github/rosemoe/sora/widget/CodeEditor.isLineNumberEnabled:()Z - #34 = Methodref #46.#1664 // io/github/rosemoe/sora/widget/CodeEditor.measureLineNumber:()F - #35 = Fieldref #46.#1665 // io/github/rosemoe/sora/widget/CodeEditor.mDividerMargin:F - #36 = Fieldref #46.#1666 // io/github/rosemoe/sora/widget/CodeEditor.mDividerWidth:F - #37 = Fieldref #46.#1667 // io/github/rosemoe/sora/widget/CodeEditor.mDpUnit:F - #38 = Float 5.0f - #39 = Fieldref #46.#1668 // io/github/rosemoe/sora/widget/CodeEditor.mLeftHandle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - #40 = Fieldref #46.#1669 // io/github/rosemoe/sora/widget/CodeEditor.mRightHandle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - #41 = Fieldref #46.#1670 // io/github/rosemoe/sora/widget/CodeEditor.mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - #42 = InterfaceMethodref #1671.#1672 // io/github/rosemoe/sora/widget/layout/Layout.getCharLayoutOffset:(II)[F - #43 = Methodref #46.#1673 // io/github/rosemoe/sora/widget/CodeEditor.measureTextRegionOffset:()F - #44 = Methodref #46.#1674 // io/github/rosemoe/sora/widget/CodeEditor.getOffsetX:()I - #45 = Methodref #46.#1675 // io/github/rosemoe/sora/widget/CodeEditor.getOffsetY:()I - #46 = Class #1676 // io/github/rosemoe/sora/widget/CodeEditor - #47 = String #1677 // CodeEditor - #48 = String #1678 // sora-editor\nCopyright (C) Rosemoe roses2020@qq.com\nThis project is distributed under the LGPL v2.1 license - #49 = Methodref #1679.#1680 // android/util/Log.v:(Ljava/lang/String;Ljava/lang/String;)I - #50 = Class #1681 // io/github/rosemoe/sora/event/EventManager - #51 = Methodref #50.#1682 // io/github/rosemoe/sora/event/EventManager."":()V - #52 = Fieldref #46.#1683 // io/github/rosemoe/sora/widget/CodeEditor.mEventManager:Lio/github/rosemoe/sora/event/EventManager; - #53 = Class #1684 // io/github/rosemoe/sora/widget/EditorPainter - #54 = Methodref #53.#1644 // io/github/rosemoe/sora/widget/EditorPainter."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #55 = Fieldref #46.#1685 // io/github/rosemoe/sora/widget/CodeEditor.mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - #56 = Class #1686 // io/github/rosemoe/sora/widget/EditorStyleDelegate - #57 = Methodref #56.#1644 // io/github/rosemoe/sora/widget/EditorStyleDelegate."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #58 = Fieldref #46.#1687 // io/github/rosemoe/sora/widget/CodeEditor.mStyleDelegate:Lio/github/rosemoe/sora/widget/EditorStyleDelegate; - #59 = Fieldref #1688.#1689 // android/os/Build$VERSION.SDK_INT:I - #60 = Class #1691 // android/os/Build$VERSION_CODES - #61 = Methodref #46.#1693 // io/github/rosemoe/sora/widget/CodeEditor.getContext:()Landroid/content/Context; - #62 = Methodref #1694.#1695 // android/view/ViewConfiguration.get:(Landroid/content/Context;)Landroid/view/ViewConfiguration; - #63 = Methodref #1694.#1696 // android/view/ViewConfiguration.getScaledVerticalScrollFactor:()F - #64 = Fieldref #46.#1697 // io/github/rosemoe/sora/widget/CodeEditor.mVerticalScrollFactor:F - #65 = Class #1699 // android/R$attr - #66 = Integer 16842829 - #67 = Methodref #137.#1701 // android/content/Context.obtainStyledAttributes:([I)Landroid/content/res/TypedArray; - #68 = Float 32.0f - #69 = Methodref #998.#1702 // android/content/res/TypedArray.getFloat:(IF)F - #70 = Methodref #998.#1703 // android/content/res/TypedArray.recycle:()V - #71 = Methodref #998.#1704 // android/content/res/TypedArray.close:()V - #72 = Class #1705 // java/lang/Throwable - #73 = Methodref #72.#1706 // java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V - #74 = Class #1707 // java/lang/Exception - #75 = String #1708 // Failed to get scroll factor - #76 = Methodref #1679.#1709 // android/util/Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I - #77 = Class #1710 // io/github/rosemoe/sora/widget/HwAcceleratedRenderer - #78 = Methodref #77.#1644 // io/github/rosemoe/sora/widget/HwAcceleratedRenderer."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #79 = Fieldref #46.#1711 // io/github/rosemoe/sora/widget/CodeEditor.mRenderer:Lio/github/rosemoe/sora/widget/HwAcceleratedRenderer; - #80 = Fieldref #1712.#1713 // io/github/rosemoe/sora/R$string.editor_line_number_tip_prefix:I - #81 = Methodref #137.#1714 // android/content/Context.getString:(I)Ljava/lang/String; - #82 = Fieldref #46.#1715 // io/github/rosemoe/sora/widget/CodeEditor.mLnTip:Ljava/lang/String; - #83 = Fieldref #1712.#1716 // io/github/rosemoe/sora/R$string.editor_formatting:I - #84 = Fieldref #46.#1717 // io/github/rosemoe/sora/widget/CodeEditor.mFormatTip:Ljava/lang/String; - #85 = Class #1718 // io/github/rosemoe/sora/widget/DirectAccessProps - #86 = Methodref #85.#1682 // io/github/rosemoe/sora/widget/DirectAccessProps."":()V - #87 = Fieldref #46.#1719 // io/github/rosemoe/sora/widget/CodeEditor.mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - #88 = Class #1720 // android/util/TypedValue - #89 = Float 10.0f - #90 = Methodref #1471.#1721 // android/content/res/Resources.getSystem:()Landroid/content/res/Resources; - #91 = Methodref #1471.#1722 // android/content/res/Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics; - #92 = Methodref #88.#1723 // android/util/TypedValue.applyDimension:(IFLandroid/util/DisplayMetrics;)F - #93 = Fieldref #46.#1724 // io/github/rosemoe/sora/widget/CodeEditor.mInsertSelWidth:F - #94 = Class #1725 // android/graphics/Matrix - #95 = Methodref #94.#1682 // android/graphics/Matrix."":()V - #96 = Fieldref #46.#1726 // io/github/rosemoe/sora/widget/CodeEditor.mMatrix:Landroid/graphics/Matrix; - #97 = Class #1727 // io/github/rosemoe/sora/widget/style/builtin/HandleStyleSideDrop - #98 = Methodref #97.#1728 // io/github/rosemoe/sora/widget/style/builtin/HandleStyleSideDrop."":(Landroid/content/Context;)V - #99 = Fieldref #46.#1729 // io/github/rosemoe/sora/widget/CodeEditor.mHandleStyle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle; - #100 = Class #1730 // io/github/rosemoe/sora/widget/EditorSearcher - #101 = Methodref #100.#1644 // io/github/rosemoe/sora/widget/EditorSearcher."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #102 = Fieldref #46.#1731 // io/github/rosemoe/sora/widget/CodeEditor.mSearcher:Lio/github/rosemoe/sora/widget/EditorSearcher; - #103 = Class #1732 // io/github/rosemoe/sora/widget/style/builtin/MoveCursorAnimator - #104 = Methodref #103.#1644 // io/github/rosemoe/sora/widget/style/builtin/MoveCursorAnimator."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #105 = Fieldref #46.#1733 // io/github/rosemoe/sora/widget/CodeEditor.mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - #106 = Methodref #46.#1734 // io/github/rosemoe/sora/widget/CodeEditor.setCursorBlinkPeriod:(I)V - #107 = Class #1735 // android/view/inputmethod/CursorAnchorInfo$Builder - #108 = Methodref #107.#1682 // android/view/inputmethod/CursorAnchorInfo$Builder."":()V - #109 = Fieldref #46.#1736 // io/github/rosemoe/sora/widget/CodeEditor.mAnchorInfoBuilder:Landroid/view/inputmethod/CursorAnchorInfo$Builder; - #110 = Fieldref #46.#1737 // io/github/rosemoe/sora/widget/CodeEditor.mStartedActionMode:I - #111 = Float 18.0f - #112 = Methodref #46.#1738 // io/github/rosemoe/sora/widget/CodeEditor.setTextSize:(F)V - #113 = Methodref #53.#1739 // io/github/rosemoe/sora/widget/EditorPainter.getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - #114 = Methodref #1740.#1741 // io/github/rosemoe/sora/graphics/Paint.getTextSize:()F - #115 = Methodref #46.#1742 // io/github/rosemoe/sora/widget/CodeEditor.setLineInfoTextSize:(F)V - #116 = Class #1743 // io/github/rosemoe/sora/widget/schemes/EditorColorScheme - #117 = Methodref #116.#1644 // io/github/rosemoe/sora/widget/schemes/EditorColorScheme."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #118 = Fieldref #46.#1744 // io/github/rosemoe/sora/widget/CodeEditor.mColors:Lio/github/rosemoe/sora/widget/schemes/EditorColorScheme; - #119 = Class #1745 // io/github/rosemoe/sora/widget/EditorTouchEventHandler - #120 = Methodref #119.#1644 // io/github/rosemoe/sora/widget/EditorTouchEventHandler."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #121 = Class #1746 // android/view/GestureDetector - #122 = Methodref #121.#1747 // android/view/GestureDetector."":(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V - #123 = Fieldref #46.#1748 // io/github/rosemoe/sora/widget/CodeEditor.mBasicDetector:Landroid/view/GestureDetector; - #124 = Methodref #121.#1749 // android/view/GestureDetector.setOnDoubleTapListener:(Landroid/view/GestureDetector$OnDoubleTapListener;)V - #125 = Class #1750 // android/view/ScaleGestureDetector - #126 = Methodref #125.#1751 // android/view/ScaleGestureDetector."":(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V - #127 = Fieldref #46.#1752 // io/github/rosemoe/sora/widget/CodeEditor.mScaleDetector:Landroid/view/ScaleGestureDetector; - #128 = Class #1753 // io/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor - #129 = Methodref #128.#1682 // io/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor."":()V - #130 = Fieldref #46.#1754 // io/github/rosemoe/sora/widget/CodeEditor.mInsertHandle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - #131 = Fieldref #865.#1755 // android/graphics/Paint$Align.RIGHT:Landroid/graphics/Paint$Align; - #132 = Fieldref #46.#1756 // io/github/rosemoe/sora/widget/CodeEditor.mLineNumberAlign:Landroid/graphics/Paint$Align; - #133 = Fieldref #46.#1757 // io/github/rosemoe/sora/widget/CodeEditor.mWait:Z - #134 = Fieldref #46.#1758 // io/github/rosemoe/sora/widget/CodeEditor.mBlockLineEnabled:Z - #135 = Float 1.5f - #136 = Fieldref #46.#1759 // io/github/rosemoe/sora/widget/CodeEditor.mBlockLineWidth:F - #137 = Class #1760 // android/content/Context - #138 = String #1761 // input_method - #139 = Methodref #137.#1762 // android/content/Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object; - #140 = Class #1763 // android/view/inputmethod/InputMethodManager - #141 = Fieldref #46.#1764 // io/github/rosemoe/sora/widget/CodeEditor.mInputMethodManager:Landroid/view/inputmethod/InputMethodManager; - #142 = String #1765 // clipboard - #143 = Class #1766 // android/content/ClipboardManager - #144 = Fieldref #46.#1767 // io/github/rosemoe/sora/widget/CodeEditor.mClipboardManager:Landroid/content/ClipboardManager; - #145 = Methodref #46.#1768 // io/github/rosemoe/sora/widget/CodeEditor.setUndoEnabled:(Z)V - #146 = Fieldref #46.#1769 // io/github/rosemoe/sora/widget/CodeEditor.mCursorPosition:I - #147 = Methodref #46.#1770 // io/github/rosemoe/sora/widget/CodeEditor.setScalable:(Z)V - #148 = Methodref #46.#1771 // io/github/rosemoe/sora/widget/CodeEditor.setFocusable:(Z)V - #149 = Methodref #46.#1772 // io/github/rosemoe/sora/widget/CodeEditor.setFocusableInTouchMode:(Z)V - #150 = Fieldref #46.#1773 // io/github/rosemoe/sora/widget/CodeEditor.mHighlightBracketPair:Z - #151 = Class #1774 // io/github/rosemoe/sora/widget/EditorInputConnection - #152 = Methodref #151.#1644 // io/github/rosemoe/sora/widget/EditorInputConnection."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #153 = Fieldref #46.#1775 // io/github/rosemoe/sora/widget/CodeEditor.mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - #154 = Methodref #18.#1644 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #155 = Class #1776 // android/widget/EdgeEffect - #156 = Methodref #155.#1728 // android/widget/EdgeEffect."":(Landroid/content/Context;)V - #157 = Fieldref #46.#1777 // io/github/rosemoe/sora/widget/CodeEditor.mVerticalGlow:Landroid/widget/EdgeEffect; - #158 = Fieldref #46.#1778 // io/github/rosemoe/sora/widget/CodeEditor.mHorizontalGlow:Landroid/widget/EdgeEffect; - #159 = Methodref #23.#1644 // io/github/rosemoe/sora/widget/component/EditorTextActionWindow."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #160 = Methodref #46.#1779 // io/github/rosemoe/sora/widget/CodeEditor.setEditorLanguage:(Lio/github/rosemoe/sora/lang/Language;)V - #161 = Methodref #46.#1780 // io/github/rosemoe/sora/widget/CodeEditor.setText:(Ljava/lang/CharSequence;)V - #162 = Methodref #46.#1781 // io/github/rosemoe/sora/widget/CodeEditor.setTabWidth:(I)V - #163 = Methodref #46.#1782 // io/github/rosemoe/sora/widget/CodeEditor.setHighlightCurrentLine:(Z)V - #164 = Methodref #46.#1783 // io/github/rosemoe/sora/widget/CodeEditor.setVerticalScrollBarEnabled:(Z)V - #165 = Methodref #46.#1784 // io/github/rosemoe/sora/widget/CodeEditor.setHighlightCurrentBlock:(Z)V - #166 = Methodref #46.#1785 // io/github/rosemoe/sora/widget/CodeEditor.setDisplayLnPanel:(Z)V - #167 = Methodref #46.#1786 // io/github/rosemoe/sora/widget/CodeEditor.setHorizontalScrollBarEnabled:(Z)V - #168 = Methodref #46.#1787 // io/github/rosemoe/sora/widget/CodeEditor.setFirstLineNumberAlwaysVisible:(Z)V - #169 = Methodref #46.#1788 // io/github/rosemoe/sora/widget/CodeEditor.setCursorAnimationEnabled:(Z)V - #170 = Methodref #46.#1789 // io/github/rosemoe/sora/widget/CodeEditor.setEditable:(Z)V - #171 = Methodref #46.#1790 // io/github/rosemoe/sora/widget/CodeEditor.setLineNumberEnabled:(Z)V - #172 = Methodref #46.#1791 // io/github/rosemoe/sora/widget/CodeEditor.setHardwareAcceleratedDrawAllowed:(Z)V - #173 = Methodref #46.#1792 // io/github/rosemoe/sora/widget/CodeEditor.setInterceptParentHorizontalScrollIfNeeded:(Z)V - #174 = Fieldref #1793.#1794 // android/graphics/Typeface.DEFAULT:Landroid/graphics/Typeface; - #175 = Methodref #46.#1795 // io/github/rosemoe/sora/widget/CodeEditor.setTypefaceText:(Landroid/graphics/Typeface;)V - #176 = Methodref #46.#1796 // io/github/rosemoe/sora/widget/CodeEditor.setCompletionWndPositionMode:(I)V - #177 = Methodref #46.#1797 // io/github/rosemoe/sora/widget/CodeEditor.setDefaultFocusHighlightEnabled:(Z)V - #178 = Class #1798 // android/view/ContextThemeWrapper - #179 = Methodref #1799.#1800 // io/github/rosemoe/sora/util/ThemeUtils.getColorPrimary:(Landroid/view/ContextThemeWrapper;)I - #180 = Methodref #46.#1801 // io/github/rosemoe/sora/widget/CodeEditor.setEdgeEffectColor:(I)V - #181 = Methodref #125.#1802 // android/view/ScaleGestureDetector.setQuickScaleEnabled:(Z)V - #182 = Fieldref #46.#1803 // io/github/rosemoe/sora/widget/CodeEditor.mCompletionPosMode:I - #183 = Methodref #46.#1804 // io/github/rosemoe/sora/widget/CodeEditor.updateCompletionWindowPosition:()V - #184 = Methodref #1805.#1806 // java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; - #185 = Class #1807 // java/lang/String - #186 = Fieldref #46.#1808 // io/github/rosemoe/sora/widget/CodeEditor.mPinLineNumber:Z - #187 = Methodref #46.#1809 // io/github/rosemoe/sora/widget/CodeEditor.invalidate:()V - #188 = Fieldref #46.#1810 // io/github/rosemoe/sora/widget/CodeEditor.mFirstLineNumberAlwaysVisible:Z - #189 = Methodref #46.#1811 // io/github/rosemoe/sora/widget/CodeEditor.isWordwrap:()Z - #190 = Methodref #185.#1812 // java/lang/String.length:()I - #191 = String #1813 // selectionOffset is invalid - #192 = Methodref #46.#1814 // io/github/rosemoe/sora/widget/CodeEditor.getText:()Lio/github/rosemoe/sora/text/Content; - #193 = Methodref #575.#1815 // io/github/rosemoe/sora/text/Content.getCursor:()Lio/github/rosemoe/sora/text/Cursor; - #194 = Methodref #1025.#1816 // io/github/rosemoe/sora/text/Cursor.isSelected:()Z - #195 = Methodref #46.#1817 // io/github/rosemoe/sora/widget/CodeEditor.deleteText:()V - #196 = Methodref #46.#1818 // io/github/rosemoe/sora/widget/CodeEditor.notifyIMEExternalCursorChange:()V - #197 = Fieldref #46.#1819 // io/github/rosemoe/sora/widget/CodeEditor.mText:Lio/github/rosemoe/sora/text/Content; - #198 = Methodref #1025.#1820 // io/github/rosemoe/sora/text/Cursor.getRightLine:()I - #199 = Methodref #1025.#1821 // io/github/rosemoe/sora/text/Cursor.getRightColumn:()I - #200 = Methodref #575.#1822 // io/github/rosemoe/sora/text/Content.insert:(IILjava/lang/CharSequence;)V - #201 = Methodref #575.#1823 // io/github/rosemoe/sora/text/Content.getIndexer:()Lio/github/rosemoe/sora/text/Indexer; - #202 = Methodref #1025.#1824 // io/github/rosemoe/sora/text/Cursor.getRight:()I - #203 = InterfaceMethodref #1825.#1826 // io/github/rosemoe/sora/text/Indexer.getCharPosition:(I)Lio/github/rosemoe/sora/text/CharPosition; - #204 = Fieldref #581.#1827 // io/github/rosemoe/sora/text/CharPosition.line:I - #205 = Fieldref #581.#1828 // io/github/rosemoe/sora/text/CharPosition.column:I - #206 = Methodref #46.#1829 // io/github/rosemoe/sora/widget/CodeEditor.setSelection:(II)V - #207 = Methodref #18.#1830 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.setAdapter:(Lio/github/rosemoe/sora/widget/component/EditorCompletionAdapter;)V - #208 = Fieldref #46.#1831 // io/github/rosemoe/sora/widget/CodeEditor.mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - #209 = Class #1832 // io/github/rosemoe/sora/widget/CursorBlink - #210 = Methodref #209.#1833 // io/github/rosemoe/sora/widget/CursorBlink."":(Lio/github/rosemoe/sora/widget/CodeEditor;I)V - #211 = Fieldref #209.#1834 // io/github/rosemoe/sora/widget/CursorBlink.period:I - #212 = Methodref #209.#1835 // io/github/rosemoe/sora/widget/CursorBlink.setPeriod:(I)V - #213 = Fieldref #209.#1836 // io/github/rosemoe/sora/widget/CursorBlink.valid:Z - #214 = Methodref #46.#1837 // io/github/rosemoe/sora/widget/CodeEditor.isAttachedToWindow:()Z - #215 = Methodref #46.#1838 // io/github/rosemoe/sora/widget/CodeEditor.post:(Ljava/lang/Runnable;)Z - #216 = Fieldref #46.#1839 // io/github/rosemoe/sora/widget/CodeEditor.mLigatureEnabled:Z - #217 = String #1840 // \'liga\' 0,\'calt\' 0,\'hlig\' 0,\'dlig\' 0,\'clig\' 0 - #218 = Methodref #46.#1841 // io/github/rosemoe/sora/widget/CodeEditor.setFontFeatureSettings:(Ljava/lang/String;)V - #219 = Methodref #1740.#1842 // io/github/rosemoe/sora/graphics/Paint.setFontFeatureSettingsWrapped:(Ljava/lang/String;)V - #220 = Methodref #53.#1843 // io/github/rosemoe/sora/widget/EditorPainter.getPaintOther:()Lio/github/rosemoe/sora/graphics/Paint; - #221 = Methodref #1740.#1841 // io/github/rosemoe/sora/graphics/Paint.setFontFeatureSettings:(Ljava/lang/String;)V - #222 = Methodref #53.#1844 // io/github/rosemoe/sora/widget/EditorPainter.getPaintGraph:()Lio/github/rosemoe/sora/graphics/Paint; - #223 = Methodref #53.#1845 // io/github/rosemoe/sora/widget/EditorPainter.updateTimestamp:()V - #224 = Class #1846 // io/github/rosemoe/sora/widget/style/SelectionHandleStyle - #225 = Fieldref #46.#1847 // io/github/rosemoe/sora/widget/CodeEditor.mHighlightCurrentBlock:Z - #226 = Methodref #46.#1848 // io/github/rosemoe/sora/widget/CodeEditor.findCursorBlock:()I - #227 = Fieldref #46.#1849 // io/github/rosemoe/sora/widget/CodeEditor.mStickyTextSelection:Z - #228 = Fieldref #46.#1850 // io/github/rosemoe/sora/widget/CodeEditor.mHighlightCurrentLine:Z - #229 = Fieldref #46.#1851 // io/github/rosemoe/sora/widget/CodeEditor.mLanguage:Lio/github/rosemoe/sora/lang/Language; - #230 = Class #1852 // io/github/rosemoe/sora/lang/EmptyLanguage - #231 = Methodref #230.#1682 // io/github/rosemoe/sora/lang/EmptyLanguage."":()V - #232 = InterfaceMethodref #1061.#1853 // io/github/rosemoe/sora/lang/Language.getAnalyzeManager:()Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - #233 = InterfaceMethodref #1062.#1854 // io/github/rosemoe/sora/lang/analysis/AnalyzeManager.setReceiver:(Lio/github/rosemoe/sora/lang/analysis/StyleReceiver;)V - #234 = InterfaceMethodref #1062.#1855 // io/github/rosemoe/sora/lang/analysis/AnalyzeManager.destroy:()V - #235 = InterfaceMethodref #1061.#1855 // io/github/rosemoe/sora/lang/Language.destroy:()V - #236 = Methodref #56.#1856 // io/github/rosemoe/sora/widget/EditorStyleDelegate.reset:()V - #237 = Fieldref #46.#1857 // io/github/rosemoe/sora/widget/CodeEditor.mStyles:Lio/github/rosemoe/sora/lang/styling/Styles; - #238 = Fieldref #46.#1858 // io/github/rosemoe/sora/widget/CodeEditor.mDiagnostics:Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - #239 = Methodref #18.#1859 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - #240 = Class #1860 // io/github/rosemoe/sora/text/ContentReference - #241 = Methodref #240.#1861 // io/github/rosemoe/sora/text/ContentReference."":(Lio/github/rosemoe/sora/text/Content;)V - #242 = Fieldref #46.#1862 // io/github/rosemoe/sora/widget/CodeEditor.mExtraArguments:Landroid/os/Bundle; - #243 = InterfaceMethodref #1062.#1863 // io/github/rosemoe/sora/lang/analysis/AnalyzeManager.reset:(Lio/github/rosemoe/sora/text/ContentReference;Landroid/os/Bundle;)V - #244 = Fieldref #46.#1864 // io/github/rosemoe/sora/widget/CodeEditor.mLanguageSymbolPairs:Lio/github/rosemoe/sora/widget/SymbolPairMatch; - #245 = Methodref #255.#1865 // io/github/rosemoe/sora/widget/SymbolPairMatch.setParent:(Lio/github/rosemoe/sora/widget/SymbolPairMatch;)V - #246 = InterfaceMethodref #1061.#1866 // io/github/rosemoe/sora/lang/Language.getSymbolPairs:()Lio/github/rosemoe/sora/widget/SymbolPairMatch; - #247 = Class #1867 // java/lang/StringBuilder - #248 = Methodref #247.#1682 // java/lang/StringBuilder."":()V - #249 = String #1868 // Language( - #250 = Methodref #247.#1869 // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; - #251 = Methodref #1870.#1871 // java/lang/Object.toString:()Ljava/lang/String; - #252 = String #1872 // ) returned null for symbol pairs. It is a mistake. - #253 = Methodref #247.#1871 // java/lang/StringBuilder.toString:()Ljava/lang/String; - #254 = Methodref #1679.#1873 // android/util/Log.w:(Ljava/lang/String;Ljava/lang/String;)I - #255 = Class #1874 // io/github/rosemoe/sora/widget/SymbolPairMatch - #256 = Methodref #255.#1682 // io/github/rosemoe/sora/widget/SymbolPairMatch."":()V - #257 = Fieldref #85.#1875 // io/github/rosemoe/sora/widget/DirectAccessProps.overrideSymbolPairs:Lio/github/rosemoe/sora/widget/SymbolPairMatch; - #258 = Methodref #53.#1876 // io/github/rosemoe/sora/widget/EditorPainter.invalidateHwRenderer:()V - #259 = Class #1877 // android/view/KeyEvent - #260 = Fieldref #46.#1878 // io/github/rosemoe/sora/widget/CodeEditor.mWordwrap:Z - #261 = Methodref #46.#1879 // io/github/rosemoe/sora/widget/CodeEditor.createLayout:()V - #262 = InterfaceMethodref #1880.#1881 // io/github/rosemoe/sora/widget/style/CursorAnimator.cancel:()V - #263 = Fieldref #46.#1882 // io/github/rosemoe/sora/widget/CodeEditor.mCursorAnimation:Z - #264 = Fieldref #46.#1883 // io/github/rosemoe/sora/widget/CodeEditor.mHorizontalScrollBarEnabled:Z - #265 = Fieldref #46.#1884 // io/github/rosemoe/sora/widget/CodeEditor.mVerticalScrollBarEnabled:Z - #266 = Fieldref #46.#1885 // io/github/rosemoe/sora/widget/CodeEditor.mDisplayLnPanel:Z - #267 = String #1886 // - #268 = Methodref #46.#1887 // io/github/rosemoe/sora/widget/CodeEditor.setTextSizePxDirect:(F)V - #269 = Methodref #53.#1887 // io/github/rosemoe/sora/widget/EditorPainter.setTextSizePxDirect:(F)V - #270 = Methodref #53.#1888 // io/github/rosemoe/sora/widget/EditorPainter.getLineNumberMetrics:()Landroid/graphics/Paint$FontMetricsInt; - #271 = Methodref #46.#1889 // io/github/rosemoe/sora/widget/CodeEditor.getFirstVisibleLine:()I - #272 = Methodref #46.#1890 // io/github/rosemoe/sora/widget/CodeEditor.getLastVisibleLine:()I - #273 = Methodref #1891.#1892 // io/github/rosemoe/sora/util/IntPair.pack:(II)J - #274 = Fieldref #46.#1893 // io/github/rosemoe/sora/widget/CodeEditor.mAvailableFloatArrayRegion:J - #275 = Methodref #1891.#1894 // io/github/rosemoe/sora/util/IntPair.getFirst:(J)I - #276 = Methodref #1891.#1895 // io/github/rosemoe/sora/util/IntPair.getSecond:(J)I - #277 = Methodref #1896.#1897 // java/lang/Math.max:(II)I - #278 = Methodref #46.#1898 // io/github/rosemoe/sora/widget/CodeEditor.getLineCount:()I - #279 = Methodref #1896.#1899 // java/lang/Math.min:(II)I - #280 = Methodref #53.#1900 // io/github/rosemoe/sora/widget/EditorPainter.getLine:(I)Lio/github/rosemoe/sora/text/ContentLine; - #281 = Methodref #575.#1900 // io/github/rosemoe/sora/text/Content.getLine:(I)Lio/github/rosemoe/sora/text/ContentLine; - #282 = Fieldref #1120.#1901 // io/github/rosemoe/sora/text/ContentLine.widthCache:[F - #283 = Fieldref #1120.#1902 // io/github/rosemoe/sora/text/ContentLine.timestamp:J - #284 = Methodref #575.#1898 // io/github/rosemoe/sora/text/Content.getLineCount:()I - #285 = Methodref #1128.#1903 // io/github/rosemoe/sora/graphics/GraphicTextRow.obtain:()Lio/github/rosemoe/sora/graphics/GraphicTextRow; - #286 = Methodref #1120.#1812 // io/github/rosemoe/sora/text/ContentLine.length:()I - #287 = Methodref #46.#1904 // io/github/rosemoe/sora/widget/CodeEditor.obtainFloatArray:(IZ)[F - #288 = Methodref #46.#1905 // io/github/rosemoe/sora/widget/CodeEditor.getTabWidth:()I - #289 = Methodref #46.#1906 // io/github/rosemoe/sora/widget/CodeEditor.getSpansForLine:(I)Ljava/util/List; - #290 = Methodref #1128.#1907 // io/github/rosemoe/sora/graphics/GraphicTextRow.set:(Lio/github/rosemoe/sora/text/ContentLine;IIILjava/util/List;Lio/github/rosemoe/sora/graphics/Paint;)V - #291 = Methodref #1128.#1908 // io/github/rosemoe/sora/graphics/GraphicTextRow.buildMeasureCache:()V - #292 = Methodref #1128.#1909 // io/github/rosemoe/sora/graphics/GraphicTextRow.recycle:(Lio/github/rosemoe/sora/graphics/GraphicTextRow;)V - #293 = Fieldref #46.#1910 // io/github/rosemoe/sora/widget/CodeEditor.mNonPrintableOptions:I - #294 = Methodref #46.#1911 // io/github/rosemoe/sora/widget/CodeEditor.clearFlag:(II)I - #295 = Fieldref #46.#1912 // io/github/rosemoe/sora/widget/CodeEditor.mHardwareAccAllowed:Z - #296 = Fieldref #1120.#1913 // io/github/rosemoe/sora/text/ContentLine.value:[C - #297 = Methodref #46.#1914 // io/github/rosemoe/sora/widget/CodeEditor.isWhitespace:(C)Z - #298 = Methodref #1160.#1915 // io/github/rosemoe/sora/util/LongArrayList.clear:()V - #299 = Fieldref #100.#1916 // io/github/rosemoe/sora/widget/EditorSearcher.mPattern:Ljava/lang/String; - #300 = Fieldref #100.#1917 // io/github/rosemoe/sora/widget/EditorSearcher.mOptions:Lio/github/rosemoe/sora/widget/EditorSearcher$SearchOptions; - #301 = Fieldref #1918.#1919 // io/github/rosemoe/sora/widget/EditorSearcher$SearchOptions.useRegex:Z - #302 = Methodref #100.#1920 // io/github/rosemoe/sora/widget/EditorSearcher.isResultValid:()Z - #303 = Fieldref #100.#1921 // io/github/rosemoe/sora/widget/EditorSearcher.mLastResults:Lio/github/rosemoe/sora/util/LongArrayList; - #304 = Methodref #575.#1922 // io/github/rosemoe/sora/text/Content.getCharIndex:(II)I - #305 = Methodref #575.#1923 // io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - #306 = Methodref #1160.#1924 // io/github/rosemoe/sora/util/LongArrayList.size:()I - #307 = Methodref #1160.#1925 // io/github/rosemoe/sora/util/LongArrayList.get:(I)J - #308 = Methodref #1160.#1926 // io/github/rosemoe/sora/util/LongArrayList.add:(J)V - #309 = Fieldref #1918.#1927 // io/github/rosemoe/sora/widget/EditorSearcher$SearchOptions.ignoreCase:Z - #310 = Methodref #1928.#1929 // io/github/rosemoe/sora/text/TextUtils.indexOf:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZI)I - #311 = Methodref #155.#1930 // android/widget/EdgeEffect.getColor:()I - #312 = Methodref #155.#1931 // android/widget/EdgeEffect.setColor:(I)V - #313 = Fieldref #1932.#1933 // io/github/rosemoe/sora/lang/styling/Styles.blocks:Ljava/util/List; - #314 = InterfaceMethodref #1173.#1934 // java/util/List.isEmpty:()Z - #315 = Methodref #46.#1935 // io/github/rosemoe/sora/widget/CodeEditor.findCursorBlock:(Ljava/util/List;)I - #316 = Fieldref #46.#1936 // io/github/rosemoe/sora/widget/CodeEditor.mCursor:Lio/github/rosemoe/sora/text/Cursor; - #317 = Methodref #1025.#1937 // io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - #318 = Methodref #46.#1938 // io/github/rosemoe/sora/widget/CodeEditor.binarySearchEndBlock:(ILjava/util/List;)I - #319 = InterfaceMethodref #1173.#1924 // java/util/List.size:()I - #320 = Class #1939 // java/lang/Integer - #321 = Integer 2147483647 - #322 = Methodref #1932.#1940 // io/github/rosemoe/sora/lang/styling/Styles.getSuppressSwitch:()I - #323 = InterfaceMethodref #1173.#1941 // java/util/List.get:(I)Ljava/lang/Object; - #324 = Class #1942 // io/github/rosemoe/sora/lang/styling/CodeBlock - #325 = Fieldref #324.#1943 // io/github/rosemoe/sora/lang/styling/CodeBlock.endLine:I - #326 = Fieldref #324.#1944 // io/github/rosemoe/sora/lang/styling/CodeBlock.startLine:I - #327 = Fieldref #46.#1945 // io/github/rosemoe/sora/widget/CodeEditor.mTabWidth:I - #328 = Methodref #1128.#1946 // io/github/rosemoe/sora/graphics/GraphicTextRow.measureText:(II)F - #329 = Fieldref #1932.#1947 // io/github/rosemoe/sora/lang/styling/Styles.spans:Lio/github/rosemoe/sora/lang/styling/Spans; - #330 = Long 5l - #332 = Methodref #1948.#1949 // io/github/rosemoe/sora/lang/styling/Span.obtain:(IJ)Lio/github/rosemoe/sora/lang/styling/Span; - #333 = InterfaceMethodref #1173.#1950 // java/util/List.add:(Ljava/lang/Object;)Z - #334 = InterfaceMethodref #1201.#1951 // io/github/rosemoe/sora/lang/styling/Spans.read:()Lio/github/rosemoe/sora/lang/styling/Spans$Reader; - #335 = InterfaceMethodref #1952.#1953 // io/github/rosemoe/sora/lang/styling/Spans$Reader.getSpansOnLine:(I)Ljava/util/List; - #336 = Methodref #1215.#1954 // android/graphics/Canvas.drawTextRun:([CIIIIFFZLandroid/graphics/Paint;)V - #337 = Methodref #46.#1955 // io/github/rosemoe/sora/widget/CodeEditor.measureText:(Lio/github/rosemoe/sora/text/ContentLine;III)F - #338 = Methodref #46.#1956 // io/github/rosemoe/sora/widget/CodeEditor.findFirstVisibleChar:(FIIILio/github/rosemoe/sora/text/ContentLine;I)[F - #339 = Methodref #53.#1957 // io/github/rosemoe/sora/widget/EditorPainter.getTimestamp:()J - #340 = Methodref #46.#1958 // io/github/rosemoe/sora/widget/CodeEditor.buildMeasureCacheForLines:(IIJZ)V - #341 = Methodref #1128.#1959 // io/github/rosemoe/sora/graphics/GraphicTextRow.findOffsetByAdvance:(IF)[F - #342 = Methodref #1128.#1960 // io/github/rosemoe/sora/graphics/GraphicTextRow.disableCache:()V - #343 = String #1961 // 0 1 2 3 4 5 6 7 8 9 - #344 = Methodref #1962.#1963 // io/github/rosemoe/sora/util/TemporaryFloatBuffer.obtain:(I)[F - #345 = Methodref #1740.#1964 // io/github/rosemoe/sora/graphics/Paint.getTextWidths:(Ljava/lang/String;[F)I - #346 = Methodref #1962.#1965 // io/github/rosemoe/sora/util/TemporaryFloatBuffer.recycle:([F)V - #347 = Methodref #1896.#1966 // java/lang/Math.max:(FF)F - #348 = Class #1967 // io/github/rosemoe/sora/widget/layout/LineBreakLayout - #349 = Methodref #348.#1968 // io/github/rosemoe/sora/widget/layout/LineBreakLayout.reuse:(Lio/github/rosemoe/sora/text/Content;)V - #350 = Class #1969 // io/github/rosemoe/sora/widget/layout/WordwrapLayout - #351 = Methodref #350.#1970 // io/github/rosemoe/sora/widget/layout/WordwrapLayout.getRowTable:()Ljava/util/List; - #352 = Methodref #350.#1971 // io/github/rosemoe/sora/widget/layout/WordwrapLayout."":(Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/Content;Ljava/util/List;)V - #353 = InterfaceMethodref #1671.#1972 // io/github/rosemoe/sora/widget/layout/Layout.destroyLayout:()V - #354 = Methodref #53.#1973 // io/github/rosemoe/sora/widget/EditorPainter.setCachedLineNumberWidth:(I)V - #355 = Methodref #348.#1974 // io/github/rosemoe/sora/widget/layout/LineBreakLayout."":(Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/Content;)V - #356 = Methodref #119.#1975 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.scrollBy:(FF)V - #357 = Methodref #46.#1976 // io/github/rosemoe/sora/widget/CodeEditor.isEditable:()Z - #358 = String #1977 // \t - #359 = Methodref #151.#1978 // io/github/rosemoe/sora/widget/EditorInputConnection.commitTextInternal:(Ljava/lang/CharSequence;Z)V - #360 = Methodref #46.#1979 // io/github/rosemoe/sora/widget/CodeEditor.updateCompletionWindowPosition:(Z)V - #361 = Methodref #46.#1980 // io/github/rosemoe/sora/widget/CodeEditor.updateCursorAnchor:()F - #362 = Float 20.0f - #363 = Methodref #46.#1981 // io/github/rosemoe/sora/widget/CodeEditor.getRowHeight:()I - #364 = Methodref #46.#1982 // io/github/rosemoe/sora/widget/CodeEditor.getHeight:()I - #365 = Float 200.0f - #366 = Float 100.0f - #367 = Methodref #46.#1983 // io/github/rosemoe/sora/widget/CodeEditor.getScroller:()Landroid/widget/OverScroller; - #368 = Methodref #1592.#1984 // android/widget/OverScroller.startScroll:(IIIII)V - #369 = Methodref #46.#1985 // io/github/rosemoe/sora/widget/CodeEditor.getWidth:()I - #370 = Float 500.0f - #371 = Float 8.0f - #372 = Float 300.0f - #373 = Methodref #1896.#1986 // java/lang/Math.min:(FF)F - #374 = Methodref #18.#1982 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.getHeight:()I - #375 = Methodref #18.#1987 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.isShowing:()Z - #376 = Methodref #18.#1988 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.setMaxHeight:(I)V - #377 = Methodref #18.#1989 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.setSize:(II)V - #378 = Methodref #18.#1990 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.setLocation:(II)V - #379 = Methodref #107.#1856 // android/view/inputmethod/CursorAnchorInfo$Builder.reset:()V - #380 = Methodref #46.#1991 // io/github/rosemoe/sora/widget/CodeEditor.getMatrix:()Landroid/graphics/Matrix; - #381 = Methodref #94.#1992 // android/graphics/Matrix.set:(Landroid/graphics/Matrix;)V - #382 = Methodref #46.#1993 // io/github/rosemoe/sora/widget/CodeEditor.getLocationOnScreen:([I)V - #383 = Methodref #94.#1994 // android/graphics/Matrix.postTranslate:(FF)Z - #384 = Methodref #107.#1995 // android/view/inputmethod/CursorAnchorInfo$Builder.setMatrix:(Landroid/graphics/Matrix;)Landroid/view/inputmethod/CursorAnchorInfo$Builder; - #385 = Methodref #1025.#1996 // io/github/rosemoe/sora/text/Cursor.getLeft:()I - #386 = Methodref #107.#1997 // android/view/inputmethod/CursorAnchorInfo$Builder.setSelectionRange:(II)Landroid/view/inputmethod/CursorAnchorInfo$Builder; - #387 = Methodref #46.#1998 // io/github/rosemoe/sora/widget/CodeEditor.getRowTop:(I)I - #388 = Methodref #46.#1999 // io/github/rosemoe/sora/widget/CodeEditor.getRowBaseline:(I)I - #389 = Methodref #46.#2000 // io/github/rosemoe/sora/widget/CodeEditor.getRowBottom:(I)I - #390 = Class #2001 // android/view/inputmethod/CursorAnchorInfo - #391 = Methodref #107.#2002 // android/view/inputmethod/CursorAnchorInfo$Builder.setInsertionMarkerLocation:(FFFFI)Landroid/view/inputmethod/CursorAnchorInfo$Builder; - #392 = Methodref #107.#2003 // android/view/inputmethod/CursorAnchorInfo$Builder.build:()Landroid/view/inputmethod/CursorAnchorInfo; - #393 = Methodref #140.#2004 // android/view/inputmethod/InputMethodManager.updateCursorAnchorInfo:(Landroid/view/View;Landroid/view/inputmethod/CursorAnchorInfo;)V - #394 = Methodref #1025.#2005 // io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - #395 = Methodref #575.#2006 // io/github/rosemoe/sora/text/Content.delete:(IIII)V - #396 = Fieldref #85.#2007 // io/github/rosemoe/sora/widget/DirectAccessProps.deleteEmptyLineFast:Z - #397 = Fieldref #85.#2008 // io/github/rosemoe/sora/widget/DirectAccessProps.deleteMultiSpaces:I - #398 = Methodref #575.#2009 // io/github/rosemoe/sora/text/Content.charAt:(II)C - #399 = Methodref #2010.#2011 // io/github/rosemoe/sora/text/TextLayoutHelper.get:()Lio/github/rosemoe/sora/text/TextLayoutHelper; - #400 = Methodref #2010.#2012 // io/github/rosemoe/sora/text/TextLayoutHelper.getCurPosLeft:(ILjava/lang/CharSequence;)I - #401 = Methodref #46.#2013 // io/github/rosemoe/sora/widget/CodeEditor.commitText:(Ljava/lang/CharSequence;Z)V - #402 = Methodref #575.#2014 // io/github/rosemoe/sora/text/Content.replace:(IIIILjava/lang/CharSequence;)V - #403 = Fieldref #85.#2015 // io/github/rosemoe/sora/widget/DirectAccessProps.autoIndent:Z - #404 = InterfaceMethodref #1265.#1812 // java/lang/CharSequence.length:()I - #405 = InterfaceMethodref #1265.#2016 // java/lang/CharSequence.charAt:(I)C - #406 = Methodref #575.#2017 // io/github/rosemoe/sora/text/Content.getLineString:(I)Ljava/lang/String; - #407 = Methodref #185.#2016 // java/lang/String.charAt:(I)C - #408 = InterfaceMethodref #1061.#2018 // io/github/rosemoe/sora/lang/Language.getIndentAdvance:(Lio/github/rosemoe/sora/text/ContentReference;II)I - #409 = String #2019 // Language object error - #410 = Methodref #1679.#2020 // android/util/Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I - #411 = Methodref #247.#2021 // java/lang/StringBuilder."":(Ljava/lang/CharSequence;)V - #412 = InterfaceMethodref #1061.#2022 // io/github/rosemoe/sora/lang/Language.useTab:()Z - #413 = Methodref #1928.#2023 // io/github/rosemoe/sora/text/TextUtils.createIndent:(IIZ)Ljava/lang/String; - #414 = Methodref #247.#2024 // java/lang/StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder; - #415 = Fieldref #46.#2025 // io/github/rosemoe/sora/widget/CodeEditor.mLineInfoTextSize:F - #416 = Methodref #25.#1682 // java/lang/IllegalArgumentException."":()V - #417 = Methodref #46.#1815 // io/github/rosemoe/sora/widget/CodeEditor.getCursor:()Lio/github/rosemoe/sora/text/Cursor; - #418 = Methodref #46.#2026 // io/github/rosemoe/sora/widget/CodeEditor.ensurePositionVisible:(II)V - #419 = Float 1.1f - #420 = Float 0.1f - #421 = Float 0.2f - #422 = Float 0.8f - #423 = Methodref #46.#2027 // io/github/rosemoe/sora/widget/CodeEditor.getScrollMaxX:()I - #424 = Methodref #46.#2028 // io/github/rosemoe/sora/widget/CodeEditor.getScrollMaxY:()I - #425 = Methodref #2029.#2030 // io/github/rosemoe/sora/util/Floats.withinDelta:(FFF)Z - #426 = Long 100l - #428 = Methodref #1592.#2031 // android/widget/OverScroller.forceFinished:(Z)V - #429 = Methodref #1592.#2032 // android/widget/OverScroller.startScroll:(IIII)V - #430 = Fieldref #85.#2033 // io/github/rosemoe/sora/widget/DirectAccessProps.awareScrollbarWhenAdjust:Z - #431 = Methodref #1896.#2034 // java/lang/Math.abs:(F)F - #432 = Methodref #119.#2035 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.notifyScrolled:()V - #433 = Class #2036 // io/github/rosemoe/sora/event/ScrollEvent - #434 = Methodref #433.#2037 // io/github/rosemoe/sora/event/ScrollEvent."":(Lio/github/rosemoe/sora/widget/CodeEditor;IIIII)V - #435 = Methodref #46.#2038 // io/github/rosemoe/sora/widget/CodeEditor.dispatchEvent:(Lio/github/rosemoe/sora/event/Event;)I - #436 = Methodref #143.#2039 // android/content/ClipboardManager.hasPrimaryClip:()Z - #437 = Methodref #119.#1983 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.getScroller:()Landroid/widget/OverScroller; - #438 = InterfaceMethodref #1671.#2040 // io/github/rosemoe/sora/widget/layout/Layout.getLayoutHeight:()I - #439 = InterfaceMethodref #1671.#2041 // io/github/rosemoe/sora/widget/layout/Layout.getCharPositionForLayoutOffset:(FF)J - #440 = Methodref #46.#2042 // io/github/rosemoe/sora/widget/CodeEditor.getPointPosition:(FF)J - #441 = InterfaceMethodref #1671.#2043 // io/github/rosemoe/sora/widget/layout/Layout.getLayoutWidth:()I - #442 = Fieldref #46.#2044 // io/github/rosemoe/sora/widget/CodeEditor.mFormatThread:Lio/github/rosemoe/sora/text/FormatThread; - #443 = Class #2045 // io/github/rosemoe/sora/text/FormatThread - #444 = Methodref #443.#2046 // io/github/rosemoe/sora/text/FormatThread."":(Ljava/lang/CharSequence;Lio/github/rosemoe/sora/lang/Language;Lio/github/rosemoe/sora/text/FormatThread$FormatResultReceiver;)V - #445 = Methodref #443.#2047 // io/github/rosemoe/sora/text/FormatThread.start:()V - #446 = Fieldref #581.#2048 // io/github/rosemoe/sora/text/CharPosition.index:I - #447 = String #2049 // start > end - #448 = Methodref #443.#2050 // io/github/rosemoe/sora/text/FormatThread."":(Ljava/lang/CharSequence;Lio/github/rosemoe/sora/lang/Language;Lio/github/rosemoe/sora/text/FormatThread$FormatResultReceiver;Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - #449 = String #2051 // width can not be under 1 - #450 = String #2052 // min size can not be bigger than max size - #451 = String #2053 // min size must be at least 2px - #452 = Fieldref #119.#2054 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.scaleMinSize:F - #453 = Fieldref #119.#2055 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.scaleMaxSize:F - #454 = Fieldref #46.#2056 // io/github/rosemoe/sora/widget/CodeEditor.mForceHorizontalScrollable:Z - #455 = Methodref #46.#2057 // io/github/rosemoe/sora/widget/CodeEditor.getParent:()Landroid/view/ViewParent; - #456 = InterfaceMethodref #2058.#2059 // android/view/ViewParent.requestDisallowInterceptTouchEvent:(Z)V - #457 = Methodref #56.#2060 // io/github/rosemoe/sora/widget/EditorStyleDelegate.clearFoundBracketPair:()V - #458 = Methodref #56.#2061 // io/github/rosemoe/sora/widget/EditorStyleDelegate.postUpdateBracketPair:()V - #459 = Fieldref #46.#2062 // io/github/rosemoe/sora/widget/CodeEditor.mInputType:I - #460 = Methodref #46.#2063 // io/github/rosemoe/sora/widget/CodeEditor.restartInput:()V - #461 = Methodref #575.#2064 // io/github/rosemoe/sora/text/Content.undo:()V - #462 = Methodref #575.#2065 // io/github/rosemoe/sora/text/Content.redo:()V - #463 = Methodref #575.#2066 // io/github/rosemoe/sora/text/Content.canUndo:()Z - #464 = Methodref #575.#2067 // io/github/rosemoe/sora/text/Content.canRedo:()Z - #465 = Fieldref #46.#2068 // io/github/rosemoe/sora/widget/CodeEditor.mUndoEnabled:Z - #466 = Methodref #575.#1768 // io/github/rosemoe/sora/text/Content.setUndoEnabled:(Z)V - #467 = Class #2069 // io/github/rosemoe/sora/widget/CodeEditor$1SearchActionMode - #468 = Methodref #467.#1644 // io/github/rosemoe/sora/widget/CodeEditor$1SearchActionMode."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #469 = Methodref #46.#2070 // io/github/rosemoe/sora/widget/CodeEditor.startActionMode:(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode; - #470 = String #2071 // margin can not be under zero - #471 = String #2072 // width can not be under zero - #472 = Methodref #1740.#2073 // io/github/rosemoe/sora/graphics/Paint.getTypeface:()Landroid/graphics/Typeface; - #473 = Methodref #53.#2074 // io/github/rosemoe/sora/widget/EditorPainter.setTypefaceLineNumber:(Landroid/graphics/Typeface;)V - #474 = Methodref #53.#1795 // io/github/rosemoe/sora/widget/EditorPainter.setTypefaceText:(Landroid/graphics/Typeface;)V - #475 = Methodref #53.#2075 // io/github/rosemoe/sora/widget/EditorPainter.setTextScaleX:(F)V - #476 = Methodref #1740.#2076 // io/github/rosemoe/sora/graphics/Paint.getTextScaleX:()F - #477 = Methodref #53.#2077 // io/github/rosemoe/sora/widget/EditorPainter.setLetterSpacing:(F)V - #478 = Methodref #1740.#2078 // io/github/rosemoe/sora/graphics/Paint.getLetterSpacing:()F - #479 = Fieldref #865.#2079 // android/graphics/Paint$Align.LEFT:Landroid/graphics/Paint$Align; - #480 = Methodref #46.#2080 // io/github/rosemoe/sora/widget/CodeEditor.getFirstVisibleRow:()I - #481 = InterfaceMethodref #1671.#2081 // io/github/rosemoe/sora/widget/layout/Layout.getLineNumberForRow:(I)I - #482 = Class #2082 // java/lang/IndexOutOfBoundsException - #483 = Methodref #46.#2083 // io/github/rosemoe/sora/widget/CodeEditor.getLastVisibleRow:()I - #484 = Fieldref #53.#2084 // io/github/rosemoe/sora/widget/EditorPainter.mTextMetrics:Landroid/graphics/Paint$FontMetricsInt; - #485 = Fieldref #889.#2085 // android/graphics/Paint$FontMetricsInt.descent:I - #486 = Fieldref #889.#2086 // android/graphics/Paint$FontMetricsInt.ascent:I - #487 = Methodref #46.#2087 // io/github/rosemoe/sora/widget/CodeEditor.getLineSpacingPixels:()I - #488 = Methodref #1592.#2088 // android/widget/OverScroller.getCurrX:()I - #489 = Methodref #1592.#2089 // android/widget/OverScroller.getCurrY:()I - #490 = Fieldref #46.#2090 // io/github/rosemoe/sora/widget/CodeEditor.mLayoutBusy:Z - #491 = Fieldref #46.#2091 // io/github/rosemoe/sora/widget/CodeEditor.mEditable:Z - #492 = Methodref #46.#2092 // io/github/rosemoe/sora/widget/CodeEditor.hideSoftInput:()V - #493 = Fieldref #46.#2093 // io/github/rosemoe/sora/widget/CodeEditor.mScalable:Z - #494 = Methodref #1025.#2094 // io/github/rosemoe/sora/text/Cursor.left:()Lio/github/rosemoe/sora/text/CharPosition; - #495 = Fieldref #46.#2095 // io/github/rosemoe/sora/widget/CodeEditor.mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - #496 = Methodref #581.#2096 // io/github/rosemoe/sora/text/CharPosition.equals:(Ljava/lang/Object;)Z - #497 = Methodref #1025.#2097 // io/github/rosemoe/sora/text/Cursor.right:()Lio/github/rosemoe/sora/text/CharPosition; - #498 = Methodref #46.#2098 // io/github/rosemoe/sora/widget/CodeEditor.ensureSelectionVisible:()V - #499 = Methodref #18.#2099 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.moveDown:()V - #500 = InterfaceMethodref #1671.#2100 // io/github/rosemoe/sora/widget/layout/Layout.getDownPosition:(II)J - #501 = Methodref #46.#2101 // io/github/rosemoe/sora/widget/CodeEditor.getSelectingTarget:()Lio/github/rosemoe/sora/text/CharPosition; - #502 = Methodref #581.#2102 // io/github/rosemoe/sora/text/CharPosition.getLine:()I - #503 = Methodref #581.#2103 // io/github/rosemoe/sora/text/CharPosition.getColumn:()I - #504 = Methodref #46.#2104 // io/github/rosemoe/sora/widget/CodeEditor.setSelectionRegion:(IIIIZ)V - #505 = Methodref #46.#2105 // io/github/rosemoe/sora/widget/CodeEditor.ensureSelectingTargetVisible:()V - #506 = Methodref #18.#2106 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.moveUp:()V - #507 = InterfaceMethodref #1671.#2107 // io/github/rosemoe/sora/widget/layout/Layout.getUpPosition:(II)J - #508 = Methodref #1025.#2108 // io/github/rosemoe/sora/text/Cursor.getLeftOf:(J)J - #509 = Methodref #18.#2109 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.requireCompletion:()V - #510 = Methodref #581.#2110 // io/github/rosemoe/sora/text/CharPosition.toIntPair:()J - #511 = Methodref #1025.#2111 // io/github/rosemoe/sora/text/Cursor.getRightOf:(J)J - #512 = Class #2112 // io/github/rosemoe/sora/event/SelectionChangeEvent - #513 = Methodref #46.#2113 // io/github/rosemoe/sora/widget/CodeEditor.setSelection:(III)V - #514 = Methodref #46.#2114 // io/github/rosemoe/sora/widget/CodeEditor.setSelection:(IIZI)V - #515 = Methodref #53.#2115 // io/github/rosemoe/sora/widget/EditorPainter.invalidateInCursor:()V - #516 = InterfaceMethodref #1880.#2116 // io/github/rosemoe/sora/widget/style/CursorAnimator.markStartPos:()V - #517 = Methodref #2117.#2118 // java/lang/Character.isHighSurrogate:(C)Z - #518 = Methodref #1025.#2119 // io/github/rosemoe/sora/text/Cursor.set:(II)V - #519 = Methodref #46.#2120 // io/github/rosemoe/sora/widget/CodeEditor.updateCursor:()V - #520 = Methodref #46.#2121 // io/github/rosemoe/sora/widget/CodeEditor.updateSelection:()V - #521 = Methodref #119.#2122 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.hasAnyHeldHandle:()Z - #522 = Fieldref #151.#2123 // io/github/rosemoe/sora/widget/EditorInputConnection.mComposingText:Lio/github/rosemoe/sora/widget/ComposingText; - #523 = Methodref #2124.#2125 // io/github/rosemoe/sora/widget/ComposingText.isComposing:()Z - #524 = Methodref #18.#2126 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.shouldRejectComposing:()Z - #525 = InterfaceMethodref #1880.#2127 // io/github/rosemoe/sora/widget/style/CursorAnimator.markEndPos:()V - #526 = InterfaceMethodref #1880.#2047 // io/github/rosemoe/sora/widget/style/CursorAnimator.start:()V - #527 = Methodref #46.#2128 // io/github/rosemoe/sora/widget/CodeEditor.onSelectionChanged:(I)V - #528 = Methodref #46.#2129 // io/github/rosemoe/sora/widget/CodeEditor.setSelectionRegion:(IIII)V - #529 = Methodref #46.#2130 // io/github/rosemoe/sora/widget/CodeEditor.setSelectionRegion:(IIIIZI)V - #530 = String #2131 // setSelectionRegion() error: start > end:start = - #531 = Methodref #247.#2132 // java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; - #532 = String #2133 // end = - #533 = String #2134 // lineLeft = - #534 = String #2135 // columnLeft = - #535 = String #2136 // lineRight = - #536 = String #2137 // columnRight = - #537 = Methodref #1025.#2138 // io/github/rosemoe/sora/text/Cursor.setLeft:(II)V - #538 = Methodref #1025.#2139 // io/github/rosemoe/sora/text/Cursor.setRight:(II)V - #539 = Methodref #119.#2140 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.scrollBy:(FFZ)V - #540 = Methodref #143.#2141 // android/content/ClipboardManager.getPrimaryClip:()Landroid/content/ClipData; - #541 = Methodref #2142.#2143 // android/content/ClipData.getItemAt:(I)Landroid/content/ClipData$Item; - #542 = Methodref #1436.#2144 // android/content/ClipData$Item.getText:()Ljava/lang/CharSequence; - #543 = Methodref #151.#2145 // io/github/rosemoe/sora/widget/EditorInputConnection.commitText:(Ljava/lang/CharSequence;I)Z - #544 = Methodref #74.#2146 // java/lang/Exception.printStackTrace:()V - #545 = Methodref #74.#1871 // java/lang/Exception.toString:()Ljava/lang/String; - #546 = Class #2147 // android/widget/Toast - #547 = Methodref #546.#2148 // android/widget/Toast.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; - #548 = Methodref #546.#2149 // android/widget/Toast.show:()V - #549 = Methodref #46.#2150 // io/github/rosemoe/sora/widget/CodeEditor.copyText:(Z)V - #550 = Methodref #575.#2151 // io/github/rosemoe/sora/text/Content.subContent:(IIII)Lio/github/rosemoe/sora/text/Content; - #551 = Methodref #575.#1871 // io/github/rosemoe/sora/text/Content.toString:()Ljava/lang/String; - #552 = Methodref #2142.#2152 // android/content/ClipData.newPlainText:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/content/ClipData; - #553 = Methodref #143.#2153 // android/content/ClipboardManager.setPrimaryClip:(Landroid/content/ClipData;)V - #554 = Methodref #46.#2154 // io/github/rosemoe/sora/widget/CodeEditor.copyLine:()V - #555 = Methodref #46.#2155 // io/github/rosemoe/sora/widget/CodeEditor.copyText:()V - #556 = Methodref #46.#2156 // io/github/rosemoe/sora/widget/CodeEditor.cutLine:()V - #557 = Methodref #46.#2157 // io/github/rosemoe/sora/widget/CodeEditor.cutText:()V - #558 = Methodref #46.#2158 // io/github/rosemoe/sora/widget/CodeEditor.duplicateSelection:()V - #559 = String #2159 // \n - #560 = Methodref #46.#2160 // io/github/rosemoe/sora/widget/CodeEditor.duplicateSelection:(Ljava/lang/String;Z)V - #561 = Methodref #46.#2161 // io/github/rosemoe/sora/widget/CodeEditor.duplicateSelection:(Z)V - #562 = Methodref #581.#2162 // io/github/rosemoe/sora/text/CharPosition.fromThis:()Lio/github/rosemoe/sora/text/CharPosition; - #563 = Methodref #247.#2163 // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; - #564 = Methodref #46.#2164 // io/github/rosemoe/sora/widget/CodeEditor.commitText:(Ljava/lang/CharSequence;)V - #565 = Methodref #46.#2165 // io/github/rosemoe/sora/widget/CodeEditor.selectWord:(II)V - #566 = Fieldref #85.#2166 // io/github/rosemoe/sora/widget/DirectAccessProps.useICULibToSelectWords:Z - #567 = Methodref #2167.#2168 // io/github/rosemoe/sora/text/ICUUtils.getWordEdges:(Ljava/lang/CharSequence;IZ)J - #568 = Methodref #46.#2169 // io/github/rosemoe/sora/widget/CodeEditor.setSelectionRegion:(IIIII)V - #569 = Methodref #46.#2170 // io/github/rosemoe/sora/widget/CodeEditor.setText:(Ljava/lang/CharSequence;ZLandroid/os/Bundle;)V - #570 = Methodref #575.#2171 // io/github/rosemoe/sora/text/Content.removeContentListener:(Lio/github/rosemoe/sora/text/ContentListener;)V - #571 = Methodref #575.#2172 // io/github/rosemoe/sora/text/Content.setLineListener:(Lio/github/rosemoe/sora/text/LineRemoveListener;)V - #572 = Methodref #575.#2173 // io/github/rosemoe/sora/text/Content.resetBatchEdit:()V - #573 = Class #2174 // android/os/Bundle - #574 = Methodref #573.#1682 // android/os/Bundle."":()V - #575 = Class #2175 // io/github/rosemoe/sora/text/Content - #576 = Methodref #575.#2021 // io/github/rosemoe/sora/text/Content."":(Ljava/lang/CharSequence;)V - #577 = Methodref #119.#1856 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.reset:()V - #578 = Methodref #575.#2176 // io/github/rosemoe/sora/text/Content.addContentListener:(Lio/github/rosemoe/sora/text/ContentListener;)V - #579 = Methodref #53.#2177 // io/github/rosemoe/sora/widget/EditorPainter.notifyFullTextUpdate:()V - #580 = Class #2178 // io/github/rosemoe/sora/event/ContentChangeEvent - #581 = Class #2179 // io/github/rosemoe/sora/text/CharPosition - #582 = Methodref #581.#1682 // io/github/rosemoe/sora/text/CharPosition."":()V - #583 = InterfaceMethodref #1825.#2180 // io/github/rosemoe/sora/text/Indexer.getCharPosition:(II)Lio/github/rosemoe/sora/text/CharPosition; - #584 = Methodref #580.#2181 // io/github/rosemoe/sora/event/ContentChangeEvent."":(Lio/github/rosemoe/sora/widget/CodeEditor;ILio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - #585 = Methodref #140.#2182 // android/view/inputmethod/InputMethodManager.restartInput:(Landroid/view/View;)V - #586 = Methodref #46.#2183 // io/github/rosemoe/sora/widget/CodeEditor.requestLayout:()V - #587 = Methodref #137.#2184 // android/content/Context.getResources:()Landroid/content/res/Resources; - #588 = Methodref #46.#2185 // io/github/rosemoe/sora/widget/CodeEditor.setTextSizePx:(F)V - #589 = Methodref #50.#2186 // io/github/rosemoe/sora/event/EventManager.subscribeEvent:(Ljava/lang/Class;Lio/github/rosemoe/sora/event/EventReceiver;)Lio/github/rosemoe/sora/event/SubscriptionReceipt; - #590 = Methodref #50.#2038 // io/github/rosemoe/sora/event/EventManager.dispatchEvent:(Lio/github/rosemoe/sora/event/Event;)I - #591 = Fieldref #46.#2187 // io/github/rosemoe/sora/widget/CodeEditor.mLineNumberEnabled:Z - #592 = Methodref #116.#2188 // io/github/rosemoe/sora/widget/schemes/EditorColorScheme.attachEditor:(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #593 = Methodref #116.#2189 // io/github/rosemoe/sora/widget/schemes/EditorColorScheme.detachEditor:(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #594 = Methodref #18.#2190 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.applyColorScheme:()V - #595 = InterfaceMethodref #1062.#2191 // io/github/rosemoe/sora/lang/analysis/AnalyzeManager.rerun:()V - #596 = Methodref #46.#1658 // io/github/rosemoe/sora/widget/CodeEditor.isEnabled:()Z - #597 = Methodref #46.#2192 // io/github/rosemoe/sora/widget/CodeEditor.isInTouchMode:()Z - #598 = Methodref #46.#2193 // io/github/rosemoe/sora/widget/CodeEditor.requestFocusFromTouch:()Z - #599 = Methodref #46.#2194 // io/github/rosemoe/sora/widget/CodeEditor.hasFocus:()Z - #600 = Methodref #46.#2195 // io/github/rosemoe/sora/widget/CodeEditor.requestFocus:()Z - #601 = Methodref #140.#2196 // android/view/inputmethod/InputMethodManager.showSoftInput:(Landroid/view/View;I)Z - #602 = Methodref #46.#2197 // io/github/rosemoe/sora/widget/CodeEditor.getWindowToken:()Landroid/os/IBinder; - #603 = Methodref #140.#2198 // android/view/inputmethod/InputMethodManager.hideSoftInputFromWindow:(Landroid/os/IBinder;I)Z - #604 = Fieldref #2124.#2199 // io/github/rosemoe/sora/widget/ComposingText.startIndex:I - #605 = Fieldref #2124.#2200 // io/github/rosemoe/sora/widget/ComposingText.endIndex:I - #606 = Methodref #140.#2201 // android/view/inputmethod/InputMethodManager.updateSelection:(Landroid/view/View;IIII)V - #607 = Fieldref #46.#2202 // io/github/rosemoe/sora/widget/CodeEditor.mExtracting:Landroid/view/inputmethod/ExtractedTextRequest; - #608 = Methodref #46.#2203 // io/github/rosemoe/sora/widget/CodeEditor.extractText:(Landroid/view/inputmethod/ExtractedTextRequest;)Landroid/view/inputmethod/ExtractedText; - #609 = Fieldref #1520.#2204 // android/view/inputmethod/ExtractedTextRequest.token:I - #610 = Methodref #140.#2205 // android/view/inputmethod/InputMethodManager.updateExtractedText:(Landroid/view/View;ILandroid/view/inputmethod/ExtractedText;)V - #611 = Class #2206 // android/view/inputmethod/ExtractedText - #612 = Methodref #611.#1682 // android/view/inputmethod/ExtractedText."":()V - #613 = Fieldref #1520.#2207 // android/view/inputmethod/ExtractedTextRequest.hintMaxChars:I - #614 = Fieldref #85.#2208 // io/github/rosemoe/sora/widget/DirectAccessProps.maxIPCTextLength:I - #615 = Fieldref #1520.#2209 // android/view/inputmethod/ExtractedTextRequest.flags:I - #616 = Methodref #151.#2210 // io/github/rosemoe/sora/widget/EditorInputConnection.getTextRegion:(III)Ljava/lang/CharSequence; - #617 = Fieldref #611.#2211 // android/view/inputmethod/ExtractedText.text:Ljava/lang/CharSequence; - #618 = Fieldref #611.#2212 // android/view/inputmethod/ExtractedText.startOffset:I - #619 = Fieldref #611.#2213 // android/view/inputmethod/ExtractedText.selectionStart:I - #620 = Fieldref #611.#2214 // android/view/inputmethod/ExtractedText.selectionEnd:I - #621 = Fieldref #611.#2209 // android/view/inputmethod/ExtractedText.flags:I - #622 = Methodref #46.#2215 // io/github/rosemoe/sora/widget/CodeEditor.updateExtractedText:()V - #623 = Methodref #151.#2216 // io/github/rosemoe/sora/widget/EditorInputConnection.invalid:()V - #624 = Methodref #575.#2217 // io/github/rosemoe/sora/text/Content.isInBatchEdit:()Z - #625 = Methodref #46.#2218 // io/github/rosemoe/sora/widget/CodeEditor.hideEditorWindows:()V - #626 = Methodref #18.#2219 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.cancelCompletion:()V - #627 = Methodref #23.#2220 // io/github/rosemoe/sora/widget/component/EditorTextActionWindow.dismiss:()V - #628 = Methodref #20.#2220 // io/github/rosemoe/sora/widget/component/Magnifier.dismiss:()V - #629 = Methodref #46.#2221 // io/github/rosemoe/sora/widget/CodeEditor.setExtracting:(Landroid/view/inputmethod/ExtractedTextRequest;)V - #630 = Methodref #512.#1833 // io/github/rosemoe/sora/event/SelectionChangeEvent."":(Lio/github/rosemoe/sora/widget/CodeEditor;I)V - #631 = Methodref #155.#2222 // android/widget/EdgeEffect.onRelease:()V - #632 = Methodref #754.#2223 // android/view/View.onDraw:(Landroid/graphics/Canvas;)V - #633 = Methodref #53.#2224 // io/github/rosemoe/sora/widget/EditorPainter.draw:(Landroid/graphics/Canvas;)V - #634 = Fieldref #46.#2225 // io/github/rosemoe/sora/widget/CodeEditor.mLastCursorState:Z - #635 = Fieldref #209.#2226 // io/github/rosemoe/sora/widget/CursorBlink.visibility:Z - #636 = Methodref #1592.#2227 // android/widget/OverScroller.isFinished:()Z - #637 = Methodref #20.#1987 // io/github/rosemoe/sora/widget/component/Magnifier.isShowing:()Z - #638 = InvokeDynamic #0:#2232 // #0:run:(Lio/github/rosemoe/sora/widget/component/Magnifier;)Ljava/lang/Runnable; - #639 = Methodref #754.#2233 // android/view/View.createAccessibilityNodeInfo:()Landroid/view/accessibility/AccessibilityNodeInfo; - #640 = Methodref #657.#1789 // android/view/accessibility/AccessibilityNodeInfo.setEditable:(Z)V - #641 = Methodref #657.#2234 // android/view/accessibility/AccessibilityNodeInfo.setTextSelection:(II)V - #642 = Methodref #657.#2235 // android/view/accessibility/AccessibilityNodeInfo.setScrollable:(Z)V - #643 = Class #2236 // android/text/InputType - #644 = Methodref #657.#2237 // android/view/accessibility/AccessibilityNodeInfo.setInputType:(I)V - #645 = Methodref #657.#2238 // android/view/accessibility/AccessibilityNodeInfo.setMultiLine:(Z)V - #646 = Methodref #575.#2239 // io/github/rosemoe/sora/text/Content.toStringBuilder:()Ljava/lang/StringBuilder; - #647 = Methodref #657.#1780 // android/view/accessibility/AccessibilityNodeInfo.setText:(Ljava/lang/CharSequence;)V - #648 = Methodref #657.#2240 // android/view/accessibility/AccessibilityNodeInfo.setLongClickable:(Z)V - #649 = Fieldref #2241.#2242 // android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction.ACTION_COPY:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #650 = Methodref #657.#2243 // android/view/accessibility/AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V - #651 = Fieldref #2241.#2244 // android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction.ACTION_CUT:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #652 = Fieldref #2241.#2245 // android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction.ACTION_PASTE:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #653 = Fieldref #2241.#2246 // android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction.ACTION_SET_TEXT:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #654 = Fieldref #2241.#2247 // android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction.ACTION_SCROLL_FORWARD:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #655 = Fieldref #2241.#2248 // android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction.ACTION_SCROLL_BACKWARD:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #656 = Methodref #46.#2249 // io/github/rosemoe/sora/widget/CodeEditor.pasteText:()V - #657 = Class #2250 // android/view/accessibility/AccessibilityNodeInfo - #658 = String #2251 // ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE - #659 = Methodref #573.#2252 // android/os/Bundle.getCharSequence:(Ljava/lang/String;)Ljava/lang/CharSequence; - #660 = Methodref #46.#2253 // io/github/rosemoe/sora/widget/CodeEditor.movePageDown:()V - #661 = Methodref #46.#2254 // io/github/rosemoe/sora/widget/CodeEditor.movePageUp:()V - #662 = Methodref #754.#2255 // android/view/View.performAccessibilityAction:(ILandroid/os/Bundle;)Z - #663 = Methodref #681.#2256 // android/view/MotionEvent.getX:()F - #664 = Methodref #681.#2257 // android/view/MotionEvent.getAction:()I - #665 = Methodref #754.#2258 // android/view/View.dispatchTouchEvent:(Landroid/view/MotionEvent;)Z - #666 = Class #2259 // android/view/inputmethod/EditorInfo - #667 = Integer 131073 - #668 = Fieldref #666.#2260 // android/view/inputmethod/EditorInfo.inputType:I - #669 = Fieldref #666.#2261 // android/view/inputmethod/EditorInfo.initialSelStart:I - #670 = Fieldref #666.#2262 // android/view/inputmethod/EditorInfo.initialSelEnd:I - #671 = Methodref #151.#2263 // io/github/rosemoe/sora/widget/EditorInputConnection.getCursorCapsMode:(I)I - #672 = Fieldref #666.#2264 // android/view/inputmethod/EditorInfo.initialCapsMode:I - #673 = Fieldref #85.#2265 // io/github/rosemoe/sora/widget/DirectAccessProps.allowFullscreen:Z - #674 = Integer 301989888 - #675 = Fieldref #666.#2266 // android/view/inputmethod/EditorInfo.imeOptions:I - #676 = Methodref #151.#1856 // io/github/rosemoe/sora/widget/EditorInputConnection.reset:()V - #677 = Methodref #119.#2267 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.handlingMotions:()Z - #678 = Methodref #119.#2268 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.onTouchEvent:(Landroid/view/MotionEvent;)Z - #679 = Methodref #125.#2268 // android/view/ScaleGestureDetector.onTouchEvent:(Landroid/view/MotionEvent;)Z - #680 = Methodref #121.#2268 // android/view/GestureDetector.onTouchEvent:(Landroid/view/MotionEvent;)Z - #681 = Class #2269 // android/view/MotionEvent - #682 = Methodref #14.#2270 // io/github/rosemoe/sora/widget/EditorKeyEventHandler.onKeyDown:(ILandroid/view/KeyEvent;)Z - #683 = Methodref #14.#2271 // io/github/rosemoe/sora/widget/EditorKeyEventHandler.onKeyUp:(ILandroid/view/KeyEvent;)Z - #684 = Methodref #14.#2272 // io/github/rosemoe/sora/widget/EditorKeyEventHandler.onKeyMultiple:(IILandroid/view/KeyEvent;)Z - #685 = Methodref #754.#2270 // android/view/View.onKeyDown:(ILandroid/view/KeyEvent;)Z - #686 = Methodref #754.#2271 // android/view/View.onKeyUp:(ILandroid/view/KeyEvent;)Z - #687 = Methodref #754.#2272 // android/view/View.onKeyMultiple:(IILandroid/view/KeyEvent;)Z - #688 = Methodref #689.#2273 // android/view/View$MeasureSpec.getMode:(I)I - #689 = Class #2274 // android/view/View$MeasureSpec - #690 = Integer -2147483648 - #691 = Methodref #689.#2276 // android/view/View$MeasureSpec.getSize:(I)I - #692 = Integer 1073741824 - #693 = Methodref #689.#2277 // android/view/View$MeasureSpec.makeMeasureSpec:(II)I - #694 = String #2278 // onMeasure():CodeEditor does not support wrap_content mode when measuring.It will just fill the whole space. - #695 = Methodref #754.#2279 // android/view/View.onMeasure:(II)V - #696 = Class #2280 // android/view/InputDevice - #697 = Methodref #681.#2281 // android/view/MotionEvent.isFromSource:(I)Z - #698 = Methodref #681.#2282 // android/view/MotionEvent.getAxisValue:(I)F - #699 = Methodref #119.#2283 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.onScroll:(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z - #700 = Methodref #754.#2284 // android/view/View.onGenericMotionEvent:(Landroid/view/MotionEvent;)Z - #701 = Methodref #754.#2285 // android/view/View.onSizeChanged:(IIII)V - #702 = Methodref #53.#2285 // io/github/rosemoe/sora/widget/EditorPainter.onSizeChanged:(IIII)V - #703 = Methodref #46.#2286 // io/github/rosemoe/sora/widget/CodeEditor.getVerticalEdgeEffect:()Landroid/widget/EdgeEffect; - #704 = Methodref #155.#1989 // android/widget/EdgeEffect.setSize:(II)V - #705 = Methodref #46.#2287 // io/github/rosemoe/sora/widget/CodeEditor.getHorizontalEdgeEffect:()Landroid/widget/EdgeEffect; - #706 = Methodref #155.#2288 // android/widget/EdgeEffect.finish:()V - #707 = Fieldref #46.#2289 // io/github/rosemoe/sora/widget/CodeEditor.verticalAbsorb:Z - #708 = Fieldref #46.#2290 // io/github/rosemoe/sora/widget/CodeEditor.horizontalAbsorb:Z - #709 = Fieldref #85.#2291 // io/github/rosemoe/sora/widget/DirectAccessProps.adjustToSelectionOnResize:Z - #710 = Methodref #754.#2292 // android/view/View.onDetachedFromWindow:()V - #711 = Methodref #46.#2293 // io/github/rosemoe/sora/widget/CodeEditor.removeCallbacks:(Ljava/lang/Runnable;)Z - #712 = Methodref #754.#2294 // android/view/View.onFocusChanged:(ZILandroid/graphics/Rect;)V - #713 = Methodref #119.#2295 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.hideInsertHandle:()V - #714 = Methodref #1592.#2296 // android/widget/OverScroller.computeScrollOffset:()Z - #715 = Methodref #1592.#2297 // android/widget/OverScroller.getStartX:()I - #716 = Methodref #1592.#2298 // android/widget/OverScroller.getFinalX:()I - #717 = Methodref #1592.#2299 // android/widget/OverScroller.getStartY:()I - #718 = Methodref #1592.#2300 // android/widget/OverScroller.getFinalY:()I - #719 = Fieldref #46.#2301 // io/github/rosemoe/sora/widget/CodeEditor.scrollerFinalX:F - #720 = Fieldref #46.#2302 // io/github/rosemoe/sora/widget/CodeEditor.scrollerFinalY:F - #721 = Methodref #1896.#2303 // java/lang/Math.abs:(I)I - #722 = Methodref #46.#2304 // io/github/rosemoe/sora/widget/CodeEditor.getDpUnit:()F - #723 = Methodref #155.#2227 // android/widget/EdgeEffect.isFinished:()Z - #724 = Methodref #1592.#2305 // android/widget/OverScroller.getCurrVelocity:()F - #725 = Methodref #155.#2306 // android/widget/EdgeEffect.onAbsorb:(I)V - #726 = Fieldref #119.#2307 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.glowLeftOrRight:Z - #727 = Fieldref #119.#2308 // io/github/rosemoe/sora/widget/EditorTouchEventHandler.glowTopOrBottom:Z - #728 = Methodref #46.#2309 // io/github/rosemoe/sora/widget/CodeEditor.postInvalidateOnAnimation:()V - #729 = Methodref #77.#2310 // io/github/rosemoe/sora/widget/HwAcceleratedRenderer.beforeReplace:(Lio/github/rosemoe/sora/text/Content;)V - #730 = InterfaceMethodref #1671.#2310 // io/github/rosemoe/sora/widget/layout/Layout.beforeReplace:(Lio/github/rosemoe/sora/text/Content;)V - #731 = Methodref #56.#2311 // io/github/rosemoe/sora/widget/EditorStyleDelegate.onTextChange:()V - #732 = Methodref #1932.#2312 // io/github/rosemoe/sora/lang/styling/Styles.adjustOnInsert:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - #733 = Methodref #2313.#2314 // io/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer.shiftOnInsert:(II)V - #734 = String #2315 // Update failure - #735 = Methodref #77.#2316 // io/github/rosemoe/sora/widget/HwAcceleratedRenderer.afterInsert:(Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - #736 = InterfaceMethodref #1671.#2316 // io/github/rosemoe/sora/widget/layout/Layout.afterInsert:(Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - #737 = Methodref #18.#1658 // io/github/rosemoe/sora/widget/component/EditorAutoCompletion.isEnabled:()Z - #738 = Methodref #575.#2317 // io/github/rosemoe/sora/text/Content.isUndoOrRedo:()Z - #739 = Fieldref #85.#2318 // io/github/rosemoe/sora/widget/DirectAccessProps.autoCompletionOnComposing:Z - #740 = InterfaceMethodref #1062.#2319 // io/github/rosemoe/sora/lang/analysis/AnalyzeManager.insert:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - #741 = Methodref #1932.#2320 // io/github/rosemoe/sora/lang/styling/Styles.adjustOnDelete:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - #742 = Methodref #2313.#2321 // io/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer.shiftOnDelete:(II)V - #743 = Methodref #77.#2322 // io/github/rosemoe/sora/widget/HwAcceleratedRenderer.afterDelete:(Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - #744 = InterfaceMethodref #1671.#2322 // io/github/rosemoe/sora/widget/layout/Layout.afterDelete:(Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - #745 = InterfaceMethodref #1062.#2323 // io/github/rosemoe/sora/lang/analysis/AnalyzeManager.delete:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - #746 = InvokeDynamic #1:#2325 // #1:run:(Lio/github/rosemoe/sora/widget/CodeEditor;Ljava/lang/Throwable;)Ljava/lang/Runnable; - #747 = InterfaceMethodref #1671.#2326 // io/github/rosemoe/sora/widget/layout/Layout.onRemove:(Lio/github/rosemoe/sora/text/Content;Lio/github/rosemoe/sora/text/ContentLine;)V - #748 = InvokeDynamic #2:#2328 // #2:run:(Lio/github/rosemoe/sora/widget/CodeEditor;Ljava/lang/CharSequence;)Ljava/lang/Runnable; - #749 = InvokeDynamic #3:#2330 // #3:run:(Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)Ljava/lang/Runnable; - #750 = Methodref #46.#2331 // io/github/rosemoe/sora/widget/CodeEditor.setSelectionAround:(II)V - #751 = Methodref #72.#1871 // java/lang/Throwable.toString:()Ljava/lang/String; - #752 = Methodref #2332.#2333 // io/github/rosemoe/sora/util/Logger.instance:(Ljava/lang/String;)Lio/github/rosemoe/sora/util/Logger; - #753 = Fieldref #46.#2334 // io/github/rosemoe/sora/widget/CodeEditor.logger:Lio/github/rosemoe/sora/util/Logger; - #754 = Class #2335 // android/view/View - #755 = Class #2336 // io/github/rosemoe/sora/text/ContentListener - #756 = Class #2337 // io/github/rosemoe/sora/text/FormatThread$FormatResultReceiver - #757 = Class #2339 // io/github/rosemoe/sora/text/LineRemoveListener - #758 = Utf8 SearchActionMode - #759 = Utf8 InnerClasses - #760 = Utf8 logger - #761 = Utf8 Lio/github/rosemoe/sora/util/Logger; - #762 = Utf8 NUMBER_DIGITS - #763 = Utf8 Ljava/lang/String; - #764 = Utf8 ConstantValue - #765 = Utf8 DEFAULT_TEXT_SIZE - #766 = Utf8 I - #767 = Integer 18 - #768 = Utf8 DEFAULT_CURSOR_BLINK_PERIOD - #769 = Integer 500 - #770 = Utf8 FLAG_DRAW_WHITESPACE_LEADING - #771 = Integer 1 - #772 = Utf8 FLAG_DRAW_WHITESPACE_INNER - #773 = Integer 2 - #774 = Utf8 FLAG_DRAW_WHITESPACE_TRAILING - #775 = Integer 4 - #776 = Utf8 FLAG_DRAW_WHITESPACE_FOR_EMPTY_LINE - #777 = Integer 8 - #778 = Utf8 FLAG_DRAW_LINE_SEPARATOR - #779 = Integer 16 - #780 = Utf8 FLAG_DRAW_TAB_SAME_AS_SPACE - #781 = Integer 32 - #782 = Utf8 FLAG_DRAW_WHITESPACE_IN_SELECTION - #783 = Integer 64 - #784 = Utf8 WINDOW_POS_MODE_AUTO - #785 = Integer 0 - #786 = Utf8 WINDOW_POS_MODE_FOLLOW_CURSOR_ALWAYS - #787 = Utf8 WINDOW_POS_MODE_FULL_WIDTH_ALWAYS - #788 = Utf8 SCALE_MINI_GRAPH - #789 = Utf8 F - #790 = Float 0.9f - #791 = Utf8 ACTION_MODE_NONE - #792 = Utf8 ACTION_MODE_SEARCH_TEXT - #793 = Utf8 ACTION_MODE_SELECT_TEXT - #794 = Utf8 LOG_TAG - #795 = Utf8 mLanguageSymbolPairs - #796 = Utf8 Lio/github/rosemoe/sora/widget/SymbolPairMatch; - #797 = Utf8 mTabWidth - #798 = Utf8 mCursorPosition - #799 = Utf8 mDownX - #800 = Utf8 mInputType - #801 = Utf8 mNonPrintableOptions - #802 = Utf8 mCompletionPosMode - #803 = Utf8 mAvailableFloatArrayRegion - #804 = Utf8 J - #805 = Utf8 mDpUnit - #806 = Utf8 mDividerWidth - #807 = Utf8 mDividerMargin - #808 = Utf8 mInsertSelWidth - #809 = Utf8 mBlockLineWidth - #810 = Utf8 mVerticalScrollFactor - #811 = Utf8 mLineInfoTextSize - #812 = Utf8 mLineSpacingMultiplier - #813 = Utf8 mLineSpacingAdd - #814 = Utf8 mWait - #815 = Utf8 Z - #816 = Utf8 mScalable - #817 = Utf8 mEditable - #818 = Utf8 mWordwrap - #819 = Utf8 mUndoEnabled - #820 = Utf8 mLayoutBusy - #821 = Utf8 mDisplayLnPanel - #822 = Utf8 mLineNumberEnabled - #823 = Utf8 mBlockLineEnabled - #824 = Utf8 mForceHorizontalScrollable - #825 = Utf8 mHighlightCurrentBlock - #826 = Utf8 mHighlightCurrentLine - #827 = Utf8 mVerticalScrollBarEnabled - #828 = Utf8 mHorizontalScrollBarEnabled - #829 = Utf8 mCursorAnimation - #830 = Utf8 mPinLineNumber - #831 = Utf8 mFirstLineNumberAlwaysVisible - #832 = Utf8 mLigatureEnabled - #833 = Utf8 mLastCursorState - #834 = Utf8 mStickyTextSelection - #835 = Utf8 mHighlightBracketPair - #836 = Utf8 mLeftHandle - #837 = Utf8 HandleDescriptor - #838 = Utf8 Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - #839 = Utf8 mRightHandle - #840 = Utf8 mInsertHandle - #841 = Utf8 mClipboardManager - #842 = Utf8 Landroid/content/ClipboardManager; - #843 = Utf8 mInputMethodManager - #844 = Utf8 Landroid/view/inputmethod/InputMethodManager; - #845 = Utf8 mCursor - #846 = Utf8 Lio/github/rosemoe/sora/text/Cursor; - #847 = Utf8 mText - #848 = Utf8 Lio/github/rosemoe/sora/text/Content; - #849 = Utf8 mMatrix - #850 = Utf8 Landroid/graphics/Matrix; - #851 = Utf8 mColors - #852 = Utf8 Lio/github/rosemoe/sora/widget/schemes/EditorColorScheme; - #853 = Utf8 mLnTip - #854 = Utf8 mFormatTip - #855 = Utf8 mLanguage - #856 = Utf8 Lio/github/rosemoe/sora/lang/Language; - #857 = Utf8 mDiagnosticStyle - #858 = Utf8 Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle; - #859 = Utf8 mLastMakeVisible - #860 = Utf8 mCompletionWindow - #861 = Utf8 Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - #862 = Utf8 mEventHandler - #863 = Utf8 Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - #864 = Utf8 mLineNumberAlign - #865 = Class #2341 // android/graphics/Paint$Align - #866 = Utf8 Align - #867 = Utf8 Landroid/graphics/Paint$Align; - #868 = Utf8 mBasicDetector - #869 = Utf8 Landroid/view/GestureDetector; - #870 = Utf8 mTextActionWindow - #871 = Utf8 Lio/github/rosemoe/sora/widget/component/EditorTextActionWindow; - #872 = Utf8 mScaleDetector - #873 = Utf8 Landroid/view/ScaleGestureDetector; - #874 = Utf8 mAnchorInfoBuilder - #875 = Utf8 Builder - #876 = Utf8 Landroid/view/inputmethod/CursorAnchorInfo$Builder; - #877 = Utf8 mVerticalGlow - #878 = Utf8 Landroid/widget/EdgeEffect; - #879 = Utf8 mHorizontalGlow - #880 = Utf8 mExtracting - #881 = Utf8 Landroid/view/inputmethod/ExtractedTextRequest; - #882 = Utf8 mFormatThread - #883 = Utf8 Lio/github/rosemoe/sora/text/FormatThread; - #884 = Utf8 mSearcher - #885 = Utf8 Lio/github/rosemoe/sora/widget/EditorSearcher; - #886 = Utf8 mCursorAnimator - #887 = Utf8 Lio/github/rosemoe/sora/widget/style/CursorAnimator; - #888 = Utf8 mLineNumberMetrics - #889 = Class #2342 // android/graphics/Paint$FontMetricsInt - #890 = Utf8 FontMetricsInt - #891 = Utf8 Landroid/graphics/Paint$FontMetricsInt; - #892 = Utf8 mGraphMetrics - #893 = Utf8 mHandleStyle - #894 = Utf8 Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle; - #895 = Utf8 mCursorBlink - #896 = Utf8 Lio/github/rosemoe/sora/widget/CursorBlink; - #897 = Utf8 defSpans - #898 = Utf8 Ljava/util/List; - #899 = Utf8 Signature - #900 = Utf8 Ljava/util/List; - #901 = Utf8 mRenderer - #902 = Utf8 Lio/github/rosemoe/sora/widget/HwAcceleratedRenderer; - #903 = Utf8 mProps - #904 = Utf8 Lio/github/rosemoe/sora/widget/DirectAccessProps; - #905 = Utf8 mExtraArguments - #906 = Utf8 Landroid/os/Bundle; - #907 = Utf8 mStyleDelegate - #908 = Utf8 Lio/github/rosemoe/sora/widget/EditorStyleDelegate; - #909 = Utf8 mStyles - #910 = Utf8 Lio/github/rosemoe/sora/lang/styling/Styles; - #911 = Utf8 mDiagnostics - #912 = Utf8 Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - #913 = Utf8 mKeyEventHandler - #914 = Utf8 Lio/github/rosemoe/sora/widget/EditorKeyEventHandler; - #915 = Utf8 mStartedActionMode - #916 = Utf8 mSelectionAnchor - #917 = Utf8 Lio/github/rosemoe/sora/text/CharPosition; - #918 = Utf8 mConnection - #919 = Utf8 Lio/github/rosemoe/sora/widget/EditorInputConnection; - #920 = Utf8 mEventManager - #921 = Utf8 Lio/github/rosemoe/sora/event/EventManager; - #922 = Utf8 mLayout - #923 = Utf8 Lio/github/rosemoe/sora/widget/layout/Layout; - #924 = Utf8 mPainter - #925 = Utf8 Lio/github/rosemoe/sora/widget/EditorPainter; - #926 = Utf8 mHardwareAccAllowed - #927 = Utf8 scrollerFinalX - #928 = Utf8 scrollerFinalY - #929 = Utf8 verticalAbsorb - #930 = Utf8 horizontalAbsorb - #931 = Utf8 COPYRIGHT - #932 = Utf8 - #933 = Utf8 (Landroid/content/Context;)V - #934 = Utf8 Code - #935 = Utf8 LineNumberTable - #936 = Utf8 LocalVariableTable - #937 = Utf8 this - #938 = Utf8 Lio/github/rosemoe/sora/widget/CodeEditor; - #939 = Utf8 context - #940 = Utf8 Landroid/content/Context; - #941 = Utf8 (Landroid/content/Context;Landroid/util/AttributeSet;)V - #942 = Utf8 attrs - #943 = Utf8 Landroid/util/AttributeSet; - #944 = Utf8 (Landroid/content/Context;Landroid/util/AttributeSet;I)V - #945 = Utf8 defStyleAttr - #946 = Utf8 (Landroid/content/Context;Landroid/util/AttributeSet;II)V - #947 = Utf8 defStyleRes - #948 = Utf8 getComponent - #949 = Utf8 (Ljava/lang/Class;)Lio/github/rosemoe/sora/widget/component/EditorBuiltinComponent; - #950 = Utf8 clazz - #951 = Utf8 Ljava/lang/Class; - #952 = Utf8 LocalVariableTypeTable - #953 = Utf8 Ljava/lang/Class; - #954 = Utf8 StackMapTable - #955 = Utf8 (Ljava/lang/Class;)TT; - #956 = Utf8 RuntimeInvisibleAnnotations - #957 = Utf8 Landroidx/annotation/NonNull; - #958 = Utf8 RuntimeInvisibleParameterAnnotations - #959 = Utf8 replaceComponent - #960 = Utf8 (Ljava/lang/Class;Lio/github/rosemoe/sora/widget/component/EditorBuiltinComponent;)V - #961 = Utf8 replacement - #962 = Utf8 Lio/github/rosemoe/sora/widget/component/EditorBuiltinComponent; - #963 = Utf8 old - #964 = Utf8 isEnabled - #965 = Utf8 TT; - #966 = Class #2343 // io/github/rosemoe/sora/widget/component/EditorBuiltinComponent - #967 = Utf8 (Ljava/lang/Class;TT;)V - #968 = Utf8 getKeyMetaStates - #969 = Utf8 ()Lio/github/rosemoe/sora/widget/KeyMetaStates; - #970 = Utf8 hasVisibleRegion - #971 = Utf8 (IIII)Z - #972 = Utf8 begin - #973 = Utf8 end - #974 = Utf8 first - #975 = Utf8 last - #976 = Utf8 cancelAnimation - #977 = Utf8 ()V - #978 = Utf8 measureTextRegionOffset - #979 = Utf8 ()F - #980 = Utf8 getLeftHandleDescriptor - #981 = Utf8 ()Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - #982 = Utf8 getRightHandleDescriptor - #983 = Utf8 getOffset - #984 = Utf8 (II)F - #985 = Utf8 line - #986 = Utf8 column - #987 = Utf8 getCharOffsetX - #988 = Utf8 getCharOffsetY - #989 = Utf8 initialize - #990 = Utf8 (Landroid/util/AttributeSet;II)V - #991 = Utf8 configuration - #992 = Utf8 Landroid/view/ViewConfiguration; - #993 = Utf8 a - #994 = Utf8 Landroid/content/res/TypedArray; - #995 = Utf8 e - #996 = Utf8 Ljava/lang/Exception; - #997 = Class #2344 // android/util/AttributeSet - #998 = Class #2345 // android/content/res/TypedArray - #999 = Utf8 setCompletionWndPositionMode - #1000 = Utf8 (I)V - #1001 = Utf8 mode - #1002 = Utf8 getCompletionWndPositionMode - #1003 = Utf8 ()I - #1004 = Utf8 getProps - #1005 = Utf8 ()Lio/github/rosemoe/sora/widget/DirectAccessProps; - #1006 = Utf8 setFormatTip - #1007 = Utf8 (Ljava/lang/String;)V - #1008 = Utf8 formatTip - #1009 = Utf8 getFormatTip - #1010 = Utf8 ()Ljava/lang/String; - #1011 = Utf8 setPinLineNumber - #1012 = Utf8 (Z)V - #1013 = Utf8 pinLineNumber - #1014 = Utf8 isLineNumberPinned - #1015 = Utf8 ()Z - #1016 = Utf8 setFirstLineNumberAlwaysVisible - #1017 = Utf8 enabled - #1018 = Utf8 isFirstLineNumberAlwaysVisible - #1019 = Utf8 insertText - #1020 = Utf8 (Ljava/lang/String;I)V - #1021 = Utf8 pos - #1022 = Utf8 text - #1023 = Utf8 selectionOffset - #1024 = Utf8 cur - #1025 = Class #2346 // io/github/rosemoe/sora/text/Cursor - #1026 = Utf8 setAutoCompletionItemAdapter - #1027 = Utf8 (Lio/github/rosemoe/sora/widget/component/EditorCompletionAdapter;)V - #1028 = Utf8 adapter - #1029 = Utf8 Lio/github/rosemoe/sora/widget/component/EditorCompletionAdapter; - #1030 = Utf8 Landroidx/annotation/Nullable; - #1031 = Utf8 setCursorBlinkPeriod - #1032 = Utf8 before - #1033 = Utf8 period - #1034 = Utf8 getCursorBlink - #1035 = Utf8 ()Lio/github/rosemoe/sora/widget/CursorBlink; - #1036 = Utf8 setLigatureEnabled - #1037 = Utf8 isLigatureEnabled - #1038 = Utf8 setFontFeatureSettings - #1039 = Utf8 features - #1040 = Utf8 setSelectionHandleStyle - #1041 = Utf8 (Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle;)V - #1042 = Utf8 style - #1043 = Utf8 getHandleStyle - #1044 = Utf8 ()Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle; - #1045 = Utf8 isHighlightCurrentBlock - #1046 = Utf8 setHighlightCurrentBlock - #1047 = Utf8 highlightCurrentBlock - #1048 = Utf8 isStickyTextSelection - #1049 = Utf8 setStickyTextSelection - #1050 = Utf8 stickySelection - #1051 = Utf8 setHighlightCurrentLine - #1052 = Utf8 highlightCurrentLine - #1053 = Utf8 isHighlightCurrentLine - #1054 = Utf8 getEditorLanguage - #1055 = Utf8 ()Lio/github/rosemoe/sora/lang/Language; - #1056 = Utf8 setEditorLanguage - #1057 = Utf8 (Lio/github/rosemoe/sora/lang/Language;)V - #1058 = Utf8 lang - #1059 = Utf8 mgr - #1060 = Utf8 Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - #1061 = Class #2347 // io/github/rosemoe/sora/lang/Language - #1062 = Class #2348 // io/github/rosemoe/sora/lang/analysis/AnalyzeManager - #1063 = Utf8 canHandleKeyBinding - #1064 = Utf8 (IZZZ)Z - #1065 = Utf8 keyCode - #1066 = Utf8 ctrlPressed - #1067 = Utf8 shiftPressed - #1068 = Utf8 altPressed - #1069 = Utf8 getBlockLineWidth - #1070 = Utf8 setBlockLineWidth - #1071 = Utf8 (F)V - #1072 = Utf8 dp - #1073 = Utf8 isWordwrap - #1074 = Utf8 setWordwrap - #1075 = Utf8 wordwrap - #1076 = Utf8 setCursorAnimationEnabled - #1077 = Utf8 isCursorAnimationEnabled - #1078 = Utf8 setCursorAnimator - #1079 = Utf8 (Lio/github/rosemoe/sora/widget/style/CursorAnimator;)V - #1080 = Utf8 cursorAnimator - #1081 = Utf8 getCursorAnimator - #1082 = Utf8 ()Lio/github/rosemoe/sora/widget/style/CursorAnimator; - #1083 = Utf8 setScrollBarEnabled - #1084 = Utf8 isDisplayLnPanel - #1085 = Utf8 setDisplayLnPanel - #1086 = Utf8 displayLnPanel - #1087 = Utf8 getLnTip - #1088 = Utf8 setLnTip - #1089 = Utf8 prefix - #1090 = Utf8 isHorizontalScrollBarEnabled - #1091 = Utf8 setHorizontalScrollBarEnabled - #1092 = Utf8 horizontalScrollBarEnabled - #1093 = Utf8 isVerticalScrollBarEnabled - #1094 = Utf8 setVerticalScrollBarEnabled - #1095 = Utf8 verticalScrollBarEnabled - #1096 = Utf8 getInsertHandleDescriptor - #1097 = Utf8 getTextSizePx - #1098 = Utf8 Landroidx/annotation/Px; - #1099 = Utf8 setTextSizePx - #1100 = Utf8 size - #1101 = Utf8 setTextSizePxDirect - #1102 = Utf8 getRenderer - #1103 = Utf8 ()Lio/github/rosemoe/sora/widget/HwAcceleratedRenderer; - #1104 = Utf8 getEditorPainter - #1105 = Utf8 ()Lio/github/rosemoe/sora/widget/EditorPainter; - #1106 = Utf8 getLineNumberMetrics - #1107 = Utf8 ()Landroid/graphics/Paint$FontMetricsInt; - #1108 = Utf8 rememberDisplayedLines - #1109 = Utf8 obtainFloatArray - #1110 = Utf8 (IZ)[F - #1111 = Utf8 res - #1112 = Utf8 [F - #1113 = Utf8 Lio/github/rosemoe/sora/text/ContentLine; - #1114 = Utf8 i - #1115 = Utf8 desiredSize - #1116 = Utf8 usePainter - #1117 = Utf8 start - #1118 = Utf8 firstVis - #1119 = Utf8 lastVis - #1120 = Class #2349 // io/github/rosemoe/sora/text/ContentLine - #1121 = Utf8 buildMeasureCacheForLines - #1122 = Utf8 (IIJZ)V - #1123 = Utf8 gtr - #1124 = Utf8 Lio/github/rosemoe/sora/graphics/GraphicTextRow; - #1125 = Utf8 startLine - #1126 = Utf8 endLine - #1127 = Utf8 timestamp - #1128 = Class #2350 // io/github/rosemoe/sora/graphics/GraphicTextRow - #1129 = Utf8 clearFlag - #1130 = Utf8 (II)I - #1131 = Utf8 flags - #1132 = Utf8 flag - #1133 = Utf8 shouldInitializeNonPrintable - #1134 = Utf8 setHardwareAcceleratedDrawAllowed - #1135 = Utf8 acceleratedDraw - #1136 = Utf8 isHardwareAcceleratedDrawAllowed - #1137 = Utf8 findLeadingAndTrailingWhitespacePos - #1138 = Utf8 (Lio/github/rosemoe/sora/text/ContentLine;)J - #1139 = Utf8 buffer - #1140 = Utf8 [C - #1141 = Utf8 leading - #1142 = Utf8 trailing - #1143 = Class #1140 // "[C" - #1144 = Utf8 isWhitespace - #1145 = Utf8 (C)Z - #1146 = Utf8 ch - #1147 = Utf8 C - #1148 = Utf8 computeMatchedPositions - #1149 = Utf8 (ILio/github/rosemoe/sora/util/LongArrayList;)V - #1150 = Utf8 region - #1151 = Utf8 highlightStart - #1152 = Utf8 highlightEnd - #1153 = Utf8 Lio/github/rosemoe/sora/util/LongArrayList; - #1154 = Utf8 lineLeft - #1155 = Utf8 lineRight - #1156 = Utf8 positions - #1157 = Utf8 seq - #1158 = Utf8 index - #1159 = Utf8 len - #1160 = Class #2351 // io/github/rosemoe/sora/util/LongArrayList - #1161 = Utf8 getEdgeEffectColor - #1162 = Utf8 setEdgeEffectColor - #1163 = Utf8 color - #1164 = Utf8 getLayout - #1165 = Utf8 ()Lio/github/rosemoe/sora/widget/layout/Layout; - #1166 = Utf8 Lio/github/rosemoe/sora/annotations/UnsupportedUserUsage; - #1167 = Utf8 getVerticalEdgeEffect - #1168 = Utf8 ()Landroid/widget/EdgeEffect; - #1169 = Utf8 getHorizontalEdgeEffect - #1170 = Utf8 findCursorBlock - #1171 = Utf8 blocks - #1172 = Utf8 Ljava/util/List; - #1173 = Class #2352 // java/util/List - #1174 = Utf8 (Ljava/util/List;)I - #1175 = Utf8 dis - #1176 = Utf8 block - #1177 = Utf8 Lio/github/rosemoe/sora/lang/styling/CodeBlock; - #1178 = Utf8 min - #1179 = Utf8 max - #1180 = Utf8 minDis - #1181 = Utf8 found - #1182 = Utf8 invalidCount - #1183 = Utf8 maxCount - #1184 = Utf8 (Ljava/util/List;)I - #1185 = Utf8 getCurrentCursorBlock - #1186 = Utf8 binarySearchEndBlock - #1187 = Utf8 (ILjava/util/List;)I - #1188 = Utf8 mid - #1189 = Utf8 row - #1190 = Utf8 left - #1191 = Utf8 right - #1192 = Utf8 (ILjava/util/List;)I - #1193 = Utf8 measureText - #1194 = Utf8 (Lio/github/rosemoe/sora/text/ContentLine;III)F - #1195 = Utf8 count - #1196 = Utf8 spans - #1197 = Utf8 getSpansForLine - #1198 = Utf8 (I)Ljava/util/List; - #1199 = Utf8 spanMap - #1200 = Utf8 Lio/github/rosemoe/sora/lang/styling/Spans; - #1201 = Class #2353 // io/github/rosemoe/sora/lang/styling/Spans - #1202 = Utf8 (I)Ljava/util/List; - #1203 = Utf8 drawText - #1204 = Utf8 (Landroid/graphics/Canvas;Lio/github/rosemoe/sora/text/ContentLine;IIIIZFFI)V - #1205 = Utf8 canvas - #1206 = Utf8 Landroid/graphics/Canvas; - #1207 = Utf8 contextStart - #1208 = Utf8 contextCount - #1209 = Utf8 isRtl - #1210 = Utf8 offX - #1211 = Utf8 offY - #1212 = Utf8 lineNumber - #1213 = Utf8 src - #1214 = Utf8 st - #1215 = Class #2354 // android/graphics/Canvas - #1216 = Utf8 Landroid/annotation/SuppressLint; - #1217 = Utf8 value - #1218 = Utf8 NewApi - #1219 = Utf8 findFirstVisibleChar - #1220 = Utf8 (FIILio/github/rosemoe/sora/text/ContentLine;I)[F - #1221 = Utf8 target - #1222 = Utf8 (FIIILio/github/rosemoe/sora/text/ContentLine;I)[F - #1223 = Utf8 findFirstVisibleCharNoCache - #1224 = Utf8 (FIIILio/github/rosemoe/sora/text/ContentLine;ILio/github/rosemoe/sora/graphics/Paint;)[F - #1225 = Utf8 paint - #1226 = Utf8 Lio/github/rosemoe/sora/graphics/Paint; - #1227 = Utf8 measureLineNumber - #1228 = Utf8 lineCount - #1229 = Utf8 single - #1230 = Class #1112 // "[F" - #1231 = Utf8 createLayout - #1232 = Utf8 newLayout - #1233 = Utf8 Lio/github/rosemoe/sora/widget/layout/WordwrapLayout; - #1234 = Utf8 commitTab - #1235 = Utf8 updateCompletionWindowPosition - #1236 = Utf8 offset - #1237 = Utf8 width - #1238 = Utf8 shift - #1239 = Utf8 panelX - #1240 = Utf8 rightLayoutOffset - #1241 = Utf8 panelY - #1242 = Utf8 restY - #1243 = Utf8 height - #1244 = Utf8 updateCursorAnchor - #1245 = Utf8 builder - #1246 = Utf8 b - #1247 = Utf8 [I - #1248 = Utf8 l - #1249 = Utf8 visible - #1250 = Utf8 x - #1251 = Class #1247 // "[I" - #1252 = Utf8 deleteText - #1253 = Utf8 emptyLine - #1254 = Utf8 inLeading - #1255 = Utf8 tmp - #1256 = Utf8 col - #1257 = Utf8 commitText - #1258 = Utf8 (Ljava/lang/CharSequence;)V - #1259 = Utf8 Ljava/lang/CharSequence; - #1260 = Utf8 (Ljava/lang/CharSequence;Z)V - #1261 = Utf8 p - #1262 = Utf8 sb - #1263 = Utf8 Ljava/lang/StringBuilder; - #1264 = Utf8 applyAutoIndent - #1265 = Class #2355 // java/lang/CharSequence - #1266 = Utf8 getLineInfoTextSize - #1267 = Utf8 setLineInfoTextSize - #1268 = Utf8 setNonPrintablePaintingFlags - #1269 = Utf8 getNonPrintablePaintingFlags - #1270 = Utf8 ensureSelectionVisible - #1271 = Utf8 ensurePositionVisible - #1272 = Utf8 (II)V - #1273 = Utf8 layoutOffset - #1274 = Utf8 xOffset - #1275 = Utf8 yOffset - #1276 = Utf8 targetY - #1277 = Utf8 targetX - #1278 = Utf8 charWidth - #1279 = Utf8 animation - #1280 = Utf8 hasClip - #1281 = Utf8 getDpUnit - #1282 = Utf8 getScroller - #1283 = Utf8 ()Landroid/widget/OverScroller; - #1284 = Utf8 isOverMaxY - #1285 = Utf8 (F)Z - #1286 = Utf8 posOnScreen - #1287 = Utf8 getPointPosition - #1288 = Utf8 (FF)J - #1289 = Utf8 getPointPositionOnScreen - #1290 = Utf8 y - #1291 = Utf8 getScrollMaxY - #1292 = Utf8 getScrollMaxX - #1293 = Utf8 getSearcher - #1294 = Utf8 ()Lio/github/rosemoe/sora/widget/EditorSearcher; - #1295 = Utf8 setSelectionAround - #1296 = Utf8 columnCount - #1297 = Utf8 formatCodeAsync - #1298 = Utf8 (Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)Z - #1299 = Utf8 getTabWidth - #1300 = Utf8 setTabWidth - #1301 = Utf8 setScaleTextSizes - #1302 = Utf8 (FF)V - #1303 = Utf8 minSize - #1304 = Utf8 maxSize - #1305 = Utf8 isInterceptParentHorizontalScrollEnabled - #1306 = Utf8 setInterceptParentHorizontalScrollIfNeeded - #1307 = Utf8 parent - #1308 = Utf8 Landroid/view/ViewParent; - #1309 = Utf8 forceHorizontalScrollable - #1310 = Utf8 setHighlightBracketPair - #1311 = Utf8 highlightBracketPair - #1312 = Utf8 isHighlightBracketPair - #1313 = Utf8 getInputType - #1314 = Utf8 setInputType - #1315 = Utf8 inputType - #1316 = Utf8 undo - #1317 = Utf8 redo - #1318 = Utf8 canUndo - #1319 = Utf8 canRedo - #1320 = Utf8 isUndoEnabled - #1321 = Utf8 setUndoEnabled - #1322 = Utf8 setDiagnosticIndicatorStyle - #1323 = Utf8 (Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle;)V - #1324 = Utf8 diagnosticIndicatorStyle - #1325 = Utf8 getDiagnosticIndicatorStyle - #1326 = Utf8 ()Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle; - #1327 = Utf8 beginSearchMode - #1328 = Utf8 callback - #1329 = Class #2357 // android/view/ActionMode$Callback - #1330 = Utf8 Callback - #1331 = Utf8 Landroid/view/ActionMode$Callback; - #1332 = Utf8 getEventHandler - #1333 = Utf8 ()Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - #1334 = Utf8 getDividerMargin - #1335 = Utf8 setDividerMargin - #1336 = Utf8 dividerMargin - #1337 = Utf8 getDividerWidth - #1338 = Utf8 setDividerWidth - #1339 = Utf8 dividerWidth - #1340 = Utf8 getTypefaceLineNumber - #1341 = Utf8 ()Landroid/graphics/Typeface; - #1342 = Utf8 setTypefaceLineNumber - #1343 = Utf8 (Landroid/graphics/Typeface;)V - #1344 = Utf8 typefaceLineNumber - #1345 = Utf8 Landroid/graphics/Typeface; - #1346 = Utf8 getTypefaceText - #1347 = Utf8 setTypefaceText - #1348 = Utf8 typefaceText - #1349 = Utf8 setTextScaleX - #1350 = Utf8 textScaleX - #1351 = Utf8 getTextScaleX - #1352 = Utf8 setTextLetterSpacing - #1353 = Utf8 textLetterSpacing - #1354 = Utf8 getTextLetterSpacing - #1355 = Utf8 getLineNumberAlign - #1356 = Utf8 ()Landroid/graphics/Paint$Align; - #1357 = Utf8 setLineNumberAlign - #1358 = Utf8 (Landroid/graphics/Paint$Align;)V - #1359 = Utf8 align - #1360 = Utf8 setCursorWidth - #1361 = Utf8 getInsertSelectionWidth - #1362 = Utf8 getCursor - #1363 = Utf8 ()Lio/github/rosemoe/sora/text/Cursor; - #1364 = Utf8 getLineCount - #1365 = Utf8 getFirstVisibleLine - #1366 = Utf8 Ljava/lang/IndexOutOfBoundsException; - #1367 = Utf8 getFirstVisibleRow - #1368 = Utf8 getLastVisibleRow - #1369 = Utf8 getLastVisibleLine - #1370 = Utf8 isRowVisible - #1371 = Utf8 (I)Z - #1372 = Utf8 setLineSpacing - #1373 = Utf8 add - #1374 = Utf8 mult - #1375 = Utf8 getLineSpacingExtra - #1376 = Utf8 setLineSpacingExtra - #1377 = Utf8 lineSpacingExtra - #1378 = Utf8 setLineSpacingMultiplier - #1379 = Utf8 lineSpacingMultiplier - #1380 = Utf8 getLineSpacingMultiplier - #1381 = Utf8 getLineSpacingPixels - #1382 = Utf8 metrics - #1383 = Utf8 getRowBaseline - #1384 = Utf8 (I)I - #1385 = Utf8 getRowHeight - #1386 = Utf8 getRowTop - #1387 = Utf8 getRowBottom - #1388 = Utf8 getRowTopOfText - #1389 = Utf8 getRowBottomOfText - #1390 = Utf8 getRowHeightOfText - #1391 = Utf8 getOffsetX - #1392 = Utf8 getOffsetY - #1393 = Utf8 setLayoutBusy - #1394 = Utf8 busy - #1395 = Utf8 isEditable - #1396 = Utf8 setEditable - #1397 = Utf8 editable - #1398 = Utf8 setScalable - #1399 = Utf8 scale - #1400 = Utf8 isScalable - #1401 = Utf8 setBlockLineEnabled - #1402 = Utf8 isBlockLineEnabled - #1403 = Utf8 getSelectingTarget - #1404 = Utf8 ()Lio/github/rosemoe/sora/text/CharPosition; - #1405 = Utf8 ensureSelectingTargetVisible - #1406 = Utf8 moveSelectionDown - #1407 = Utf8 moveSelectionUp - #1408 = Utf8 moveSelectionLeft - #1409 = Utf8 c - #1410 = Utf8 lineAfter - #1411 = Utf8 columnAfter - #1412 = Utf8 moveSelectionRight - #1413 = Utf8 c_column - #1414 = Utf8 moveSelectionEnd - #1415 = Utf8 moveSelectionHome - #1416 = Utf8 setSelection - #1417 = Utf8 (III)V - #1418 = Utf8 cause - #1419 = Utf8 (IIZ)V - #1420 = Utf8 makeItVisible - #1421 = Utf8 (IIZI)V - #1422 = Utf8 selectAll - #1423 = Utf8 setSelectionRegion - #1424 = Utf8 (IIIII)V - #1425 = Utf8 columnLeft - #1426 = Utf8 columnRight - #1427 = Utf8 (IIII)V - #1428 = Utf8 (IIIIZ)V - #1429 = Utf8 makeRightVisible - #1430 = Utf8 (IIIIZI)V - #1431 = Utf8 lastState - #1432 = Utf8 movePageDown - #1433 = Utf8 movePageUp - #1434 = Utf8 pasteText - #1435 = Utf8 data - #1436 = Class #2358 // android/content/ClipData$Item - #1437 = Utf8 Item - #1438 = Utf8 Landroid/content/ClipData$Item; - #1439 = Utf8 copyText - #1440 = Utf8 clip - #1441 = Utf8 shouldCopyLine - #1442 = Utf8 copyLine - #1443 = Utf8 cursor - #1444 = Utf8 cutText - #1445 = Utf8 cutLine - #1446 = Utf8 duplicateLine - #1447 = Utf8 duplicateSelection - #1448 = Utf8 selectDuplicate - #1449 = Utf8 (Ljava/lang/String;Z)V - #1450 = Utf8 r - #1451 = Utf8 sub - #1452 = Utf8 selectCurrentWord - #1453 = Utf8 selectWord - #1454 = Utf8 lastColumn - #1455 = Utf8 lineObj - #1456 = Utf8 edges - #1457 = Utf8 startColumn - #1458 = Utf8 endColumn - #1459 = Utf8 getText - #1460 = Utf8 ()Lio/github/rosemoe/sora/text/Content; - #1461 = Utf8 getExtraArguments - #1462 = Utf8 ()Landroid/os/Bundle; - #1463 = Utf8 setText - #1464 = Utf8 (Ljava/lang/CharSequence;Landroid/os/Bundle;)V - #1465 = Utf8 extraArguments - #1466 = Utf8 (Ljava/lang/CharSequence;ZLandroid/os/Bundle;)V - #1467 = Utf8 reuseContentObject - #1468 = Utf8 setTextSize - #1469 = Utf8 Landroid/content/res/Resources; - #1470 = Utf8 textSize - #1471 = Class #2359 // android/content/res/Resources - #1472 = Utf8 subscribeEvent - #1473 = Utf8 (Ljava/lang/Class;Lio/github/rosemoe/sora/event/EventReceiver;)Lio/github/rosemoe/sora/event/SubscriptionReceipt; - #1474 = Utf8 eventType - #1475 = Utf8 receiver - #1476 = Utf8 Lio/github/rosemoe/sora/event/EventReceiver; - #1477 = Utf8 Lio/github/rosemoe/sora/event/EventReceiver; - #1478 = Utf8 (Ljava/lang/Class;Lio/github/rosemoe/sora/event/EventReceiver;)Lio/github/rosemoe/sora/event/SubscriptionReceipt; - #1479 = Utf8 dispatchEvent - #1480 = Utf8 (Lio/github/rosemoe/sora/event/Event;)I - #1481 = Utf8 event - #1482 = Utf8 Lio/github/rosemoe/sora/event/Event; - #1483 = Utf8 (TT;)I - #1484 = Utf8 isFormatting - #1485 = Utf8 isLineNumberEnabled - #1486 = Utf8 setLineNumberEnabled - #1487 = Utf8 lineNumberEnabled - #1488 = Utf8 getTextPaint - #1489 = Utf8 ()Lio/github/rosemoe/sora/graphics/Paint; - #1490 = Utf8 getOtherPaint - #1491 = Utf8 getGraphPaint - #1492 = Utf8 getColorScheme - #1493 = Utf8 ()Lio/github/rosemoe/sora/widget/schemes/EditorColorScheme; - #1494 = Utf8 setColorScheme - #1495 = Utf8 (Lio/github/rosemoe/sora/widget/schemes/EditorColorScheme;)V - #1496 = Utf8 colors - #1497 = Utf8 jumpToLine - #1498 = Utf8 rerunAnalysis - #1499 = Utf8 getStyles - #1500 = Utf8 ()Lio/github/rosemoe/sora/lang/styling/Styles; - #1501 = Utf8 getDiagnostics - #1502 = Utf8 ()Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - #1503 = Utf8 hideAutoCompleteWindow - #1504 = Utf8 getBlockIndex - #1505 = Utf8 showSoftInput - #1506 = Utf8 hideSoftInput - #1507 = Utf8 updateSelection - #1508 = Utf8 candidatesStart - #1509 = Utf8 candidatesEnd - #1510 = Utf8 updateExtractedText - #1511 = Utf8 Landroid/view/inputmethod/ExtractedText; - #1512 = Utf8 setExtracting - #1513 = Utf8 (Landroid/view/inputmethod/ExtractedTextRequest;)V - #1514 = Utf8 request - #1515 = Utf8 extractText - #1516 = Utf8 (Landroid/view/inputmethod/ExtractedTextRequest;)Landroid/view/inputmethod/ExtractedText; - #1517 = Utf8 selBegin - #1518 = Utf8 selEnd - #1519 = Utf8 startOffset - #1520 = Class #2360 // android/view/inputmethod/ExtractedTextRequest - #1521 = Utf8 notifyIMEExternalCursorChange - #1522 = Utf8 restartInput - #1523 = Utf8 updateCursor - #1524 = Utf8 release - #1525 = Utf8 hideEditorWindows - #1526 = Utf8 onColorUpdated - #1527 = Utf8 type - #1528 = Utf8 onColorFullUpdate - #1529 = Utf8 getInputMethodManager - #1530 = Utf8 ()Landroid/view/inputmethod/InputMethodManager; - #1531 = Utf8 onCloseConnection - #1532 = Utf8 onSelectionChanged - #1533 = Utf8 releaseEdgeEffects - #1534 = Utf8 onDraw - #1535 = Utf8 (Landroid/graphics/Canvas;)V - #1536 = Utf8 createAccessibilityNodeInfo - #1537 = Utf8 ()Landroid/view/accessibility/AccessibilityNodeInfo; - #1538 = Utf8 node - #1539 = Utf8 Landroid/view/accessibility/AccessibilityNodeInfo; - #1540 = Utf8 performAccessibilityAction - #1541 = Utf8 (ILandroid/os/Bundle;)Z - #1542 = Utf8 action - #1543 = Utf8 arguments - #1544 = Utf8 dispatchTouchEvent - #1545 = Utf8 (Landroid/view/MotionEvent;)Z - #1546 = Utf8 deltaX - #1547 = Utf8 Landroid/view/MotionEvent; - #1548 = Utf8 onCheckIsTextEditor - #1549 = Utf8 onCreateInputConnection - #1550 = Utf8 (Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection; - #1551 = Utf8 outAttrs - #1552 = Utf8 Landroid/view/inputmethod/EditorInfo; - #1553 = Utf8 onTouchEvent - #1554 = Utf8 handlingBefore - #1555 = Utf8 handling - #1556 = Utf8 res2 - #1557 = Utf8 res3 - #1558 = Utf8 ClickableViewAccessibility - #1559 = Utf8 onKeyDown - #1560 = Utf8 (ILandroid/view/KeyEvent;)Z - #1561 = Utf8 Landroid/view/KeyEvent; - #1562 = Utf8 onKeyUp - #1563 = Utf8 onKeyMultiple - #1564 = Utf8 (IILandroid/view/KeyEvent;)Z - #1565 = Utf8 repeatCount - #1566 = Utf8 onSuperKeyDown - #1567 = Utf8 onSuperKeyUp - #1568 = Utf8 onSuperKeyMultiple - #1569 = Utf8 onMeasure - #1570 = Utf8 widthMeasureSpec - #1571 = Utf8 heightMeasureSpec - #1572 = Utf8 warn - #1573 = Utf8 onGenericMotionEvent - #1574 = Utf8 v_scroll - #1575 = Utf8 h_scroll - #1576 = Utf8 onSizeChanged - #1577 = Utf8 w - #1578 = Utf8 h - #1579 = Utf8 oldWidth - #1580 = Utf8 oldHeight - #1581 = Utf8 onDetachedFromWindow - #1582 = Utf8 onFocusChanged - #1583 = Utf8 (ZILandroid/graphics/Rect;)V - #1584 = Utf8 gainFocus - #1585 = Utf8 direction - #1586 = Utf8 previouslyFocusedRect - #1587 = Utf8 Landroid/graphics/Rect; - #1588 = Class #2361 // android/graphics/Rect - #1589 = Utf8 computeScroll - #1590 = Utf8 scroller - #1591 = Utf8 Landroid/widget/OverScroller; - #1592 = Class #2362 // android/widget/OverScroller - #1593 = Utf8 beforeReplace - #1594 = Utf8 (Lio/github/rosemoe/sora/text/Content;)V - #1595 = Utf8 content - #1596 = Utf8 afterInsert - #1597 = Utf8 (Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - #1598 = Utf8 insertedContent - #1599 = Utf8 afterDelete - #1600 = Utf8 deletedContent - #1601 = Utf8 beforeModification - #1602 = Utf8 onFormatFail - #1603 = Utf8 (Ljava/lang/Throwable;)V - #1604 = Utf8 throwable - #1605 = Utf8 Ljava/lang/Throwable; - #1606 = Utf8 onRemove - #1607 = Utf8 (Lio/github/rosemoe/sora/text/Content;Lio/github/rosemoe/sora/text/ContentLine;)V - #1608 = Utf8 onFormatSucceed - #1609 = Utf8 (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V - #1610 = Utf8 originalText - #1611 = Utf8 newText - #1612 = Utf8 (Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - #1613 = Utf8 replaceText - #1614 = Utf8 setStyles - #1615 = Utf8 (Lio/github/rosemoe/sora/lang/styling/Styles;)V - #1616 = Utf8 styles - #1617 = Utf8 Landroidx/annotation/UiThread; - #1618 = Utf8 setDiagnostics - #1619 = Utf8 (Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer;)V - #1620 = Utf8 diagnostics - #1621 = Utf8 lambda$onFormatSucceed$2 - #1622 = Utf8 (Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - #1623 = Utf8 lambda$onFormatSucceed$1 - #1624 = Utf8 lambda$onFormatFail$0 - #1625 = Utf8 - #1626 = Utf8 SourceFile - #1627 = Utf8 CodeEditor.java - #1628 = Utf8 NestMembers - #1629 = Class #2363 // io/github/rosemoe/sora/widget/CodeEditor$1SearchActionMode$1 - #1630 = NameAndType #932:#941 // "":(Landroid/content/Context;Landroid/util/AttributeSet;)V - #1631 = NameAndType #932:#944 // "":(Landroid/content/Context;Landroid/util/AttributeSet;I)V - #1632 = NameAndType #932:#946 // "":(Landroid/content/Context;Landroid/util/AttributeSet;II)V - #1633 = NameAndType #799:#766 // mDownX:I - #1634 = NameAndType #812:#789 // mLineSpacingMultiplier:F - #1635 = NameAndType #813:#789 // mLineSpacingAdd:F - #1636 = Class #2364 // io/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle - #1637 = NameAndType #2365:#858 // WAVY_LINE:Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle; - #1638 = NameAndType #857:#858 // mDiagnosticStyle:Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle; - #1639 = NameAndType #859:#804 // mLastMakeVisible:J - #1640 = Utf8 java/util/ArrayList - #1641 = NameAndType #932:#1000 // "":(I)V - #1642 = NameAndType #897:#898 // defSpans:Ljava/util/List; - #1643 = Utf8 io/github/rosemoe/sora/widget/EditorKeyEventHandler - #1644 = NameAndType #932:#2366 // "":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #1645 = NameAndType #913:#914 // mKeyEventHandler:Lio/github/rosemoe/sora/widget/EditorKeyEventHandler; - #1646 = NameAndType #989:#990 // initialize:(Landroid/util/AttributeSet;II)V - #1647 = Utf8 io/github/rosemoe/sora/widget/component/EditorAutoCompletion - #1648 = NameAndType #860:#861 // mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - #1649 = Utf8 io/github/rosemoe/sora/widget/component/Magnifier - #1650 = NameAndType #862:#863 // mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - #1651 = NameAndType #2367:#2368 // mMagnifier:Lio/github/rosemoe/sora/widget/component/Magnifier; - #1652 = Utf8 io/github/rosemoe/sora/widget/component/EditorTextActionWindow - #1653 = NameAndType #870:#871 // mTextActionWindow:Lio/github/rosemoe/sora/widget/component/EditorTextActionWindow; - #1654 = Utf8 java/lang/IllegalArgumentException - #1655 = Utf8 Unknown component type - #1656 = NameAndType #932:#1007 // "":(Ljava/lang/String;)V - #1657 = NameAndType #948:#949 // getComponent:(Ljava/lang/Class;)Lio/github/rosemoe/sora/widget/component/EditorBuiltinComponent; - #1658 = NameAndType #964:#1015 // isEnabled:()Z - #1659 = NameAndType #2369:#1012 // setEnabled:(Z)V - #1660 = NameAndType #968:#969 // getKeyMetaStates:()Lio/github/rosemoe/sora/widget/KeyMetaStates; - #1661 = Class #2370 // java/lang/System - #1662 = NameAndType #2371:#2372 // currentTimeMillis:()J - #1663 = NameAndType #1485:#1015 // isLineNumberEnabled:()Z - #1664 = NameAndType #1227:#979 // measureLineNumber:()F - #1665 = NameAndType #807:#789 // mDividerMargin:F - #1666 = NameAndType #806:#789 // mDividerWidth:F - #1667 = NameAndType #805:#789 // mDpUnit:F - #1668 = NameAndType #836:#838 // mLeftHandle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - #1669 = NameAndType #839:#838 // mRightHandle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - #1670 = NameAndType #922:#923 // mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - #1671 = Class #2373 // io/github/rosemoe/sora/widget/layout/Layout - #1672 = NameAndType #2374:#2375 // getCharLayoutOffset:(II)[F - #1673 = NameAndType #978:#979 // measureTextRegionOffset:()F - #1674 = NameAndType #1391:#1003 // getOffsetX:()I - #1675 = NameAndType #1392:#1003 // getOffsetY:()I - #1676 = Utf8 io/github/rosemoe/sora/widget/CodeEditor - #1677 = Utf8 CodeEditor - #1678 = Utf8 sora-editor\nCopyright (C) Rosemoe roses2020@qq.com\nThis project is distributed under the LGPL v2.1 license - #1679 = Class #2376 // android/util/Log - #1680 = NameAndType #2377:#2378 // v:(Ljava/lang/String;Ljava/lang/String;)I - #1681 = Utf8 io/github/rosemoe/sora/event/EventManager - #1682 = NameAndType #932:#977 // "":()V - #1683 = NameAndType #920:#921 // mEventManager:Lio/github/rosemoe/sora/event/EventManager; - #1684 = Utf8 io/github/rosemoe/sora/widget/EditorPainter - #1685 = NameAndType #924:#925 // mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - #1686 = Utf8 io/github/rosemoe/sora/widget/EditorStyleDelegate - #1687 = NameAndType #907:#908 // mStyleDelegate:Lio/github/rosemoe/sora/widget/EditorStyleDelegate; - #1688 = Class #2379 // android/os/Build$VERSION - #1689 = NameAndType #2381:#766 // SDK_INT:I - #1690 = Class #2382 // android/os/Build - #1691 = Utf8 android/os/Build$VERSION_CODES - #1692 = Utf8 VERSION_CODES - #1693 = NameAndType #2383:#2384 // getContext:()Landroid/content/Context; - #1694 = Class #2385 // android/view/ViewConfiguration - #1695 = NameAndType #2386:#2387 // get:(Landroid/content/Context;)Landroid/view/ViewConfiguration; - #1696 = NameAndType #2388:#979 // getScaledVerticalScrollFactor:()F - #1697 = NameAndType #810:#789 // mVerticalScrollFactor:F - #1698 = Class #2389 // android/R - #1699 = Utf8 android/R$attr - #1700 = Utf8 attr - #1701 = NameAndType #2390:#2391 // obtainStyledAttributes:([I)Landroid/content/res/TypedArray; - #1702 = NameAndType #2392:#2393 // getFloat:(IF)F - #1703 = NameAndType #2394:#977 // recycle:()V - #1704 = NameAndType #2395:#977 // close:()V - #1705 = Utf8 java/lang/Throwable - #1706 = NameAndType #2396:#1603 // addSuppressed:(Ljava/lang/Throwable;)V - #1707 = Utf8 java/lang/Exception - #1708 = Utf8 Failed to get scroll factor - #1709 = NameAndType #995:#2397 // e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I - #1710 = Utf8 io/github/rosemoe/sora/widget/HwAcceleratedRenderer - #1711 = NameAndType #901:#902 // mRenderer:Lio/github/rosemoe/sora/widget/HwAcceleratedRenderer; - #1712 = Class #2399 // io/github/rosemoe/sora/R$string - #1713 = NameAndType #2401:#766 // editor_line_number_tip_prefix:I - #1714 = NameAndType #2402:#2403 // getString:(I)Ljava/lang/String; - #1715 = NameAndType #853:#763 // mLnTip:Ljava/lang/String; - #1716 = NameAndType #2404:#766 // editor_formatting:I - #1717 = NameAndType #854:#763 // mFormatTip:Ljava/lang/String; - #1718 = Utf8 io/github/rosemoe/sora/widget/DirectAccessProps - #1719 = NameAndType #903:#904 // mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - #1720 = Utf8 android/util/TypedValue - #1721 = NameAndType #2405:#2406 // getSystem:()Landroid/content/res/Resources; - #1722 = NameAndType #2407:#2408 // getDisplayMetrics:()Landroid/util/DisplayMetrics; - #1723 = NameAndType #2409:#2410 // applyDimension:(IFLandroid/util/DisplayMetrics;)F - #1724 = NameAndType #808:#789 // mInsertSelWidth:F - #1725 = Utf8 android/graphics/Matrix - #1726 = NameAndType #849:#850 // mMatrix:Landroid/graphics/Matrix; - #1727 = Utf8 io/github/rosemoe/sora/widget/style/builtin/HandleStyleSideDrop - #1728 = NameAndType #932:#933 // "":(Landroid/content/Context;)V - #1729 = NameAndType #893:#894 // mHandleStyle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle; - #1730 = Utf8 io/github/rosemoe/sora/widget/EditorSearcher - #1731 = NameAndType #884:#885 // mSearcher:Lio/github/rosemoe/sora/widget/EditorSearcher; - #1732 = Utf8 io/github/rosemoe/sora/widget/style/builtin/MoveCursorAnimator - #1733 = NameAndType #886:#887 // mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - #1734 = NameAndType #1031:#1000 // setCursorBlinkPeriod:(I)V - #1735 = Utf8 android/view/inputmethod/CursorAnchorInfo$Builder - #1736 = NameAndType #874:#876 // mAnchorInfoBuilder:Landroid/view/inputmethod/CursorAnchorInfo$Builder; - #1737 = NameAndType #915:#766 // mStartedActionMode:I - #1738 = NameAndType #1468:#1071 // setTextSize:(F)V - #1739 = NameAndType #2411:#1489 // getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - #1740 = Class #2412 // io/github/rosemoe/sora/graphics/Paint - #1741 = NameAndType #2413:#979 // getTextSize:()F - #1742 = NameAndType #1267:#1071 // setLineInfoTextSize:(F)V - #1743 = Utf8 io/github/rosemoe/sora/widget/schemes/EditorColorScheme - #1744 = NameAndType #851:#852 // mColors:Lio/github/rosemoe/sora/widget/schemes/EditorColorScheme; - #1745 = Utf8 io/github/rosemoe/sora/widget/EditorTouchEventHandler - #1746 = Utf8 android/view/GestureDetector - #1747 = NameAndType #932:#2416 // "":(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V - #1748 = NameAndType #868:#869 // mBasicDetector:Landroid/view/GestureDetector; - #1749 = NameAndType #2417:#2420 // setOnDoubleTapListener:(Landroid/view/GestureDetector$OnDoubleTapListener;)V - #1750 = Utf8 android/view/ScaleGestureDetector - #1751 = NameAndType #932:#2423 // "":(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V - #1752 = NameAndType #872:#873 // mScaleDetector:Landroid/view/ScaleGestureDetector; - #1753 = Utf8 io/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor - #1754 = NameAndType #840:#838 // mInsertHandle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - #1755 = NameAndType #2424:#867 // RIGHT:Landroid/graphics/Paint$Align; - #1756 = NameAndType #864:#867 // mLineNumberAlign:Landroid/graphics/Paint$Align; - #1757 = NameAndType #814:#815 // mWait:Z - #1758 = NameAndType #823:#815 // mBlockLineEnabled:Z - #1759 = NameAndType #809:#789 // mBlockLineWidth:F - #1760 = Utf8 android/content/Context - #1761 = Utf8 input_method - #1762 = NameAndType #2425:#2426 // getSystemService:(Ljava/lang/String;)Ljava/lang/Object; - #1763 = Utf8 android/view/inputmethod/InputMethodManager - #1764 = NameAndType #843:#844 // mInputMethodManager:Landroid/view/inputmethod/InputMethodManager; - #1765 = Utf8 clipboard - #1766 = Utf8 android/content/ClipboardManager - #1767 = NameAndType #841:#842 // mClipboardManager:Landroid/content/ClipboardManager; - #1768 = NameAndType #1321:#1012 // setUndoEnabled:(Z)V - #1769 = NameAndType #798:#766 // mCursorPosition:I - #1770 = NameAndType #1398:#1012 // setScalable:(Z)V - #1771 = NameAndType #2427:#1012 // setFocusable:(Z)V - #1772 = NameAndType #2428:#1012 // setFocusableInTouchMode:(Z)V - #1773 = NameAndType #835:#815 // mHighlightBracketPair:Z - #1774 = Utf8 io/github/rosemoe/sora/widget/EditorInputConnection - #1775 = NameAndType #918:#919 // mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - #1776 = Utf8 android/widget/EdgeEffect - #1777 = NameAndType #877:#878 // mVerticalGlow:Landroid/widget/EdgeEffect; - #1778 = NameAndType #879:#878 // mHorizontalGlow:Landroid/widget/EdgeEffect; - #1779 = NameAndType #1056:#1057 // setEditorLanguage:(Lio/github/rosemoe/sora/lang/Language;)V - #1780 = NameAndType #1463:#1258 // setText:(Ljava/lang/CharSequence;)V - #1781 = NameAndType #1300:#1000 // setTabWidth:(I)V - #1782 = NameAndType #1051:#1012 // setHighlightCurrentLine:(Z)V - #1783 = NameAndType #1094:#1012 // setVerticalScrollBarEnabled:(Z)V - #1784 = NameAndType #1046:#1012 // setHighlightCurrentBlock:(Z)V - #1785 = NameAndType #1085:#1012 // setDisplayLnPanel:(Z)V - #1786 = NameAndType #1091:#1012 // setHorizontalScrollBarEnabled:(Z)V - #1787 = NameAndType #1016:#1012 // setFirstLineNumberAlwaysVisible:(Z)V - #1788 = NameAndType #1076:#1012 // setCursorAnimationEnabled:(Z)V - #1789 = NameAndType #1396:#1012 // setEditable:(Z)V - #1790 = NameAndType #1486:#1012 // setLineNumberEnabled:(Z)V - #1791 = NameAndType #1134:#1012 // setHardwareAcceleratedDrawAllowed:(Z)V - #1792 = NameAndType #1306:#1012 // setInterceptParentHorizontalScrollIfNeeded:(Z)V - #1793 = Class #2429 // android/graphics/Typeface - #1794 = NameAndType #2430:#1345 // DEFAULT:Landroid/graphics/Typeface; - #1795 = NameAndType #1347:#1343 // setTypefaceText:(Landroid/graphics/Typeface;)V - #1796 = NameAndType #999:#1000 // setCompletionWndPositionMode:(I)V - #1797 = NameAndType #2431:#1012 // setDefaultFocusHighlightEnabled:(Z)V - #1798 = Utf8 android/view/ContextThemeWrapper - #1799 = Class #2432 // io/github/rosemoe/sora/util/ThemeUtils - #1800 = NameAndType #2433:#2434 // getColorPrimary:(Landroid/view/ContextThemeWrapper;)I - #1801 = NameAndType #1162:#1000 // setEdgeEffectColor:(I)V - #1802 = NameAndType #2435:#1012 // setQuickScaleEnabled:(Z)V - #1803 = NameAndType #802:#766 // mCompletionPosMode:I - #1804 = NameAndType #1235:#977 // updateCompletionWindowPosition:()V - #1805 = Class #2436 // java/util/Objects - #1806 = NameAndType #2437:#2438 // requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; - #1807 = Utf8 java/lang/String - #1808 = NameAndType #830:#815 // mPinLineNumber:Z - #1809 = NameAndType #2439:#977 // invalidate:()V - #1810 = NameAndType #831:#815 // mFirstLineNumberAlwaysVisible:Z - #1811 = NameAndType #1073:#1015 // isWordwrap:()Z - #1812 = NameAndType #2440:#1003 // length:()I - #1813 = Utf8 selectionOffset is invalid - #1814 = NameAndType #1459:#1460 // getText:()Lio/github/rosemoe/sora/text/Content; - #1815 = NameAndType #1362:#1363 // getCursor:()Lio/github/rosemoe/sora/text/Cursor; - #1816 = NameAndType #2441:#1015 // isSelected:()Z - #1817 = NameAndType #1252:#977 // deleteText:()V - #1818 = NameAndType #1521:#977 // notifyIMEExternalCursorChange:()V - #1819 = NameAndType #847:#848 // mText:Lio/github/rosemoe/sora/text/Content; - #1820 = NameAndType #2442:#1003 // getRightLine:()I - #1821 = NameAndType #2443:#1003 // getRightColumn:()I - #1822 = NameAndType #2444:#2445 // insert:(IILjava/lang/CharSequence;)V - #1823 = NameAndType #2446:#2447 // getIndexer:()Lio/github/rosemoe/sora/text/Indexer; - #1824 = NameAndType #2448:#1003 // getRight:()I - #1825 = Class #2449 // io/github/rosemoe/sora/text/Indexer - #1826 = NameAndType #2450:#2451 // getCharPosition:(I)Lio/github/rosemoe/sora/text/CharPosition; - #1827 = NameAndType #985:#766 // line:I - #1828 = NameAndType #986:#766 // column:I - #1829 = NameAndType #1416:#1272 // setSelection:(II)V - #1830 = NameAndType #2452:#1027 // setAdapter:(Lio/github/rosemoe/sora/widget/component/EditorCompletionAdapter;)V - #1831 = NameAndType #895:#896 // mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - #1832 = Utf8 io/github/rosemoe/sora/widget/CursorBlink - #1833 = NameAndType #932:#2453 // "":(Lio/github/rosemoe/sora/widget/CodeEditor;I)V - #1834 = NameAndType #1033:#766 // period:I - #1835 = NameAndType #2454:#1000 // setPeriod:(I)V - #1836 = NameAndType #2455:#815 // valid:Z - #1837 = NameAndType #2456:#1015 // isAttachedToWindow:()Z - #1838 = NameAndType #2457:#2458 // post:(Ljava/lang/Runnable;)Z - #1839 = NameAndType #832:#815 // mLigatureEnabled:Z - #1840 = Utf8 \'liga\' 0,\'calt\' 0,\'hlig\' 0,\'dlig\' 0,\'clig\' 0 - #1841 = NameAndType #1038:#1007 // setFontFeatureSettings:(Ljava/lang/String;)V - #1842 = NameAndType #2459:#1007 // setFontFeatureSettingsWrapped:(Ljava/lang/String;)V - #1843 = NameAndType #2460:#1489 // getPaintOther:()Lio/github/rosemoe/sora/graphics/Paint; - #1844 = NameAndType #2461:#1489 // getPaintGraph:()Lio/github/rosemoe/sora/graphics/Paint; - #1845 = NameAndType #2462:#977 // updateTimestamp:()V - #1846 = Utf8 io/github/rosemoe/sora/widget/style/SelectionHandleStyle - #1847 = NameAndType #825:#815 // mHighlightCurrentBlock:Z - #1848 = NameAndType #1170:#1003 // findCursorBlock:()I - #1849 = NameAndType #834:#815 // mStickyTextSelection:Z - #1850 = NameAndType #826:#815 // mHighlightCurrentLine:Z - #1851 = NameAndType #855:#856 // mLanguage:Lio/github/rosemoe/sora/lang/Language; - #1852 = Utf8 io/github/rosemoe/sora/lang/EmptyLanguage - #1853 = NameAndType #2463:#2464 // getAnalyzeManager:()Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - #1854 = NameAndType #2465:#2466 // setReceiver:(Lio/github/rosemoe/sora/lang/analysis/StyleReceiver;)V - #1855 = NameAndType #2467:#977 // destroy:()V - #1856 = NameAndType #2468:#977 // reset:()V - #1857 = NameAndType #909:#910 // mStyles:Lio/github/rosemoe/sora/lang/styling/Styles; - #1858 = NameAndType #911:#912 // mDiagnostics:Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - #1859 = NameAndType #2469:#977 // hide:()V - #1860 = Utf8 io/github/rosemoe/sora/text/ContentReference - #1861 = NameAndType #932:#1594 // "":(Lio/github/rosemoe/sora/text/Content;)V - #1862 = NameAndType #905:#906 // mExtraArguments:Landroid/os/Bundle; - #1863 = NameAndType #2468:#2470 // reset:(Lio/github/rosemoe/sora/text/ContentReference;Landroid/os/Bundle;)V - #1864 = NameAndType #795:#796 // mLanguageSymbolPairs:Lio/github/rosemoe/sora/widget/SymbolPairMatch; - #1865 = NameAndType #2471:#2472 // setParent:(Lio/github/rosemoe/sora/widget/SymbolPairMatch;)V - #1866 = NameAndType #2473:#2474 // getSymbolPairs:()Lio/github/rosemoe/sora/widget/SymbolPairMatch; - #1867 = Utf8 java/lang/StringBuilder - #1868 = Utf8 Language( - #1869 = NameAndType #2475:#2476 // append:(Ljava/lang/String;)Ljava/lang/StringBuilder; - #1870 = Class #2477 // java/lang/Object - #1871 = NameAndType #2478:#1010 // toString:()Ljava/lang/String; - #1872 = Utf8 ) returned null for symbol pairs. It is a mistake. - #1873 = NameAndType #1577:#2378 // w:(Ljava/lang/String;Ljava/lang/String;)I - #1874 = Utf8 io/github/rosemoe/sora/widget/SymbolPairMatch - #1875 = NameAndType #2479:#796 // overrideSymbolPairs:Lio/github/rosemoe/sora/widget/SymbolPairMatch; - #1876 = NameAndType #2480:#977 // invalidateHwRenderer:()V - #1877 = Utf8 android/view/KeyEvent - #1878 = NameAndType #818:#815 // mWordwrap:Z - #1879 = NameAndType #1231:#977 // createLayout:()V - #1880 = Class #2481 // io/github/rosemoe/sora/widget/style/CursorAnimator - #1881 = NameAndType #2482:#977 // cancel:()V - #1882 = NameAndType #829:#815 // mCursorAnimation:Z - #1883 = NameAndType #828:#815 // mHorizontalScrollBarEnabled:Z - #1884 = NameAndType #827:#815 // mVerticalScrollBarEnabled:Z - #1885 = NameAndType #821:#815 // mDisplayLnPanel:Z - #1886 = Utf8 - #1887 = NameAndType #1101:#1071 // setTextSizePxDirect:(F)V - #1888 = NameAndType #1106:#1107 // getLineNumberMetrics:()Landroid/graphics/Paint$FontMetricsInt; - #1889 = NameAndType #1365:#1003 // getFirstVisibleLine:()I - #1890 = NameAndType #1369:#1003 // getLastVisibleLine:()I - #1891 = Class #2483 // io/github/rosemoe/sora/util/IntPair - #1892 = NameAndType #2484:#2485 // pack:(II)J - #1893 = NameAndType #803:#804 // mAvailableFloatArrayRegion:J - #1894 = NameAndType #2486:#2487 // getFirst:(J)I - #1895 = NameAndType #2488:#2487 // getSecond:(J)I - #1896 = Class #2489 // java/lang/Math - #1897 = NameAndType #1179:#1130 // max:(II)I - #1898 = NameAndType #1364:#1003 // getLineCount:()I - #1899 = NameAndType #1178:#1130 // min:(II)I - #1900 = NameAndType #2490:#2491 // getLine:(I)Lio/github/rosemoe/sora/text/ContentLine; - #1901 = NameAndType #2492:#1112 // widthCache:[F - #1902 = NameAndType #1127:#804 // timestamp:J - #1903 = NameAndType #2493:#2494 // obtain:()Lio/github/rosemoe/sora/graphics/GraphicTextRow; - #1904 = NameAndType #1109:#1110 // obtainFloatArray:(IZ)[F - #1905 = NameAndType #1299:#1003 // getTabWidth:()I - #1906 = NameAndType #1197:#1198 // getSpansForLine:(I)Ljava/util/List; - #1907 = NameAndType #2495:#2496 // set:(Lio/github/rosemoe/sora/text/ContentLine;IIILjava/util/List;Lio/github/rosemoe/sora/graphics/Paint;)V - #1908 = NameAndType #2497:#977 // buildMeasureCache:()V - #1909 = NameAndType #2394:#2498 // recycle:(Lio/github/rosemoe/sora/graphics/GraphicTextRow;)V - #1910 = NameAndType #801:#766 // mNonPrintableOptions:I - #1911 = NameAndType #1129:#1130 // clearFlag:(II)I - #1912 = NameAndType #926:#815 // mHardwareAccAllowed:Z - #1913 = NameAndType #1217:#1140 // value:[C - #1914 = NameAndType #1144:#1145 // isWhitespace:(C)Z - #1915 = NameAndType #2499:#977 // clear:()V - #1916 = NameAndType #2500:#763 // mPattern:Ljava/lang/String; - #1917 = NameAndType #2501:#2503 // mOptions:Lio/github/rosemoe/sora/widget/EditorSearcher$SearchOptions; - #1918 = Class #2504 // io/github/rosemoe/sora/widget/EditorSearcher$SearchOptions - #1919 = NameAndType #2505:#815 // useRegex:Z - #1920 = NameAndType #2506:#1015 // isResultValid:()Z - #1921 = NameAndType #2507:#1153 // mLastResults:Lio/github/rosemoe/sora/util/LongArrayList; - #1922 = NameAndType #2508:#1130 // getCharIndex:(II)I - #1923 = NameAndType #2509:#1384 // getColumnCount:(I)I - #1924 = NameAndType #1100:#1003 // size:()I - #1925 = NameAndType #2386:#2510 // get:(I)J - #1926 = NameAndType #1373:#2511 // add:(J)V - #1927 = NameAndType #2512:#815 // ignoreCase:Z - #1928 = Class #2513 // io/github/rosemoe/sora/text/TextUtils - #1929 = NameAndType #2514:#2515 // indexOf:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZI)I - #1930 = NameAndType #2516:#1003 // getColor:()I - #1931 = NameAndType #2517:#1000 // setColor:(I)V - #1932 = Class #2518 // io/github/rosemoe/sora/lang/styling/Styles - #1933 = NameAndType #1171:#898 // blocks:Ljava/util/List; - #1934 = NameAndType #2519:#1015 // isEmpty:()Z - #1935 = NameAndType #1170:#1174 // findCursorBlock:(Ljava/util/List;)I - #1936 = NameAndType #845:#846 // mCursor:Lio/github/rosemoe/sora/text/Cursor; - #1937 = NameAndType #2520:#1003 // getLeftLine:()I - #1938 = NameAndType #1186:#1187 // binarySearchEndBlock:(ILjava/util/List;)I - #1939 = Utf8 java/lang/Integer - #1940 = NameAndType #2521:#1003 // getSuppressSwitch:()I - #1941 = NameAndType #2386:#2522 // get:(I)Ljava/lang/Object; - #1942 = Utf8 io/github/rosemoe/sora/lang/styling/CodeBlock - #1943 = NameAndType #1126:#766 // endLine:I - #1944 = NameAndType #1125:#766 // startLine:I - #1945 = NameAndType #797:#766 // mTabWidth:I - #1946 = NameAndType #1193:#984 // measureText:(II)F - #1947 = NameAndType #1196:#1200 // spans:Lio/github/rosemoe/sora/lang/styling/Spans; - #1948 = Class #2523 // io/github/rosemoe/sora/lang/styling/Span - #1949 = NameAndType #2493:#2524 // obtain:(IJ)Lio/github/rosemoe/sora/lang/styling/Span; - #1950 = NameAndType #1373:#2525 // add:(Ljava/lang/Object;)Z - #1951 = NameAndType #2526:#2528 // read:()Lio/github/rosemoe/sora/lang/styling/Spans$Reader; - #1952 = Class #2529 // io/github/rosemoe/sora/lang/styling/Spans$Reader - #1953 = NameAndType #2530:#1198 // getSpansOnLine:(I)Ljava/util/List; - #1954 = NameAndType #2531:#2532 // drawTextRun:([CIIIIFFZLandroid/graphics/Paint;)V - #1955 = NameAndType #1193:#1194 // measureText:(Lio/github/rosemoe/sora/text/ContentLine;III)F - #1956 = NameAndType #1219:#1222 // findFirstVisibleChar:(FIIILio/github/rosemoe/sora/text/ContentLine;I)[F - #1957 = NameAndType #2533:#2372 // getTimestamp:()J - #1958 = NameAndType #1121:#1122 // buildMeasureCacheForLines:(IIJZ)V - #1959 = NameAndType #2534:#2535 // findOffsetByAdvance:(IF)[F - #1960 = NameAndType #2536:#977 // disableCache:()V - #1961 = Utf8 0 1 2 3 4 5 6 7 8 9 - #1962 = Class #2537 // io/github/rosemoe/sora/util/TemporaryFloatBuffer - #1963 = NameAndType #2493:#2538 // obtain:(I)[F - #1964 = NameAndType #2539:#2540 // getTextWidths:(Ljava/lang/String;[F)I - #1965 = NameAndType #2394:#2541 // recycle:([F)V - #1966 = NameAndType #1179:#2542 // max:(FF)F - #1967 = Utf8 io/github/rosemoe/sora/widget/layout/LineBreakLayout - #1968 = NameAndType #2543:#1594 // reuse:(Lio/github/rosemoe/sora/text/Content;)V - #1969 = Utf8 io/github/rosemoe/sora/widget/layout/WordwrapLayout - #1970 = NameAndType #2544:#2545 // getRowTable:()Ljava/util/List; - #1971 = NameAndType #932:#2546 // "":(Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/Content;Ljava/util/List;)V - #1972 = NameAndType #2547:#977 // destroyLayout:()V - #1973 = NameAndType #2548:#1000 // setCachedLineNumberWidth:(I)V - #1974 = NameAndType #932:#2549 // "":(Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/Content;)V - #1975 = NameAndType #2550:#1302 // scrollBy:(FF)V - #1976 = NameAndType #1395:#1015 // isEditable:()Z - #1977 = Utf8 \t - #1978 = NameAndType #2551:#1260 // commitTextInternal:(Ljava/lang/CharSequence;Z)V - #1979 = NameAndType #1235:#1012 // updateCompletionWindowPosition:(Z)V - #1980 = NameAndType #1244:#979 // updateCursorAnchor:()F - #1981 = NameAndType #1385:#1003 // getRowHeight:()I - #1982 = NameAndType #2552:#1003 // getHeight:()I - #1983 = NameAndType #1282:#1283 // getScroller:()Landroid/widget/OverScroller; - #1984 = NameAndType #2553:#1424 // startScroll:(IIIII)V - #1985 = NameAndType #2554:#1003 // getWidth:()I - #1986 = NameAndType #1178:#2542 // min:(FF)F - #1987 = NameAndType #2555:#1015 // isShowing:()Z - #1988 = NameAndType #2556:#1000 // setMaxHeight:(I)V - #1989 = NameAndType #2557:#1272 // setSize:(II)V - #1990 = NameAndType #2558:#1272 // setLocation:(II)V - #1991 = NameAndType #2559:#2560 // getMatrix:()Landroid/graphics/Matrix; - #1992 = NameAndType #2495:#2561 // set:(Landroid/graphics/Matrix;)V - #1993 = NameAndType #2562:#2563 // getLocationOnScreen:([I)V - #1994 = NameAndType #2564:#2565 // postTranslate:(FF)Z - #1995 = NameAndType #2566:#2567 // setMatrix:(Landroid/graphics/Matrix;)Landroid/view/inputmethod/CursorAnchorInfo$Builder; - #1996 = NameAndType #2568:#1003 // getLeft:()I - #1997 = NameAndType #2569:#2570 // setSelectionRange:(II)Landroid/view/inputmethod/CursorAnchorInfo$Builder; - #1998 = NameAndType #1386:#1384 // getRowTop:(I)I - #1999 = NameAndType #1383:#1384 // getRowBaseline:(I)I - #2000 = NameAndType #1387:#1384 // getRowBottom:(I)I - #2001 = Utf8 android/view/inputmethod/CursorAnchorInfo - #2002 = NameAndType #2571:#2572 // setInsertionMarkerLocation:(FFFFI)Landroid/view/inputmethod/CursorAnchorInfo$Builder; - #2003 = NameAndType #2573:#2574 // build:()Landroid/view/inputmethod/CursorAnchorInfo; - #2004 = NameAndType #2575:#2576 // updateCursorAnchorInfo:(Landroid/view/View;Landroid/view/inputmethod/CursorAnchorInfo;)V - #2005 = NameAndType #2577:#1003 // getLeftColumn:()I - #2006 = NameAndType #2578:#1427 // delete:(IIII)V - #2007 = NameAndType #2579:#815 // deleteEmptyLineFast:Z - #2008 = NameAndType #2580:#766 // deleteMultiSpaces:I - #2009 = NameAndType #2581:#2582 // charAt:(II)C - #2010 = Class #2583 // io/github/rosemoe/sora/text/TextLayoutHelper - #2011 = NameAndType #2386:#2584 // get:()Lio/github/rosemoe/sora/text/TextLayoutHelper; - #2012 = NameAndType #2585:#2586 // getCurPosLeft:(ILjava/lang/CharSequence;)I - #2013 = NameAndType #1257:#1260 // commitText:(Ljava/lang/CharSequence;Z)V - #2014 = NameAndType #2587:#2588 // replace:(IIIILjava/lang/CharSequence;)V - #2015 = NameAndType #2589:#815 // autoIndent:Z - #2016 = NameAndType #2581:#2590 // charAt:(I)C - #2017 = NameAndType #2591:#2403 // getLineString:(I)Ljava/lang/String; - #2018 = NameAndType #2592:#2593 // getIndentAdvance:(Lio/github/rosemoe/sora/text/ContentReference;II)I - #2019 = Utf8 Language object error - #2020 = NameAndType #1577:#2397 // w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I - #2021 = NameAndType #932:#1258 // "":(Ljava/lang/CharSequence;)V - #2022 = NameAndType #2594:#1015 // useTab:()Z - #2023 = NameAndType #2595:#2596 // createIndent:(IIZ)Ljava/lang/String; - #2024 = NameAndType #2444:#2597 // insert:(ILjava/lang/String;)Ljava/lang/StringBuilder; - #2025 = NameAndType #811:#789 // mLineInfoTextSize:F - #2026 = NameAndType #1271:#1272 // ensurePositionVisible:(II)V - #2027 = NameAndType #1292:#1003 // getScrollMaxX:()I - #2028 = NameAndType #1291:#1003 // getScrollMaxY:()I - #2029 = Class #2598 // io/github/rosemoe/sora/util/Floats - #2030 = NameAndType #2599:#2600 // withinDelta:(FFF)Z - #2031 = NameAndType #2601:#1012 // forceFinished:(Z)V - #2032 = NameAndType #2553:#1427 // startScroll:(IIII)V - #2033 = NameAndType #2602:#815 // awareScrollbarWhenAdjust:Z - #2034 = NameAndType #2603:#2604 // abs:(F)F - #2035 = NameAndType #2605:#977 // notifyScrolled:()V - #2036 = Utf8 io/github/rosemoe/sora/event/ScrollEvent - #2037 = NameAndType #932:#2606 // "":(Lio/github/rosemoe/sora/widget/CodeEditor;IIIII)V - #2038 = NameAndType #1479:#1480 // dispatchEvent:(Lio/github/rosemoe/sora/event/Event;)I - #2039 = NameAndType #2607:#1015 // hasPrimaryClip:()Z - #2040 = NameAndType #2608:#1003 // getLayoutHeight:()I - #2041 = NameAndType #2609:#1288 // getCharPositionForLayoutOffset:(FF)J - #2042 = NameAndType #1287:#1288 // getPointPosition:(FF)J - #2043 = NameAndType #2610:#1003 // getLayoutWidth:()I - #2044 = NameAndType #882:#883 // mFormatThread:Lio/github/rosemoe/sora/text/FormatThread; - #2045 = Utf8 io/github/rosemoe/sora/text/FormatThread - #2046 = NameAndType #932:#2611 // "":(Ljava/lang/CharSequence;Lio/github/rosemoe/sora/lang/Language;Lio/github/rosemoe/sora/text/FormatThread$FormatResultReceiver;)V - #2047 = NameAndType #1117:#977 // start:()V - #2048 = NameAndType #1158:#766 // index:I - #2049 = Utf8 start > end - #2050 = NameAndType #932:#2612 // "":(Ljava/lang/CharSequence;Lio/github/rosemoe/sora/lang/Language;Lio/github/rosemoe/sora/text/FormatThread$FormatResultReceiver;Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - #2051 = Utf8 width can not be under 1 - #2052 = Utf8 min size can not be bigger than max size - #2053 = Utf8 min size must be at least 2px - #2054 = NameAndType #2613:#789 // scaleMinSize:F - #2055 = NameAndType #2614:#789 // scaleMaxSize:F - #2056 = NameAndType #824:#815 // mForceHorizontalScrollable:Z - #2057 = NameAndType #2615:#2616 // getParent:()Landroid/view/ViewParent; - #2058 = Class #2617 // android/view/ViewParent - #2059 = NameAndType #2618:#1012 // requestDisallowInterceptTouchEvent:(Z)V - #2060 = NameAndType #2619:#977 // clearFoundBracketPair:()V - #2061 = NameAndType #2620:#977 // postUpdateBracketPair:()V - #2062 = NameAndType #800:#766 // mInputType:I - #2063 = NameAndType #1522:#977 // restartInput:()V - #2064 = NameAndType #1316:#977 // undo:()V - #2065 = NameAndType #1317:#977 // redo:()V - #2066 = NameAndType #1318:#1015 // canUndo:()Z - #2067 = NameAndType #1319:#1015 // canRedo:()Z - #2068 = NameAndType #819:#815 // mUndoEnabled:Z - #2069 = Utf8 io/github/rosemoe/sora/widget/CodeEditor$1SearchActionMode - #2070 = NameAndType #2621:#2622 // startActionMode:(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode; - #2071 = Utf8 margin can not be under zero - #2072 = Utf8 width can not be under zero - #2073 = NameAndType #2623:#1341 // getTypeface:()Landroid/graphics/Typeface; - #2074 = NameAndType #1342:#1343 // setTypefaceLineNumber:(Landroid/graphics/Typeface;)V - #2075 = NameAndType #1349:#1071 // setTextScaleX:(F)V - #2076 = NameAndType #1351:#979 // getTextScaleX:()F - #2077 = NameAndType #2624:#1071 // setLetterSpacing:(F)V - #2078 = NameAndType #2625:#979 // getLetterSpacing:()F - #2079 = NameAndType #2626:#867 // LEFT:Landroid/graphics/Paint$Align; - #2080 = NameAndType #1367:#1003 // getFirstVisibleRow:()I - #2081 = NameAndType #2627:#1384 // getLineNumberForRow:(I)I - #2082 = Utf8 java/lang/IndexOutOfBoundsException - #2083 = NameAndType #1368:#1003 // getLastVisibleRow:()I - #2084 = NameAndType #2628:#891 // mTextMetrics:Landroid/graphics/Paint$FontMetricsInt; - #2085 = NameAndType #2629:#766 // descent:I - #2086 = NameAndType #2630:#766 // ascent:I - #2087 = NameAndType #1381:#1003 // getLineSpacingPixels:()I - #2088 = NameAndType #2631:#1003 // getCurrX:()I - #2089 = NameAndType #2632:#1003 // getCurrY:()I - #2090 = NameAndType #820:#815 // mLayoutBusy:Z - #2091 = NameAndType #817:#815 // mEditable:Z - #2092 = NameAndType #1506:#977 // hideSoftInput:()V - #2093 = NameAndType #816:#815 // mScalable:Z - #2094 = NameAndType #1190:#1404 // left:()Lio/github/rosemoe/sora/text/CharPosition; - #2095 = NameAndType #916:#917 // mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - #2096 = NameAndType #2633:#2525 // equals:(Ljava/lang/Object;)Z - #2097 = NameAndType #1191:#1404 // right:()Lio/github/rosemoe/sora/text/CharPosition; - #2098 = NameAndType #1270:#977 // ensureSelectionVisible:()V - #2099 = NameAndType #2634:#977 // moveDown:()V - #2100 = NameAndType #2635:#2485 // getDownPosition:(II)J - #2101 = NameAndType #1403:#1404 // getSelectingTarget:()Lio/github/rosemoe/sora/text/CharPosition; - #2102 = NameAndType #2490:#1003 // getLine:()I - #2103 = NameAndType #2636:#1003 // getColumn:()I - #2104 = NameAndType #1423:#1428 // setSelectionRegion:(IIIIZ)V - #2105 = NameAndType #1405:#977 // ensureSelectingTargetVisible:()V - #2106 = NameAndType #2637:#977 // moveUp:()V - #2107 = NameAndType #2638:#2485 // getUpPosition:(II)J - #2108 = NameAndType #2639:#2640 // getLeftOf:(J)J - #2109 = NameAndType #2641:#977 // requireCompletion:()V - #2110 = NameAndType #2642:#2372 // toIntPair:()J - #2111 = NameAndType #2643:#2640 // getRightOf:(J)J - #2112 = Utf8 io/github/rosemoe/sora/event/SelectionChangeEvent - #2113 = NameAndType #1416:#1417 // setSelection:(III)V - #2114 = NameAndType #1416:#1421 // setSelection:(IIZI)V - #2115 = NameAndType #2644:#977 // invalidateInCursor:()V - #2116 = NameAndType #2645:#977 // markStartPos:()V - #2117 = Class #2646 // java/lang/Character - #2118 = NameAndType #2647:#1145 // isHighSurrogate:(C)Z - #2119 = NameAndType #2495:#1272 // set:(II)V - #2120 = NameAndType #1523:#977 // updateCursor:()V - #2121 = NameAndType #1507:#977 // updateSelection:()V - #2122 = NameAndType #2648:#1015 // hasAnyHeldHandle:()Z - #2123 = NameAndType #2649:#2650 // mComposingText:Lio/github/rosemoe/sora/widget/ComposingText; - #2124 = Class #2651 // io/github/rosemoe/sora/widget/ComposingText - #2125 = NameAndType #2652:#1015 // isComposing:()Z - #2126 = NameAndType #2653:#1015 // shouldRejectComposing:()Z - #2127 = NameAndType #2654:#977 // markEndPos:()V - #2128 = NameAndType #1532:#1000 // onSelectionChanged:(I)V - #2129 = NameAndType #1423:#1427 // setSelectionRegion:(IIII)V - #2130 = NameAndType #1423:#1430 // setSelectionRegion:(IIIIZI)V - #2131 = Utf8 setSelectionRegion() error: start > end:start = - #2132 = NameAndType #2475:#2655 // append:(I)Ljava/lang/StringBuilder; - #2133 = Utf8 end = - #2134 = Utf8 lineLeft = - #2135 = Utf8 columnLeft = - #2136 = Utf8 lineRight = - #2137 = Utf8 columnRight = - #2138 = NameAndType #2656:#1272 // setLeft:(II)V - #2139 = NameAndType #2657:#1272 // setRight:(II)V - #2140 = NameAndType #2550:#2658 // scrollBy:(FFZ)V - #2141 = NameAndType #2659:#2660 // getPrimaryClip:()Landroid/content/ClipData; - #2142 = Class #2661 // android/content/ClipData - #2143 = NameAndType #2662:#2663 // getItemAt:(I)Landroid/content/ClipData$Item; - #2144 = NameAndType #1459:#2664 // getText:()Ljava/lang/CharSequence; - #2145 = NameAndType #1257:#2665 // commitText:(Ljava/lang/CharSequence;I)Z - #2146 = NameAndType #2666:#977 // printStackTrace:()V - #2147 = Utf8 android/widget/Toast - #2148 = NameAndType #2667:#2668 // makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; - #2149 = NameAndType #2669:#977 // show:()V - #2150 = NameAndType #1439:#1012 // copyText:(Z)V - #2151 = NameAndType #2670:#2671 // subContent:(IIII)Lio/github/rosemoe/sora/text/Content; - #2152 = NameAndType #2672:#2673 // newPlainText:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/content/ClipData; - #2153 = NameAndType #2674:#2675 // setPrimaryClip:(Landroid/content/ClipData;)V - #2154 = NameAndType #1442:#977 // copyLine:()V - #2155 = NameAndType #1439:#977 // copyText:()V - #2156 = NameAndType #1445:#977 // cutLine:()V - #2157 = NameAndType #1444:#977 // cutText:()V - #2158 = NameAndType #1447:#977 // duplicateSelection:()V - #2159 = Utf8 \n - #2160 = NameAndType #1447:#1449 // duplicateSelection:(Ljava/lang/String;Z)V - #2161 = NameAndType #1447:#1012 // duplicateSelection:(Z)V - #2162 = NameAndType #2676:#1404 // fromThis:()Lio/github/rosemoe/sora/text/CharPosition; - #2163 = NameAndType #2475:#2677 // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; - #2164 = NameAndType #1257:#1258 // commitText:(Ljava/lang/CharSequence;)V - #2165 = NameAndType #1453:#1272 // selectWord:(II)V - #2166 = NameAndType #2678:#815 // useICULibToSelectWords:Z - #2167 = Class #2679 // io/github/rosemoe/sora/text/ICUUtils - #2168 = NameAndType #2680:#2681 // getWordEdges:(Ljava/lang/CharSequence;IZ)J - #2169 = NameAndType #1423:#1424 // setSelectionRegion:(IIIII)V - #2170 = NameAndType #1463:#1466 // setText:(Ljava/lang/CharSequence;ZLandroid/os/Bundle;)V - #2171 = NameAndType #2682:#2683 // removeContentListener:(Lio/github/rosemoe/sora/text/ContentListener;)V - #2172 = NameAndType #2684:#2685 // setLineListener:(Lio/github/rosemoe/sora/text/LineRemoveListener;)V - #2173 = NameAndType #2686:#977 // resetBatchEdit:()V - #2174 = Utf8 android/os/Bundle - #2175 = Utf8 io/github/rosemoe/sora/text/Content - #2176 = NameAndType #2687:#2683 // addContentListener:(Lio/github/rosemoe/sora/text/ContentListener;)V - #2177 = NameAndType #2688:#977 // notifyFullTextUpdate:()V - #2178 = Utf8 io/github/rosemoe/sora/event/ContentChangeEvent - #2179 = Utf8 io/github/rosemoe/sora/text/CharPosition - #2180 = NameAndType #2450:#2689 // getCharPosition:(II)Lio/github/rosemoe/sora/text/CharPosition; - #2181 = NameAndType #932:#2690 // "":(Lio/github/rosemoe/sora/widget/CodeEditor;ILio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - #2182 = NameAndType #1522:#2691 // restartInput:(Landroid/view/View;)V - #2183 = NameAndType #2692:#977 // requestLayout:()V - #2184 = NameAndType #2693:#2406 // getResources:()Landroid/content/res/Resources; - #2185 = NameAndType #1099:#1071 // setTextSizePx:(F)V - #2186 = NameAndType #1472:#1473 // subscribeEvent:(Ljava/lang/Class;Lio/github/rosemoe/sora/event/EventReceiver;)Lio/github/rosemoe/sora/event/SubscriptionReceipt; - #2187 = NameAndType #822:#815 // mLineNumberEnabled:Z - #2188 = NameAndType #2694:#2366 // attachEditor:(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #2189 = NameAndType #2695:#2366 // detachEditor:(Lio/github/rosemoe/sora/widget/CodeEditor;)V - #2190 = NameAndType #2696:#977 // applyColorScheme:()V - #2191 = NameAndType #2697:#977 // rerun:()V - #2192 = NameAndType #2698:#1015 // isInTouchMode:()Z - #2193 = NameAndType #2699:#1015 // requestFocusFromTouch:()Z - #2194 = NameAndType #2700:#1015 // hasFocus:()Z - #2195 = NameAndType #2701:#1015 // requestFocus:()Z - #2196 = NameAndType #1505:#2702 // showSoftInput:(Landroid/view/View;I)Z - #2197 = NameAndType #2703:#2704 // getWindowToken:()Landroid/os/IBinder; - #2198 = NameAndType #2705:#2706 // hideSoftInputFromWindow:(Landroid/os/IBinder;I)Z - #2199 = NameAndType #2707:#766 // startIndex:I - #2200 = NameAndType #2708:#766 // endIndex:I - #2201 = NameAndType #1507:#2709 // updateSelection:(Landroid/view/View;IIII)V - #2202 = NameAndType #880:#881 // mExtracting:Landroid/view/inputmethod/ExtractedTextRequest; - #2203 = NameAndType #1515:#1516 // extractText:(Landroid/view/inputmethod/ExtractedTextRequest;)Landroid/view/inputmethod/ExtractedText; - #2204 = NameAndType #2710:#766 // token:I - #2205 = NameAndType #1510:#2711 // updateExtractedText:(Landroid/view/View;ILandroid/view/inputmethod/ExtractedText;)V - #2206 = Utf8 android/view/inputmethod/ExtractedText - #2207 = NameAndType #2712:#766 // hintMaxChars:I - #2208 = NameAndType #2713:#766 // maxIPCTextLength:I - #2209 = NameAndType #1131:#766 // flags:I - #2210 = NameAndType #2714:#2715 // getTextRegion:(III)Ljava/lang/CharSequence; - #2211 = NameAndType #1022:#1259 // text:Ljava/lang/CharSequence; - #2212 = NameAndType #1519:#766 // startOffset:I - #2213 = NameAndType #2716:#766 // selectionStart:I - #2214 = NameAndType #2717:#766 // selectionEnd:I - #2215 = NameAndType #1510:#977 // updateExtractedText:()V - #2216 = NameAndType #2718:#977 // invalid:()V - #2217 = NameAndType #2719:#1015 // isInBatchEdit:()Z - #2218 = NameAndType #1525:#977 // hideEditorWindows:()V - #2219 = NameAndType #2720:#977 // cancelCompletion:()V - #2220 = NameAndType #2721:#977 // dismiss:()V - #2221 = NameAndType #1512:#1513 // setExtracting:(Landroid/view/inputmethod/ExtractedTextRequest;)V - #2222 = NameAndType #2722:#977 // onRelease:()V - #2223 = NameAndType #1534:#1535 // onDraw:(Landroid/graphics/Canvas;)V - #2224 = NameAndType #2723:#1535 // draw:(Landroid/graphics/Canvas;)V - #2225 = NameAndType #833:#815 // mLastCursorState:Z - #2226 = NameAndType #2724:#815 // visibility:Z - #2227 = NameAndType #2725:#1015 // isFinished:()Z - #2228 = Utf8 BootstrapMethods - #2229 = MethodHandle 6:#2726 // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; - #2230 = MethodType #977 // ()V - #2231 = MethodHandle 5:#2727 // REF_invokeVirtual io/github/rosemoe/sora/widget/component/Magnifier.updateDisplay:()V - #2232 = NameAndType #2728:#2729 // run:(Lio/github/rosemoe/sora/widget/component/Magnifier;)Ljava/lang/Runnable; - #2233 = NameAndType #1536:#1537 // createAccessibilityNodeInfo:()Landroid/view/accessibility/AccessibilityNodeInfo; - #2234 = NameAndType #2730:#1272 // setTextSelection:(II)V - #2235 = NameAndType #2731:#1012 // setScrollable:(Z)V - #2236 = Utf8 android/text/InputType - #2237 = NameAndType #1314:#1000 // setInputType:(I)V - #2238 = NameAndType #2732:#1012 // setMultiLine:(Z)V - #2239 = NameAndType #2733:#2734 // toStringBuilder:()Ljava/lang/StringBuilder; - #2240 = NameAndType #2735:#1012 // setLongClickable:(Z)V - #2241 = Class #2736 // android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction - #2242 = NameAndType #2738:#2739 // ACTION_COPY:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #2243 = NameAndType #2740:#2741 // addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V - #2244 = NameAndType #2742:#2739 // ACTION_CUT:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #2245 = NameAndType #2743:#2739 // ACTION_PASTE:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #2246 = NameAndType #2744:#2739 // ACTION_SET_TEXT:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #2247 = NameAndType #2745:#2739 // ACTION_SCROLL_FORWARD:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #2248 = NameAndType #2746:#2739 // ACTION_SCROLL_BACKWARD:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #2249 = NameAndType #1434:#977 // pasteText:()V - #2250 = Utf8 android/view/accessibility/AccessibilityNodeInfo - #2251 = Utf8 ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE - #2252 = NameAndType #2747:#2748 // getCharSequence:(Ljava/lang/String;)Ljava/lang/CharSequence; - #2253 = NameAndType #1432:#977 // movePageDown:()V - #2254 = NameAndType #1433:#977 // movePageUp:()V - #2255 = NameAndType #1540:#1541 // performAccessibilityAction:(ILandroid/os/Bundle;)Z - #2256 = NameAndType #2749:#979 // getX:()F - #2257 = NameAndType #2750:#1003 // getAction:()I - #2258 = NameAndType #1544:#1545 // dispatchTouchEvent:(Landroid/view/MotionEvent;)Z - #2259 = Utf8 android/view/inputmethod/EditorInfo - #2260 = NameAndType #1315:#766 // inputType:I - #2261 = NameAndType #2751:#766 // initialSelStart:I - #2262 = NameAndType #2752:#766 // initialSelEnd:I - #2263 = NameAndType #2753:#1384 // getCursorCapsMode:(I)I - #2264 = NameAndType #2754:#766 // initialCapsMode:I - #2265 = NameAndType #2755:#815 // allowFullscreen:Z - #2266 = NameAndType #2756:#766 // imeOptions:I - #2267 = NameAndType #2757:#1015 // handlingMotions:()Z - #2268 = NameAndType #1553:#1545 // onTouchEvent:(Landroid/view/MotionEvent;)Z - #2269 = Utf8 android/view/MotionEvent - #2270 = NameAndType #1559:#1560 // onKeyDown:(ILandroid/view/KeyEvent;)Z - #2271 = NameAndType #1562:#1560 // onKeyUp:(ILandroid/view/KeyEvent;)Z - #2272 = NameAndType #1563:#1564 // onKeyMultiple:(IILandroid/view/KeyEvent;)Z - #2273 = NameAndType #2758:#1384 // getMode:(I)I - #2274 = Utf8 android/view/View$MeasureSpec - #2275 = Utf8 MeasureSpec - #2276 = NameAndType #2759:#1384 // getSize:(I)I - #2277 = NameAndType #2760:#1130 // makeMeasureSpec:(II)I - #2278 = Utf8 onMeasure():CodeEditor does not support wrap_content mode when measuring.It will just fill the whole space. - #2279 = NameAndType #1569:#1272 // onMeasure:(II)V - #2280 = Utf8 android/view/InputDevice - #2281 = NameAndType #2761:#1371 // isFromSource:(I)Z - #2282 = NameAndType #2762:#2763 // getAxisValue:(I)F - #2283 = NameAndType #2764:#2765 // onScroll:(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z - #2284 = NameAndType #1573:#1545 // onGenericMotionEvent:(Landroid/view/MotionEvent;)Z - #2285 = NameAndType #1576:#1427 // onSizeChanged:(IIII)V - #2286 = NameAndType #1167:#1168 // getVerticalEdgeEffect:()Landroid/widget/EdgeEffect; - #2287 = NameAndType #1169:#1168 // getHorizontalEdgeEffect:()Landroid/widget/EdgeEffect; - #2288 = NameAndType #2766:#977 // finish:()V - #2289 = NameAndType #929:#815 // verticalAbsorb:Z - #2290 = NameAndType #930:#815 // horizontalAbsorb:Z - #2291 = NameAndType #2767:#815 // adjustToSelectionOnResize:Z - #2292 = NameAndType #1581:#977 // onDetachedFromWindow:()V - #2293 = NameAndType #2768:#2458 // removeCallbacks:(Ljava/lang/Runnable;)Z - #2294 = NameAndType #1582:#1583 // onFocusChanged:(ZILandroid/graphics/Rect;)V - #2295 = NameAndType #2769:#977 // hideInsertHandle:()V - #2296 = NameAndType #2770:#1015 // computeScrollOffset:()Z - #2297 = NameAndType #2771:#1003 // getStartX:()I - #2298 = NameAndType #2772:#1003 // getFinalX:()I - #2299 = NameAndType #2773:#1003 // getStartY:()I - #2300 = NameAndType #2774:#1003 // getFinalY:()I - #2301 = NameAndType #927:#789 // scrollerFinalX:F - #2302 = NameAndType #928:#789 // scrollerFinalY:F - #2303 = NameAndType #2603:#1384 // abs:(I)I - #2304 = NameAndType #1281:#979 // getDpUnit:()F - #2305 = NameAndType #2775:#979 // getCurrVelocity:()F - #2306 = NameAndType #2776:#1000 // onAbsorb:(I)V - #2307 = NameAndType #2777:#815 // glowLeftOrRight:Z - #2308 = NameAndType #2778:#815 // glowTopOrBottom:Z - #2309 = NameAndType #2779:#977 // postInvalidateOnAnimation:()V - #2310 = NameAndType #1593:#1594 // beforeReplace:(Lio/github/rosemoe/sora/text/Content;)V - #2311 = NameAndType #2780:#977 // onTextChange:()V - #2312 = NameAndType #2781:#2782 // adjustOnInsert:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - #2313 = Class #2783 // io/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer - #2314 = NameAndType #2784:#1272 // shiftOnInsert:(II)V - #2315 = Utf8 Update failure - #2316 = NameAndType #1596:#1597 // afterInsert:(Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - #2317 = NameAndType #2785:#1015 // isUndoOrRedo:()Z - #2318 = NameAndType #2786:#815 // autoCompletionOnComposing:Z - #2319 = NameAndType #2444:#1622 // insert:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - #2320 = NameAndType #2787:#2782 // adjustOnDelete:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - #2321 = NameAndType #2788:#1272 // shiftOnDelete:(II)V - #2322 = NameAndType #1599:#1597 // afterDelete:(Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - #2323 = NameAndType #2578:#1622 // delete:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - #2324 = MethodHandle 7:#2789 // REF_invokeSpecial io/github/rosemoe/sora/widget/CodeEditor.lambda$onFormatFail$0:(Ljava/lang/Throwable;)V - #2325 = NameAndType #2728:#2790 // run:(Lio/github/rosemoe/sora/widget/CodeEditor;Ljava/lang/Throwable;)Ljava/lang/Runnable; - #2326 = NameAndType #1606:#1607 // onRemove:(Lio/github/rosemoe/sora/text/Content;Lio/github/rosemoe/sora/text/ContentLine;)V - #2327 = MethodHandle 7:#2791 // REF_invokeSpecial io/github/rosemoe/sora/widget/CodeEditor.lambda$onFormatSucceed$1:(Ljava/lang/CharSequence;)V - #2328 = NameAndType #2728:#2792 // run:(Lio/github/rosemoe/sora/widget/CodeEditor;Ljava/lang/CharSequence;)Ljava/lang/Runnable; - #2329 = MethodHandle 7:#2793 // REF_invokeSpecial io/github/rosemoe/sora/widget/CodeEditor.lambda$onFormatSucceed$2:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - #2330 = NameAndType #2728:#2794 // run:(Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)Ljava/lang/Runnable; - #2331 = NameAndType #1295:#1272 // setSelectionAround:(II)V - #2332 = Class #2795 // io/github/rosemoe/sora/util/Logger - #2333 = NameAndType #2796:#2797 // instance:(Ljava/lang/String;)Lio/github/rosemoe/sora/util/Logger; - #2334 = NameAndType #760:#761 // logger:Lio/github/rosemoe/sora/util/Logger; - #2335 = Utf8 android/view/View - #2336 = Utf8 io/github/rosemoe/sora/text/ContentListener - #2337 = Utf8 io/github/rosemoe/sora/text/FormatThread$FormatResultReceiver - #2338 = Utf8 FormatResultReceiver - #2339 = Utf8 io/github/rosemoe/sora/text/LineRemoveListener - #2340 = Class #2798 // android/graphics/Paint - #2341 = Utf8 android/graphics/Paint$Align - #2342 = Utf8 android/graphics/Paint$FontMetricsInt - #2343 = Utf8 io/github/rosemoe/sora/widget/component/EditorBuiltinComponent - #2344 = Utf8 android/util/AttributeSet - #2345 = Utf8 android/content/res/TypedArray - #2346 = Utf8 io/github/rosemoe/sora/text/Cursor - #2347 = Utf8 io/github/rosemoe/sora/lang/Language - #2348 = Utf8 io/github/rosemoe/sora/lang/analysis/AnalyzeManager - #2349 = Utf8 io/github/rosemoe/sora/text/ContentLine - #2350 = Utf8 io/github/rosemoe/sora/graphics/GraphicTextRow - #2351 = Utf8 io/github/rosemoe/sora/util/LongArrayList - #2352 = Utf8 java/util/List - #2353 = Utf8 io/github/rosemoe/sora/lang/styling/Spans - #2354 = Utf8 android/graphics/Canvas - #2355 = Utf8 java/lang/CharSequence - #2356 = Class #2799 // android/view/ActionMode - #2357 = Utf8 android/view/ActionMode$Callback - #2358 = Utf8 android/content/ClipData$Item - #2359 = Utf8 android/content/res/Resources - #2360 = Utf8 android/view/inputmethod/ExtractedTextRequest - #2361 = Utf8 android/graphics/Rect - #2362 = Utf8 android/widget/OverScroller - #2363 = Utf8 io/github/rosemoe/sora/widget/CodeEditor$1SearchActionMode$1 - #2364 = Utf8 io/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle - #2365 = Utf8 WAVY_LINE - #2366 = Utf8 (Lio/github/rosemoe/sora/widget/CodeEditor;)V - #2367 = Utf8 mMagnifier - #2368 = Utf8 Lio/github/rosemoe/sora/widget/component/Magnifier; - #2369 = Utf8 setEnabled - #2370 = Utf8 java/lang/System - #2371 = Utf8 currentTimeMillis - #2372 = Utf8 ()J - #2373 = Utf8 io/github/rosemoe/sora/widget/layout/Layout - #2374 = Utf8 getCharLayoutOffset - #2375 = Utf8 (II)[F - #2376 = Utf8 android/util/Log - #2377 = Utf8 v - #2378 = Utf8 (Ljava/lang/String;Ljava/lang/String;)I - #2379 = Utf8 android/os/Build$VERSION - #2380 = Utf8 VERSION - #2381 = Utf8 SDK_INT - #2382 = Utf8 android/os/Build - #2383 = Utf8 getContext - #2384 = Utf8 ()Landroid/content/Context; - #2385 = Utf8 android/view/ViewConfiguration - #2386 = Utf8 get - #2387 = Utf8 (Landroid/content/Context;)Landroid/view/ViewConfiguration; - #2388 = Utf8 getScaledVerticalScrollFactor - #2389 = Utf8 android/R - #2390 = Utf8 obtainStyledAttributes - #2391 = Utf8 ([I)Landroid/content/res/TypedArray; - #2392 = Utf8 getFloat - #2393 = Utf8 (IF)F - #2394 = Utf8 recycle - #2395 = Utf8 close - #2396 = Utf8 addSuppressed - #2397 = Utf8 (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I - #2398 = Class #2800 // io/github/rosemoe/sora/R - #2399 = Utf8 io/github/rosemoe/sora/R$string - #2400 = Utf8 string - #2401 = Utf8 editor_line_number_tip_prefix - #2402 = Utf8 getString - #2403 = Utf8 (I)Ljava/lang/String; - #2404 = Utf8 editor_formatting - #2405 = Utf8 getSystem - #2406 = Utf8 ()Landroid/content/res/Resources; - #2407 = Utf8 getDisplayMetrics - #2408 = Utf8 ()Landroid/util/DisplayMetrics; - #2409 = Utf8 applyDimension - #2410 = Utf8 (IFLandroid/util/DisplayMetrics;)F - #2411 = Utf8 getPaint - #2412 = Utf8 io/github/rosemoe/sora/graphics/Paint - #2413 = Utf8 getTextSize - #2414 = Class #2801 // android/view/GestureDetector$OnGestureListener - #2415 = Utf8 OnGestureListener - #2416 = Utf8 (Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V - #2417 = Utf8 setOnDoubleTapListener - #2418 = Class #2802 // android/view/GestureDetector$OnDoubleTapListener - #2419 = Utf8 OnDoubleTapListener - #2420 = Utf8 (Landroid/view/GestureDetector$OnDoubleTapListener;)V - #2421 = Class #2803 // android/view/ScaleGestureDetector$OnScaleGestureListener - #2422 = Utf8 OnScaleGestureListener - #2423 = Utf8 (Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V - #2424 = Utf8 RIGHT - #2425 = Utf8 getSystemService - #2426 = Utf8 (Ljava/lang/String;)Ljava/lang/Object; - #2427 = Utf8 setFocusable - #2428 = Utf8 setFocusableInTouchMode - #2429 = Utf8 android/graphics/Typeface - #2430 = Utf8 DEFAULT - #2431 = Utf8 setDefaultFocusHighlightEnabled - #2432 = Utf8 io/github/rosemoe/sora/util/ThemeUtils - #2433 = Utf8 getColorPrimary - #2434 = Utf8 (Landroid/view/ContextThemeWrapper;)I - #2435 = Utf8 setQuickScaleEnabled - #2436 = Utf8 java/util/Objects - #2437 = Utf8 requireNonNull - #2438 = Utf8 (Ljava/lang/Object;)Ljava/lang/Object; - #2439 = Utf8 invalidate - #2440 = Utf8 length - #2441 = Utf8 isSelected - #2442 = Utf8 getRightLine - #2443 = Utf8 getRightColumn - #2444 = Utf8 insert - #2445 = Utf8 (IILjava/lang/CharSequence;)V - #2446 = Utf8 getIndexer - #2447 = Utf8 ()Lio/github/rosemoe/sora/text/Indexer; - #2448 = Utf8 getRight - #2449 = Utf8 io/github/rosemoe/sora/text/Indexer - #2450 = Utf8 getCharPosition - #2451 = Utf8 (I)Lio/github/rosemoe/sora/text/CharPosition; - #2452 = Utf8 setAdapter - #2453 = Utf8 (Lio/github/rosemoe/sora/widget/CodeEditor;I)V - #2454 = Utf8 setPeriod - #2455 = Utf8 valid - #2456 = Utf8 isAttachedToWindow - #2457 = Utf8 post - #2458 = Utf8 (Ljava/lang/Runnable;)Z - #2459 = Utf8 setFontFeatureSettingsWrapped - #2460 = Utf8 getPaintOther - #2461 = Utf8 getPaintGraph - #2462 = Utf8 updateTimestamp - #2463 = Utf8 getAnalyzeManager - #2464 = Utf8 ()Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - #2465 = Utf8 setReceiver - #2466 = Utf8 (Lio/github/rosemoe/sora/lang/analysis/StyleReceiver;)V - #2467 = Utf8 destroy - #2468 = Utf8 reset - #2469 = Utf8 hide - #2470 = Utf8 (Lio/github/rosemoe/sora/text/ContentReference;Landroid/os/Bundle;)V - #2471 = Utf8 setParent - #2472 = Utf8 (Lio/github/rosemoe/sora/widget/SymbolPairMatch;)V - #2473 = Utf8 getSymbolPairs - #2474 = Utf8 ()Lio/github/rosemoe/sora/widget/SymbolPairMatch; - #2475 = Utf8 append - #2476 = Utf8 (Ljava/lang/String;)Ljava/lang/StringBuilder; - #2477 = Utf8 java/lang/Object - #2478 = Utf8 toString - #2479 = Utf8 overrideSymbolPairs - #2480 = Utf8 invalidateHwRenderer - #2481 = Utf8 io/github/rosemoe/sora/widget/style/CursorAnimator - #2482 = Utf8 cancel - #2483 = Utf8 io/github/rosemoe/sora/util/IntPair - #2484 = Utf8 pack - #2485 = Utf8 (II)J - #2486 = Utf8 getFirst - #2487 = Utf8 (J)I - #2488 = Utf8 getSecond - #2489 = Utf8 java/lang/Math - #2490 = Utf8 getLine - #2491 = Utf8 (I)Lio/github/rosemoe/sora/text/ContentLine; - #2492 = Utf8 widthCache - #2493 = Utf8 obtain - #2494 = Utf8 ()Lio/github/rosemoe/sora/graphics/GraphicTextRow; - #2495 = Utf8 set - #2496 = Utf8 (Lio/github/rosemoe/sora/text/ContentLine;IIILjava/util/List;Lio/github/rosemoe/sora/graphics/Paint;)V - #2497 = Utf8 buildMeasureCache - #2498 = Utf8 (Lio/github/rosemoe/sora/graphics/GraphicTextRow;)V - #2499 = Utf8 clear - #2500 = Utf8 mPattern - #2501 = Utf8 mOptions - #2502 = Utf8 SearchOptions - #2503 = Utf8 Lio/github/rosemoe/sora/widget/EditorSearcher$SearchOptions; - #2504 = Utf8 io/github/rosemoe/sora/widget/EditorSearcher$SearchOptions - #2505 = Utf8 useRegex - #2506 = Utf8 isResultValid - #2507 = Utf8 mLastResults - #2508 = Utf8 getCharIndex - #2509 = Utf8 getColumnCount - #2510 = Utf8 (I)J - #2511 = Utf8 (J)V - #2512 = Utf8 ignoreCase - #2513 = Utf8 io/github/rosemoe/sora/text/TextUtils - #2514 = Utf8 indexOf - #2515 = Utf8 (Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZI)I - #2516 = Utf8 getColor - #2517 = Utf8 setColor - #2518 = Utf8 io/github/rosemoe/sora/lang/styling/Styles - #2519 = Utf8 isEmpty - #2520 = Utf8 getLeftLine - #2521 = Utf8 getSuppressSwitch - #2522 = Utf8 (I)Ljava/lang/Object; - #2523 = Utf8 io/github/rosemoe/sora/lang/styling/Span - #2524 = Utf8 (IJ)Lio/github/rosemoe/sora/lang/styling/Span; - #2525 = Utf8 (Ljava/lang/Object;)Z - #2526 = Utf8 read - #2527 = Utf8 Reader - #2528 = Utf8 ()Lio/github/rosemoe/sora/lang/styling/Spans$Reader; - #2529 = Utf8 io/github/rosemoe/sora/lang/styling/Spans$Reader - #2530 = Utf8 getSpansOnLine - #2531 = Utf8 drawTextRun - #2532 = Utf8 ([CIIIIFFZLandroid/graphics/Paint;)V - #2533 = Utf8 getTimestamp - #2534 = Utf8 findOffsetByAdvance - #2535 = Utf8 (IF)[F - #2536 = Utf8 disableCache - #2537 = Utf8 io/github/rosemoe/sora/util/TemporaryFloatBuffer - #2538 = Utf8 (I)[F - #2539 = Utf8 getTextWidths - #2540 = Utf8 (Ljava/lang/String;[F)I - #2541 = Utf8 ([F)V - #2542 = Utf8 (FF)F - #2543 = Utf8 reuse - #2544 = Utf8 getRowTable - #2545 = Utf8 ()Ljava/util/List; - #2546 = Utf8 (Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/Content;Ljava/util/List;)V - #2547 = Utf8 destroyLayout - #2548 = Utf8 setCachedLineNumberWidth - #2549 = Utf8 (Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/Content;)V - #2550 = Utf8 scrollBy - #2551 = Utf8 commitTextInternal - #2552 = Utf8 getHeight - #2553 = Utf8 startScroll - #2554 = Utf8 getWidth - #2555 = Utf8 isShowing - #2556 = Utf8 setMaxHeight - #2557 = Utf8 setSize - #2558 = Utf8 setLocation - #2559 = Utf8 getMatrix - #2560 = Utf8 ()Landroid/graphics/Matrix; - #2561 = Utf8 (Landroid/graphics/Matrix;)V - #2562 = Utf8 getLocationOnScreen - #2563 = Utf8 ([I)V - #2564 = Utf8 postTranslate - #2565 = Utf8 (FF)Z - #2566 = Utf8 setMatrix - #2567 = Utf8 (Landroid/graphics/Matrix;)Landroid/view/inputmethod/CursorAnchorInfo$Builder; - #2568 = Utf8 getLeft - #2569 = Utf8 setSelectionRange - #2570 = Utf8 (II)Landroid/view/inputmethod/CursorAnchorInfo$Builder; - #2571 = Utf8 setInsertionMarkerLocation - #2572 = Utf8 (FFFFI)Landroid/view/inputmethod/CursorAnchorInfo$Builder; - #2573 = Utf8 build - #2574 = Utf8 ()Landroid/view/inputmethod/CursorAnchorInfo; - #2575 = Utf8 updateCursorAnchorInfo - #2576 = Utf8 (Landroid/view/View;Landroid/view/inputmethod/CursorAnchorInfo;)V - #2577 = Utf8 getLeftColumn - #2578 = Utf8 delete - #2579 = Utf8 deleteEmptyLineFast - #2580 = Utf8 deleteMultiSpaces - #2581 = Utf8 charAt - #2582 = Utf8 (II)C - #2583 = Utf8 io/github/rosemoe/sora/text/TextLayoutHelper - #2584 = Utf8 ()Lio/github/rosemoe/sora/text/TextLayoutHelper; - #2585 = Utf8 getCurPosLeft - #2586 = Utf8 (ILjava/lang/CharSequence;)I - #2587 = Utf8 replace - #2588 = Utf8 (IIIILjava/lang/CharSequence;)V - #2589 = Utf8 autoIndent - #2590 = Utf8 (I)C - #2591 = Utf8 getLineString - #2592 = Utf8 getIndentAdvance - #2593 = Utf8 (Lio/github/rosemoe/sora/text/ContentReference;II)I - #2594 = Utf8 useTab - #2595 = Utf8 createIndent - #2596 = Utf8 (IIZ)Ljava/lang/String; - #2597 = Utf8 (ILjava/lang/String;)Ljava/lang/StringBuilder; - #2598 = Utf8 io/github/rosemoe/sora/util/Floats - #2599 = Utf8 withinDelta - #2600 = Utf8 (FFF)Z - #2601 = Utf8 forceFinished - #2602 = Utf8 awareScrollbarWhenAdjust - #2603 = Utf8 abs - #2604 = Utf8 (F)F - #2605 = Utf8 notifyScrolled - #2606 = Utf8 (Lio/github/rosemoe/sora/widget/CodeEditor;IIIII)V - #2607 = Utf8 hasPrimaryClip - #2608 = Utf8 getLayoutHeight - #2609 = Utf8 getCharPositionForLayoutOffset - #2610 = Utf8 getLayoutWidth - #2611 = Utf8 (Ljava/lang/CharSequence;Lio/github/rosemoe/sora/lang/Language;Lio/github/rosemoe/sora/text/FormatThread$FormatResultReceiver;)V - #2612 = Utf8 (Ljava/lang/CharSequence;Lio/github/rosemoe/sora/lang/Language;Lio/github/rosemoe/sora/text/FormatThread$FormatResultReceiver;Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - #2613 = Utf8 scaleMinSize - #2614 = Utf8 scaleMaxSize - #2615 = Utf8 getParent - #2616 = Utf8 ()Landroid/view/ViewParent; - #2617 = Utf8 android/view/ViewParent - #2618 = Utf8 requestDisallowInterceptTouchEvent - #2619 = Utf8 clearFoundBracketPair - #2620 = Utf8 postUpdateBracketPair - #2621 = Utf8 startActionMode - #2622 = Utf8 (Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode; - #2623 = Utf8 getTypeface - #2624 = Utf8 setLetterSpacing - #2625 = Utf8 getLetterSpacing - #2626 = Utf8 LEFT - #2627 = Utf8 getLineNumberForRow - #2628 = Utf8 mTextMetrics - #2629 = Utf8 descent - #2630 = Utf8 ascent - #2631 = Utf8 getCurrX - #2632 = Utf8 getCurrY - #2633 = Utf8 equals - #2634 = Utf8 moveDown - #2635 = Utf8 getDownPosition - #2636 = Utf8 getColumn - #2637 = Utf8 moveUp - #2638 = Utf8 getUpPosition - #2639 = Utf8 getLeftOf - #2640 = Utf8 (J)J - #2641 = Utf8 requireCompletion - #2642 = Utf8 toIntPair - #2643 = Utf8 getRightOf - #2644 = Utf8 invalidateInCursor - #2645 = Utf8 markStartPos - #2646 = Utf8 java/lang/Character - #2647 = Utf8 isHighSurrogate - #2648 = Utf8 hasAnyHeldHandle - #2649 = Utf8 mComposingText - #2650 = Utf8 Lio/github/rosemoe/sora/widget/ComposingText; - #2651 = Utf8 io/github/rosemoe/sora/widget/ComposingText - #2652 = Utf8 isComposing - #2653 = Utf8 shouldRejectComposing - #2654 = Utf8 markEndPos - #2655 = Utf8 (I)Ljava/lang/StringBuilder; - #2656 = Utf8 setLeft - #2657 = Utf8 setRight - #2658 = Utf8 (FFZ)V - #2659 = Utf8 getPrimaryClip - #2660 = Utf8 ()Landroid/content/ClipData; - #2661 = Utf8 android/content/ClipData - #2662 = Utf8 getItemAt - #2663 = Utf8 (I)Landroid/content/ClipData$Item; - #2664 = Utf8 ()Ljava/lang/CharSequence; - #2665 = Utf8 (Ljava/lang/CharSequence;I)Z - #2666 = Utf8 printStackTrace - #2667 = Utf8 makeText - #2668 = Utf8 (Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; - #2669 = Utf8 show - #2670 = Utf8 subContent - #2671 = Utf8 (IIII)Lio/github/rosemoe/sora/text/Content; - #2672 = Utf8 newPlainText - #2673 = Utf8 (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/content/ClipData; - #2674 = Utf8 setPrimaryClip - #2675 = Utf8 (Landroid/content/ClipData;)V - #2676 = Utf8 fromThis - #2677 = Utf8 (Ljava/lang/Object;)Ljava/lang/StringBuilder; - #2678 = Utf8 useICULibToSelectWords - #2679 = Utf8 io/github/rosemoe/sora/text/ICUUtils - #2680 = Utf8 getWordEdges - #2681 = Utf8 (Ljava/lang/CharSequence;IZ)J - #2682 = Utf8 removeContentListener - #2683 = Utf8 (Lio/github/rosemoe/sora/text/ContentListener;)V - #2684 = Utf8 setLineListener - #2685 = Utf8 (Lio/github/rosemoe/sora/text/LineRemoveListener;)V - #2686 = Utf8 resetBatchEdit - #2687 = Utf8 addContentListener - #2688 = Utf8 notifyFullTextUpdate - #2689 = Utf8 (II)Lio/github/rosemoe/sora/text/CharPosition; - #2690 = Utf8 (Lio/github/rosemoe/sora/widget/CodeEditor;ILio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - #2691 = Utf8 (Landroid/view/View;)V - #2692 = Utf8 requestLayout - #2693 = Utf8 getResources - #2694 = Utf8 attachEditor - #2695 = Utf8 detachEditor - #2696 = Utf8 applyColorScheme - #2697 = Utf8 rerun - #2698 = Utf8 isInTouchMode - #2699 = Utf8 requestFocusFromTouch - #2700 = Utf8 hasFocus - #2701 = Utf8 requestFocus - #2702 = Utf8 (Landroid/view/View;I)Z - #2703 = Utf8 getWindowToken - #2704 = Utf8 ()Landroid/os/IBinder; - #2705 = Utf8 hideSoftInputFromWindow - #2706 = Utf8 (Landroid/os/IBinder;I)Z - #2707 = Utf8 startIndex - #2708 = Utf8 endIndex - #2709 = Utf8 (Landroid/view/View;IIII)V - #2710 = Utf8 token - #2711 = Utf8 (Landroid/view/View;ILandroid/view/inputmethod/ExtractedText;)V - #2712 = Utf8 hintMaxChars - #2713 = Utf8 maxIPCTextLength - #2714 = Utf8 getTextRegion - #2715 = Utf8 (III)Ljava/lang/CharSequence; - #2716 = Utf8 selectionStart - #2717 = Utf8 selectionEnd - #2718 = Utf8 invalid - #2719 = Utf8 isInBatchEdit - #2720 = Utf8 cancelCompletion - #2721 = Utf8 dismiss - #2722 = Utf8 onRelease - #2723 = Utf8 draw - #2724 = Utf8 visibility - #2725 = Utf8 isFinished - #2726 = Methodref #2804.#2805 // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; - #2727 = Methodref #20.#2806 // io/github/rosemoe/sora/widget/component/Magnifier.updateDisplay:()V - #2728 = Utf8 run - #2729 = Utf8 (Lio/github/rosemoe/sora/widget/component/Magnifier;)Ljava/lang/Runnable; - #2730 = Utf8 setTextSelection - #2731 = Utf8 setScrollable - #2732 = Utf8 setMultiLine - #2733 = Utf8 toStringBuilder - #2734 = Utf8 ()Ljava/lang/StringBuilder; - #2735 = Utf8 setLongClickable - #2736 = Utf8 android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction - #2737 = Utf8 AccessibilityAction - #2738 = Utf8 ACTION_COPY - #2739 = Utf8 Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - #2740 = Utf8 addAction - #2741 = Utf8 (Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V - #2742 = Utf8 ACTION_CUT - #2743 = Utf8 ACTION_PASTE - #2744 = Utf8 ACTION_SET_TEXT - #2745 = Utf8 ACTION_SCROLL_FORWARD - #2746 = Utf8 ACTION_SCROLL_BACKWARD - #2747 = Utf8 getCharSequence - #2748 = Utf8 (Ljava/lang/String;)Ljava/lang/CharSequence; - #2749 = Utf8 getX - #2750 = Utf8 getAction - #2751 = Utf8 initialSelStart - #2752 = Utf8 initialSelEnd - #2753 = Utf8 getCursorCapsMode - #2754 = Utf8 initialCapsMode - #2755 = Utf8 allowFullscreen - #2756 = Utf8 imeOptions - #2757 = Utf8 handlingMotions - #2758 = Utf8 getMode - #2759 = Utf8 getSize - #2760 = Utf8 makeMeasureSpec - #2761 = Utf8 isFromSource - #2762 = Utf8 getAxisValue - #2763 = Utf8 (I)F - #2764 = Utf8 onScroll - #2765 = Utf8 (Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z - #2766 = Utf8 finish - #2767 = Utf8 adjustToSelectionOnResize - #2768 = Utf8 removeCallbacks - #2769 = Utf8 hideInsertHandle - #2770 = Utf8 computeScrollOffset - #2771 = Utf8 getStartX - #2772 = Utf8 getFinalX - #2773 = Utf8 getStartY - #2774 = Utf8 getFinalY - #2775 = Utf8 getCurrVelocity - #2776 = Utf8 onAbsorb - #2777 = Utf8 glowLeftOrRight - #2778 = Utf8 glowTopOrBottom - #2779 = Utf8 postInvalidateOnAnimation - #2780 = Utf8 onTextChange - #2781 = Utf8 adjustOnInsert - #2782 = Utf8 (Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - #2783 = Utf8 io/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer - #2784 = Utf8 shiftOnInsert - #2785 = Utf8 isUndoOrRedo - #2786 = Utf8 autoCompletionOnComposing - #2787 = Utf8 adjustOnDelete - #2788 = Utf8 shiftOnDelete - #2789 = Methodref #46.#2807 // io/github/rosemoe/sora/widget/CodeEditor.lambda$onFormatFail$0:(Ljava/lang/Throwable;)V - #2790 = Utf8 (Lio/github/rosemoe/sora/widget/CodeEditor;Ljava/lang/Throwable;)Ljava/lang/Runnable; - #2791 = Methodref #46.#2808 // io/github/rosemoe/sora/widget/CodeEditor.lambda$onFormatSucceed$1:(Ljava/lang/CharSequence;)V - #2792 = Utf8 (Lio/github/rosemoe/sora/widget/CodeEditor;Ljava/lang/CharSequence;)Ljava/lang/Runnable; - #2793 = Methodref #46.#2809 // io/github/rosemoe/sora/widget/CodeEditor.lambda$onFormatSucceed$2:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - #2794 = Utf8 (Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)Ljava/lang/Runnable; - #2795 = Utf8 io/github/rosemoe/sora/util/Logger - #2796 = Utf8 instance - #2797 = Utf8 (Ljava/lang/String;)Lio/github/rosemoe/sora/util/Logger; - #2798 = Utf8 android/graphics/Paint - #2799 = Utf8 android/view/ActionMode - #2800 = Utf8 io/github/rosemoe/sora/R - #2801 = Utf8 android/view/GestureDetector$OnGestureListener - #2802 = Utf8 android/view/GestureDetector$OnDoubleTapListener - #2803 = Utf8 android/view/ScaleGestureDetector$OnScaleGestureListener - #2804 = Class #2810 // java/lang/invoke/LambdaMetafactory - #2805 = NameAndType #2811:#2814 // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; - #2806 = NameAndType #2815:#977 // updateDisplay:()V - #2807 = NameAndType #1624:#1603 // lambda$onFormatFail$0:(Ljava/lang/Throwable;)V - #2808 = NameAndType #1623:#1258 // lambda$onFormatSucceed$1:(Ljava/lang/CharSequence;)V - #2809 = NameAndType #1621:#1622 // lambda$onFormatSucceed$2:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - #2810 = Utf8 java/lang/invoke/LambdaMetafactory - #2811 = Utf8 metafactory - #2812 = Class #2817 // java/lang/invoke/MethodHandles$Lookup - #2813 = Utf8 Lookup - #2814 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; - #2815 = Utf8 updateDisplay - #2816 = Class #2818 // java/lang/invoke/MethodHandles - #2817 = Utf8 java/lang/invoke/MethodHandles$Lookup - #2818 = Utf8 java/lang/invoke/MethodHandles -{ - public static final int DEFAULT_TEXT_SIZE; - descriptor: I - flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL - ConstantValue: int 18 - - public static final int DEFAULT_CURSOR_BLINK_PERIOD; - descriptor: I - flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL - ConstantValue: int 500 - - public static final int FLAG_DRAW_WHITESPACE_LEADING; - descriptor: I - flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL - ConstantValue: int 1 - - public static final int FLAG_DRAW_WHITESPACE_INNER; - descriptor: I - flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL - ConstantValue: int 2 - - public static final int FLAG_DRAW_WHITESPACE_TRAILING; - descriptor: I - flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL - ConstantValue: int 4 - - public static final int FLAG_DRAW_WHITESPACE_FOR_EMPTY_LINE; - descriptor: I - flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL - ConstantValue: int 8 - - public static final int FLAG_DRAW_LINE_SEPARATOR; - descriptor: I - flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL - ConstantValue: int 16 - - public static final int FLAG_DRAW_TAB_SAME_AS_SPACE; - descriptor: I - flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL - ConstantValue: int 32 - - public static final int FLAG_DRAW_WHITESPACE_IN_SELECTION; - descriptor: I - flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL - ConstantValue: int 64 - - public static final int WINDOW_POS_MODE_AUTO; - descriptor: I - flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL - ConstantValue: int 0 - - public static final int WINDOW_POS_MODE_FOLLOW_CURSOR_ALWAYS; - descriptor: I - flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL - ConstantValue: int 1 - - public static final int WINDOW_POS_MODE_FULL_WIDTH_ALWAYS; - descriptor: I - flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL - ConstantValue: int 2 - - static final float SCALE_MINI_GRAPH; - descriptor: F - flags: (0x0018) ACC_STATIC, ACC_FINAL - ConstantValue: float 0.9f - - static final int ACTION_MODE_NONE; - descriptor: I - flags: (0x0018) ACC_STATIC, ACC_FINAL - ConstantValue: int 0 - - static final int ACTION_MODE_SEARCH_TEXT; - descriptor: I - flags: (0x0018) ACC_STATIC, ACC_FINAL - ConstantValue: int 1 - - static final int ACTION_MODE_SELECT_TEXT; - descriptor: I - flags: (0x0018) ACC_STATIC, ACC_FINAL - ConstantValue: int 2 - - protected io.github.rosemoe.sora.widget.SymbolPairMatch mLanguageSymbolPairs; - descriptor: Lio/github/rosemoe/sora/widget/SymbolPairMatch; - flags: (0x0004) ACC_PROTECTED - - protected io.github.rosemoe.sora.widget.component.EditorTextActionWindow mTextActionWindow; - descriptor: Lio/github/rosemoe/sora/widget/component/EditorTextActionWindow; - flags: (0x0004) ACC_PROTECTED - - protected java.util.List defSpans; - descriptor: Ljava/util/List; - flags: (0x0004) ACC_PROTECTED - Signature: #900 // Ljava/util/List; - - protected io.github.rosemoe.sora.widget.EditorStyleDelegate mStyleDelegate; - descriptor: Lio/github/rosemoe/sora/widget/EditorStyleDelegate; - flags: (0x0004) ACC_PROTECTED - - final io.github.rosemoe.sora.widget.EditorKeyEventHandler mKeyEventHandler; - descriptor: Lio/github/rosemoe/sora/widget/EditorKeyEventHandler; - flags: (0x0010) ACC_FINAL - - int mStartedActionMode; - descriptor: I - flags: (0x0000) - - io.github.rosemoe.sora.text.CharPosition mSelectionAnchor; - descriptor: Lio/github/rosemoe/sora/text/CharPosition; - flags: (0x0000) - - io.github.rosemoe.sora.widget.EditorInputConnection mConnection; - descriptor: Lio/github/rosemoe/sora/widget/EditorInputConnection; - flags: (0x0000) - - io.github.rosemoe.sora.event.EventManager mEventManager; - descriptor: Lio/github/rosemoe/sora/event/EventManager; - flags: (0x0000) - - io.github.rosemoe.sora.widget.layout.Layout mLayout; - descriptor: Lio/github/rosemoe/sora/widget/layout/Layout; - flags: (0x0000) - - public io.github.rosemoe.sora.widget.CodeEditor(android.content.Context); - descriptor: (Landroid/content/Context;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: aload_0 - 1: aload_1 - 2: aconst_null - 3: invokespecial #1 // Method "":(Landroid/content/Context;Landroid/util/AttributeSet;)V - 6: return - LineNumberTable: - line 326: 0 - line 327: 6 - LocalVariableTable: - Start Length Slot Name Signature - 0 7 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 7 1 context Landroid/content/Context; - - public io.github.rosemoe.sora.widget.CodeEditor(android.content.Context, android.util.AttributeSet); - descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=3, args_size=3 - 0: aload_0 - 1: aload_1 - 2: aload_2 - 3: iconst_0 - 4: invokespecial #2 // Method "":(Landroid/content/Context;Landroid/util/AttributeSet;I)V - 7: return - LineNumberTable: - line 330: 0 - line 331: 7 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 8 1 context Landroid/content/Context; - 0 8 2 attrs Landroid/util/AttributeSet; - - public io.github.rosemoe.sora.widget.CodeEditor(android.content.Context, android.util.AttributeSet, int); - descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;I)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=5, locals=4, args_size=4 - 0: aload_0 - 1: aload_1 - 2: aload_2 - 3: iload_3 - 4: iconst_0 - 5: invokespecial #3 // Method "":(Landroid/content/Context;Landroid/util/AttributeSet;II)V - 8: return - LineNumberTable: - line 334: 0 - line 335: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 9 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 9 1 context Landroid/content/Context; - 0 9 2 attrs Landroid/util/AttributeSet; - 0 9 3 defStyleAttr I - - public io.github.rosemoe.sora.widget.CodeEditor(android.content.Context, android.util.AttributeSet, int, int); - descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;II)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=5, locals=5, args_size=5 - 0: aload_0 - 1: aload_1 - 2: aload_2 - 3: iload_3 - 4: iload 4 - 6: invokespecial #4 // Method android/view/View."":(Landroid/content/Context;Landroid/util/AttributeSet;II)V - 9: aload_0 - 10: iconst_0 - 11: putfield #5 // Field mDownX:I - 14: aload_0 - 15: fconst_1 - 16: putfield #6 // Field mLineSpacingMultiplier:F - 19: aload_0 - 20: fconst_0 - 21: putfield #7 // Field mLineSpacingAdd:F - 24: aload_0 - 25: getstatic #8 // Field io/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle.WAVY_LINE:Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle; - 28: putfield #9 // Field mDiagnosticStyle:Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle; - 31: aload_0 - 32: lconst_0 - 33: putfield #10 // Field mLastMakeVisible:J - 36: aload_0 - 37: new #11 // class java/util/ArrayList - 40: dup - 41: iconst_2 - 42: invokespecial #12 // Method java/util/ArrayList."":(I)V - 45: putfield #13 // Field defSpans:Ljava/util/List; - 48: aload_0 - 49: new #14 // class io/github/rosemoe/sora/widget/EditorKeyEventHandler - 52: dup - 53: aload_0 - 54: invokespecial #15 // Method io/github/rosemoe/sora/widget/EditorKeyEventHandler."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - 57: putfield #16 // Field mKeyEventHandler:Lio/github/rosemoe/sora/widget/EditorKeyEventHandler; - 60: aload_0 - 61: aload_2 - 62: iload_3 - 63: iload 4 - 65: invokevirtual #17 // Method initialize:(Landroid/util/AttributeSet;II)V - 68: return - LineNumberTable: - line 338: 0 - line 243: 9 - line 255: 14 - line 256: 19 - line 290: 24 - line 291: 31 - line 309: 36 - line 316: 48 - line 339: 60 - line 340: 68 - LocalVariableTable: - Start Length Slot Name Signature - 0 69 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 69 1 context Landroid/content/Context; - 0 69 2 attrs Landroid/util/AttributeSet; - 0 69 3 defStyleAttr I - 0 69 4 defStyleRes I - - public T getComponent(java.lang.Class); - descriptor: (Ljava/lang/Class;)Lio/github/rosemoe/sora/widget/component/EditorBuiltinComponent; - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: aload_1 - 1: ldc #18 // class io/github/rosemoe/sora/widget/component/EditorAutoCompletion - 3: if_acmpne 11 - 6: aload_0 - 7: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 10: areturn - 11: aload_1 - 12: ldc #20 // class io/github/rosemoe/sora/widget/component/Magnifier - 14: if_acmpne 25 - 17: aload_0 - 18: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 21: getfield #22 // Field io/github/rosemoe/sora/widget/EditorTouchEventHandler.mMagnifier:Lio/github/rosemoe/sora/widget/component/Magnifier; - 24: areturn - 25: aload_1 - 26: ldc #23 // class io/github/rosemoe/sora/widget/component/EditorTextActionWindow - 28: if_acmpne 36 - 31: aload_0 - 32: getfield #24 // Field mTextActionWindow:Lio/github/rosemoe/sora/widget/component/EditorTextActionWindow; - 35: areturn - 36: new #25 // class java/lang/IllegalArgumentException - 39: dup - 40: ldc #26 // String Unknown component type - 42: invokespecial #27 // Method java/lang/IllegalArgumentException."":(Ljava/lang/String;)V - 45: athrow - LineNumberTable: - line 350: 0 - line 351: 6 - line 352: 11 - line 353: 17 - line 354: 25 - line 355: 31 - line 357: 36 - LocalVariableTable: - Start Length Slot Name Signature - 0 46 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 46 1 clazz Ljava/lang/Class; - LocalVariableTypeTable: - Start Length Slot Name Signature - 0 46 1 clazz Ljava/lang/Class; - StackMapTable: number_of_entries = 3 - frame_type = 11 /* same */ - frame_type = 13 /* same */ - frame_type = 10 /* same */ - Signature: #955 // (Ljava/lang/Class;)TT; - RuntimeInvisibleAnnotations: - 0: #957() - androidx.annotation.NonNull - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #957() - androidx.annotation.NonNull - - public void replaceComponent(java.lang.Class, T); - descriptor: (Ljava/lang/Class;Lio/github/rosemoe/sora/widget/component/EditorBuiltinComponent;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=5, args_size=3 - 0: aload_0 - 1: aload_1 - 2: invokevirtual #28 // Method getComponent:(Ljava/lang/Class;)Lio/github/rosemoe/sora/widget/component/EditorBuiltinComponent; - 5: astore_3 - 6: aload_3 - 7: invokeinterface #29, 1 // InterfaceMethod io/github/rosemoe/sora/widget/component/EditorBuiltinComponent.isEnabled:()Z - 12: istore 4 - 14: aload_3 - 15: iconst_0 - 16: invokeinterface #30, 2 // InterfaceMethod io/github/rosemoe/sora/widget/component/EditorBuiltinComponent.setEnabled:(Z)V - 21: aload_1 - 22: ldc #18 // class io/github/rosemoe/sora/widget/component/EditorAutoCompletion - 24: if_acmpne 38 - 27: aload_0 - 28: aload_2 - 29: checkcast #18 // class io/github/rosemoe/sora/widget/component/EditorAutoCompletion - 32: putfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 35: goto 85 - 38: aload_1 - 39: ldc #20 // class io/github/rosemoe/sora/widget/component/Magnifier - 41: if_acmpne 58 - 44: aload_0 - 45: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 48: aload_2 - 49: checkcast #20 // class io/github/rosemoe/sora/widget/component/Magnifier - 52: putfield #22 // Field io/github/rosemoe/sora/widget/EditorTouchEventHandler.mMagnifier:Lio/github/rosemoe/sora/widget/component/Magnifier; - 55: goto 85 - 58: aload_1 - 59: ldc #23 // class io/github/rosemoe/sora/widget/component/EditorTextActionWindow - 61: if_acmpne 75 - 64: aload_0 - 65: aload_2 - 66: checkcast #23 // class io/github/rosemoe/sora/widget/component/EditorTextActionWindow - 69: putfield #24 // Field mTextActionWindow:Lio/github/rosemoe/sora/widget/component/EditorTextActionWindow; - 72: goto 85 - 75: new #25 // class java/lang/IllegalArgumentException - 78: dup - 79: ldc #26 // String Unknown component type - 81: invokespecial #27 // Method java/lang/IllegalArgumentException."":(Ljava/lang/String;)V - 84: athrow - 85: aload_2 - 86: iload 4 - 88: invokeinterface #30, 2 // InterfaceMethod io/github/rosemoe/sora/widget/component/EditorBuiltinComponent.setEnabled:(Z)V - 93: return - LineNumberTable: - line 370: 0 - line 371: 6 - line 372: 14 - line 373: 21 - line 374: 27 - line 375: 38 - line 376: 44 - line 377: 58 - line 378: 64 - line 380: 75 - line 382: 85 - line 383: 93 - LocalVariableTable: - Start Length Slot Name Signature - 0 94 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 94 1 clazz Ljava/lang/Class; - 0 94 2 replacement Lio/github/rosemoe/sora/widget/component/EditorBuiltinComponent; - 6 88 3 old Lio/github/rosemoe/sora/widget/component/EditorBuiltinComponent; - 14 80 4 isEnabled Z - LocalVariableTypeTable: - Start Length Slot Name Signature - 0 94 1 clazz Ljava/lang/Class; - 0 94 2 replacement TT; - 6 88 3 old TT; - StackMapTable: number_of_entries = 4 - frame_type = 253 /* append */ - offset_delta = 38 - locals = [ class io/github/rosemoe/sora/widget/component/EditorBuiltinComponent, int ] - frame_type = 19 /* same */ - frame_type = 16 /* same */ - frame_type = 9 /* same */ - Signature: #967 // (Ljava/lang/Class;TT;)V - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #957() - androidx.annotation.NonNull - parameter 1: - 0: #957() - androidx.annotation.NonNull - - public io.github.rosemoe.sora.widget.KeyMetaStates getKeyMetaStates(); - descriptor: ()Lio/github/rosemoe/sora/widget/KeyMetaStates; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #16 // Field mKeyEventHandler:Lio/github/rosemoe/sora/widget/EditorKeyEventHandler; - 4: invokevirtual #31 // Method io/github/rosemoe/sora/widget/EditorKeyEventHandler.getKeyMetaStates:()Lio/github/rosemoe/sora/widget/KeyMetaStates; - 7: areturn - LineNumberTable: - line 389: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - static boolean hasVisibleRegion(int, int, int, int); - descriptor: (IIII)Z - flags: (0x0008) ACC_STATIC - Code: - stack=2, locals=4, args_size=4 - 0: iload_1 - 1: iload_2 - 2: if_icmple 14 - 5: iload_0 - 6: iload_3 - 7: if_icmpge 14 - 10: iconst_1 - 11: goto 15 - 14: iconst_0 - 15: ireturn - LineNumberTable: - line 402: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 16 0 begin I - 0 16 1 end I - 0 16 2 first I - 0 16 3 last I - StackMapTable: number_of_entries = 2 - frame_type = 14 /* same */ - frame_type = 64 /* same_locals_1_stack_item */ - stack = [ int ] - - protected void cancelAnimation(); - descriptor: ()V - flags: (0x0004) ACC_PROTECTED - Code: - stack=3, locals=1, args_size=1 - 0: aload_0 - 1: invokestatic #32 // Method java/lang/System.currentTimeMillis:()J - 4: putfield #10 // Field mLastMakeVisible:J - 7: return - LineNumberTable: - line 409: 0 - line 410: 7 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public float measureTextRegionOffset(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=1, args_size=1 - 0: aload_0 - 1: invokevirtual #33 // Method isLineNumberEnabled:()Z - 4: ifeq 26 - 7: aload_0 - 8: invokevirtual #34 // Method measureLineNumber:()F - 11: aload_0 - 12: getfield #35 // Field mDividerMargin:F - 15: fconst_2 - 16: fmul - 17: fadd - 18: aload_0 - 19: getfield #36 // Field mDividerWidth:F - 22: fadd - 23: goto 33 - 26: aload_0 - 27: getfield #37 // Field mDpUnit:F - 30: ldc #38 // float 5.0f - 32: fmul - 33: freturn - LineNumberTable: - line 418: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 34 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 2 - frame_type = 26 /* same */ - frame_type = 70 /* same_locals_1_stack_item */ - stack = [ float ] - - public io.github.rosemoe.sora.widget.style.SelectionHandleStyle$HandleDescriptor getLeftHandleDescriptor(); - descriptor: ()Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #39 // Field mLeftHandle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - 4: areturn - LineNumberTable: - line 427: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public io.github.rosemoe.sora.widget.style.SelectionHandleStyle$HandleDescriptor getRightHandleDescriptor(); - descriptor: ()Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #40 // Field mRightHandle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - 4: areturn - LineNumberTable: - line 436: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public float getOffset(int, int); - descriptor: (II)F - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=3, args_size=3 - 0: aload_0 - 1: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 4: iload_1 - 5: iload_2 - 6: invokeinterface #42, 3 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getCharLayoutOffset:(II)[F - 11: iconst_1 - 12: faload - 13: aload_0 - 14: invokevirtual #43 // Method measureTextRegionOffset:()F - 17: fadd - 18: aload_0 - 19: invokevirtual #44 // Method getOffsetX:()I - 22: i2f - 23: fsub - 24: freturn - LineNumberTable: - line 447: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 25 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 25 1 line I - 0 25 2 column I - - public float getCharOffsetX(int, int); - descriptor: (II)F - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=3, args_size=3 - 0: aload_0 - 1: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 4: iload_1 - 5: iload_2 - 6: invokeinterface #42, 3 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getCharLayoutOffset:(II)[F - 11: iconst_1 - 12: faload - 13: aload_0 - 14: invokevirtual #43 // Method measureTextRegionOffset:()F - 17: fadd - 18: aload_0 - 19: invokevirtual #44 // Method getOffsetX:()I - 22: i2f - 23: fsub - 24: freturn - LineNumberTable: - line 458: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 25 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 25 1 line I - 0 25 2 column I - - public float getCharOffsetY(int, int); - descriptor: (II)F - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=3, args_size=3 - 0: aload_0 - 1: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 4: iload_1 - 5: iload_2 - 6: invokeinterface #42, 3 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getCharLayoutOffset:(II)[F - 11: iconst_0 - 12: faload - 13: aload_0 - 14: invokevirtual #45 // Method getOffsetY:()I - 17: i2f - 18: fsub - 19: freturn - LineNumberTable: - line 469: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 20 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 20 1 line I - 0 20 2 column I - - public void setCompletionWndPositionMode(int); - descriptor: (I)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #182 // Field mCompletionPosMode:I - 5: aload_0 - 6: invokevirtual #183 // Method updateCompletionWindowPosition:()V - 9: return - LineNumberTable: - line 581: 0 - line 582: 5 - line 583: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 mode I - - public int getCompletionWndPositionMode(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #182 // Field mCompletionPosMode:I - 4: ireturn - LineNumberTable: - line 589: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public io.github.rosemoe.sora.widget.DirectAccessProps getProps(); - descriptor: ()Lio/github/rosemoe/sora/widget/DirectAccessProps; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 4: areturn - LineNumberTable: - line 598: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setFormatTip(java.lang.String); - descriptor: (Ljava/lang/String;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: aload_1 - 2: invokestatic #184 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; - 5: checkcast #185 // class java/lang/String - 8: putfield #84 // Field mFormatTip:Ljava/lang/String; - 11: return - LineNumberTable: - line 605: 0 - line 606: 11 - LocalVariableTable: - Start Length Slot Name Signature - 0 12 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 12 1 formatTip Ljava/lang/String; - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #957() - androidx.annotation.NonNull - - public java.lang.String getFormatTip(); - descriptor: ()Ljava/lang/String; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #84 // Field mFormatTip:Ljava/lang/String; - 4: areturn - LineNumberTable: - line 612: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setPinLineNumber(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #186 // Field mPinLineNumber:Z - 5: aload_0 - 6: invokevirtual #33 // Method isLineNumberEnabled:()Z - 9: ifeq 16 - 12: aload_0 - 13: invokevirtual #187 // Method invalidate:()V - 16: return - LineNumberTable: - line 621: 0 - line 622: 5 - line 623: 12 - line 625: 16 - LocalVariableTable: - Start Length Slot Name Signature - 0 17 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 17 1 pinLineNumber Z - StackMapTable: number_of_entries = 1 - frame_type = 16 /* same */ - - public boolean isLineNumberPinned(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #186 // Field mPinLineNumber:Z - 4: ireturn - LineNumberTable: - line 631: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setFirstLineNumberAlwaysVisible(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #188 // Field mFirstLineNumberAlwaysVisible:Z - 5: aload_0 - 6: invokevirtual #189 // Method isWordwrap:()Z - 9: ifeq 16 - 12: aload_0 - 13: invokevirtual #187 // Method invalidate:()V - 16: return - LineNumberTable: - line 640: 0 - line 641: 5 - line 642: 12 - line 644: 16 - LocalVariableTable: - Start Length Slot Name Signature - 0 17 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 17 1 enabled Z - StackMapTable: number_of_entries = 1 - frame_type = 16 /* same */ - - public boolean isFirstLineNumberAlwaysVisible(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #188 // Field mFirstLineNumberAlwaysVisible:Z - 4: ireturn - LineNumberTable: - line 650: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void insertText(java.lang.String, int); - descriptor: (Ljava/lang/String;I)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=5, args_size=3 - 0: iload_2 - 1: iflt 12 - 4: iload_2 - 5: aload_1 - 6: invokevirtual #190 // Method java/lang/String.length:()I - 9: if_icmple 22 - 12: new #25 // class java/lang/IllegalArgumentException - 15: dup - 16: ldc #191 // String selectionOffset is invalid - 18: invokespecial #27 // Method java/lang/IllegalArgumentException."":(Ljava/lang/String;)V - 21: athrow - 22: aload_0 - 23: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 26: invokevirtual #193 // Method io/github/rosemoe/sora/text/Content.getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 29: astore_3 - 30: aload_3 - 31: invokevirtual #194 // Method io/github/rosemoe/sora/text/Cursor.isSelected:()Z - 34: ifeq 45 - 37: aload_0 - 38: invokevirtual #195 // Method deleteText:()V - 41: aload_0 - 42: invokevirtual #196 // Method notifyIMEExternalCursorChange:()V - 45: aload_0 - 46: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 49: aload_3 - 50: invokevirtual #198 // Method io/github/rosemoe/sora/text/Cursor.getRightLine:()I - 53: aload_3 - 54: invokevirtual #199 // Method io/github/rosemoe/sora/text/Cursor.getRightColumn:()I - 57: aload_1 - 58: invokevirtual #200 // Method io/github/rosemoe/sora/text/Content.insert:(IILjava/lang/CharSequence;)V - 61: aload_0 - 62: invokevirtual #196 // Method notifyIMEExternalCursorChange:()V - 65: iload_2 - 66: aload_1 - 67: invokevirtual #190 // Method java/lang/String.length:()I - 70: if_icmpeq 112 - 73: aload_0 - 74: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 77: invokevirtual #201 // Method io/github/rosemoe/sora/text/Content.getIndexer:()Lio/github/rosemoe/sora/text/Indexer; - 80: aload_3 - 81: invokevirtual #202 // Method io/github/rosemoe/sora/text/Cursor.getRight:()I - 84: aload_1 - 85: invokevirtual #190 // Method java/lang/String.length:()I - 88: iload_2 - 89: isub - 90: isub - 91: invokeinterface #203, 2 // InterfaceMethod io/github/rosemoe/sora/text/Indexer.getCharPosition:(I)Lio/github/rosemoe/sora/text/CharPosition; - 96: astore 4 - 98: aload_0 - 99: aload 4 - 101: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 104: aload 4 - 106: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 109: invokevirtual #206 // Method setSelection:(II)V - 112: return - LineNumberTable: - line 665: 0 - line 666: 12 - line 668: 22 - line 669: 30 - line 670: 37 - line 671: 41 - line 673: 45 - line 674: 61 - line 675: 65 - line 676: 73 - line 677: 98 - line 679: 112 - LocalVariableTable: - Start Length Slot Name Signature - 98 14 4 pos Lio/github/rosemoe/sora/text/CharPosition; - 0 113 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 113 1 text Ljava/lang/String; - 0 113 2 selectionOffset I - 30 83 3 cur Lio/github/rosemoe/sora/text/Cursor; - StackMapTable: number_of_entries = 4 - frame_type = 12 /* same */ - frame_type = 9 /* same */ - frame_type = 252 /* append */ - offset_delta = 22 - locals = [ class io/github/rosemoe/sora/text/Cursor ] - frame_type = 251 /* same_frame_extended */ - offset_delta = 66 - - public void setAutoCompletionItemAdapter(io.github.rosemoe.sora.widget.component.EditorCompletionAdapter); - descriptor: (Lio/github/rosemoe/sora/widget/component/EditorCompletionAdapter;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 4: aload_1 - 5: invokevirtual #207 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.setAdapter:(Lio/github/rosemoe/sora/widget/component/EditorCompletionAdapter;)V - 8: return - LineNumberTable: - line 688: 0 - line 689: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 9 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 9 1 adapter Lio/github/rosemoe/sora/widget/component/EditorCompletionAdapter; - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #1030() - androidx.annotation.Nullable - - public void setCursorBlinkPeriod(int); - descriptor: (I)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=5, locals=3, args_size=2 - 0: aload_0 - 1: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 4: ifnonnull 23 - 7: aload_0 - 8: new #209 // class io/github/rosemoe/sora/widget/CursorBlink - 11: dup - 12: aload_0 - 13: iload_1 - 14: invokespecial #210 // Method io/github/rosemoe/sora/widget/CursorBlink."":(Lio/github/rosemoe/sora/widget/CodeEditor;I)V - 17: putfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 20: goto 69 - 23: aload_0 - 24: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 27: getfield #211 // Field io/github/rosemoe/sora/widget/CursorBlink.period:I - 30: istore_2 - 31: aload_0 - 32: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 35: iload_1 - 36: invokevirtual #212 // Method io/github/rosemoe/sora/widget/CursorBlink.setPeriod:(I)V - 39: iload_2 - 40: ifgt 69 - 43: aload_0 - 44: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 47: getfield #213 // Field io/github/rosemoe/sora/widget/CursorBlink.valid:Z - 50: ifeq 69 - 53: aload_0 - 54: invokevirtual #214 // Method isAttachedToWindow:()Z - 57: ifeq 69 - 60: aload_0 - 61: aload_0 - 62: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 65: invokevirtual #215 // Method post:(Ljava/lang/Runnable;)Z - 68: pop - 69: return - LineNumberTable: - line 698: 0 - line 699: 7 - line 701: 23 - line 702: 31 - line 703: 39 - line 704: 60 - line 707: 69 - LocalVariableTable: - Start Length Slot Name Signature - 31 38 2 before I - 0 70 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 70 1 period I - StackMapTable: number_of_entries = 2 - frame_type = 23 /* same */ - frame_type = 45 /* same */ - - protected io.github.rosemoe.sora.widget.CursorBlink getCursorBlink(); - descriptor: ()Lio/github/rosemoe/sora/widget/CursorBlink; - flags: (0x0004) ACC_PROTECTED - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 4: areturn - LineNumberTable: - line 710: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setLigatureEnabled(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #216 // Field mLigatureEnabled:Z - 5: aload_0 - 6: iload_1 - 7: ifeq 14 - 10: aconst_null - 11: goto 16 - 14: ldc #217 // String \'liga\' 0,\'calt\' 0,\'hlig\' 0,\'dlig\' 0,\'clig\' 0 - 16: invokevirtual #218 // Method setFontFeatureSettings:(Ljava/lang/String;)V - 19: return - LineNumberTable: - line 727: 0 - line 728: 5 - line 729: 19 - LocalVariableTable: - Start Length Slot Name Signature - 0 20 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 20 1 enabled Z - StackMapTable: number_of_entries = 2 - frame_type = 78 /* same_locals_1_stack_item */ - stack = [ class io/github/rosemoe/sora/widget/CodeEditor ] - frame_type = 255 /* full_frame */ - offset_delta = 1 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int ] - stack = [ class io/github/rosemoe/sora/widget/CodeEditor, class java/lang/String ] - - public boolean isLigatureEnabled(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #216 // Field mLigatureEnabled:Z - 4: ireturn - LineNumberTable: - line 735: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setFontFeatureSettings(java.lang.String); - descriptor: (Ljava/lang/String;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #113 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - 7: aload_1 - 8: invokevirtual #219 // Method io/github/rosemoe/sora/graphics/Paint.setFontFeatureSettingsWrapped:(Ljava/lang/String;)V - 11: aload_0 - 12: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 15: invokevirtual #220 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaintOther:()Lio/github/rosemoe/sora/graphics/Paint; - 18: aload_1 - 19: invokevirtual #221 // Method io/github/rosemoe/sora/graphics/Paint.setFontFeatureSettings:(Ljava/lang/String;)V - 22: aload_0 - 23: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 26: invokevirtual #222 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaintGraph:()Lio/github/rosemoe/sora/graphics/Paint; - 29: aload_1 - 30: invokevirtual #221 // Method io/github/rosemoe/sora/graphics/Paint.setFontFeatureSettings:(Ljava/lang/String;)V - 33: aload_0 - 34: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 37: invokevirtual #223 // Method io/github/rosemoe/sora/widget/EditorPainter.updateTimestamp:()V - 40: aload_0 - 41: invokevirtual #187 // Method invalidate:()V - 44: return - LineNumberTable: - line 744: 0 - line 745: 11 - line 746: 22 - line 747: 33 - line 748: 40 - line 749: 44 - LocalVariableTable: - Start Length Slot Name Signature - 0 45 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 45 1 features Ljava/lang/String; - - public void setSelectionHandleStyle(io.github.rosemoe.sora.widget.style.SelectionHandleStyle); - descriptor: (Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: aload_1 - 2: invokestatic #184 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; - 5: checkcast #224 // class io/github/rosemoe/sora/widget/style/SelectionHandleStyle - 8: putfield #99 // Field mHandleStyle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle; - 11: aload_0 - 12: invokevirtual #187 // Method invalidate:()V - 15: return - LineNumberTable: - line 759: 0 - line 760: 11 - line 761: 15 - LocalVariableTable: - Start Length Slot Name Signature - 0 16 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 16 1 style Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle; - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #957() - androidx.annotation.NonNull - - public io.github.rosemoe.sora.widget.style.SelectionHandleStyle getHandleStyle(); - descriptor: ()Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #99 // Field mHandleStyle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle; - 4: areturn - LineNumberTable: - line 765: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - RuntimeInvisibleAnnotations: - 0: #957() - androidx.annotation.NonNull - - public boolean isHighlightCurrentBlock(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #225 // Field mHighlightCurrentBlock:Z - 4: ireturn - LineNumberTable: - line 775: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setHighlightCurrentBlock(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #225 // Field mHighlightCurrentBlock:Z - 5: aload_0 - 6: getfield #225 // Field mHighlightCurrentBlock:Z - 9: ifne 20 - 12: aload_0 - 13: iconst_m1 - 14: putfield #146 // Field mCursorPosition:I - 17: goto 28 - 20: aload_0 - 21: aload_0 - 22: invokevirtual #226 // Method findCursorBlock:()I - 25: putfield #146 // Field mCursorPosition:I - 28: aload_0 - 29: invokevirtual #187 // Method invalidate:()V - 32: return - LineNumberTable: - line 786: 0 - line 787: 5 - line 788: 12 - line 790: 20 - line 792: 28 - line 793: 32 - LocalVariableTable: - Start Length Slot Name Signature - 0 33 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 33 1 highlightCurrentBlock Z - StackMapTable: number_of_entries = 2 - frame_type = 20 /* same */ - frame_type = 7 /* same */ - - public boolean isStickyTextSelection(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #227 // Field mStickyTextSelection:Z - 4: ireturn - LineNumberTable: - line 801: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setStickyTextSelection(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #227 // Field mStickyTextSelection:Z - 5: return - LineNumberTable: - line 810: 0 - line 811: 5 - LocalVariableTable: - Start Length Slot Name Signature - 0 6 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 6 1 stickySelection Z - - public void setHighlightCurrentLine(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #228 // Field mHighlightCurrentLine:Z - 5: aload_0 - 6: invokevirtual #187 // Method invalidate:()V - 9: return - LineNumberTable: - line 818: 0 - line 819: 5 - line 820: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 highlightCurrentLine Z - - public boolean isHighlightCurrentLine(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #228 // Field mHighlightCurrentLine:Z - 4: ireturn - LineNumberTable: - line 826: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public io.github.rosemoe.sora.lang.Language getEditorLanguage(); - descriptor: ()Lio/github/rosemoe/sora/lang/Language; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 4: areturn - LineNumberTable: - line 836: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - RuntimeInvisibleAnnotations: - 0: #957() - androidx.annotation.NonNull - - public void setEditorLanguage(io.github.rosemoe.sora.lang.Language); - descriptor: (Lio/github/rosemoe/sora/lang/Language;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=4, args_size=2 - 0: aload_1 - 1: ifnonnull 12 - 4: new #230 // class io/github/rosemoe/sora/lang/EmptyLanguage - 7: dup - 8: invokespecial #231 // Method io/github/rosemoe/sora/lang/EmptyLanguage."":()V - 11: astore_1 - 12: aload_0 - 13: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 16: astore_2 - 17: aload_2 - 18: ifnull 50 - 21: aload_2 - 22: invokeinterface #232, 1 // InterfaceMethod io/github/rosemoe/sora/lang/Language.getAnalyzeManager:()Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - 27: aconst_null - 28: invokeinterface #233, 2 // InterfaceMethod io/github/rosemoe/sora/lang/analysis/AnalyzeManager.setReceiver:(Lio/github/rosemoe/sora/lang/analysis/StyleReceiver;)V - 33: aload_2 - 34: invokeinterface #232, 1 // InterfaceMethod io/github/rosemoe/sora/lang/Language.getAnalyzeManager:()Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - 39: invokeinterface #234, 1 // InterfaceMethod io/github/rosemoe/sora/lang/analysis/AnalyzeManager.destroy:()V - 44: aload_2 - 45: invokeinterface #235, 1 // InterfaceMethod io/github/rosemoe/sora/lang/Language.destroy:()V - 50: aload_0 - 51: getfield #58 // Field mStyleDelegate:Lio/github/rosemoe/sora/widget/EditorStyleDelegate; - 54: invokevirtual #236 // Method io/github/rosemoe/sora/widget/EditorStyleDelegate.reset:()V - 57: aload_0 - 58: aload_1 - 59: putfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 62: aload_0 - 63: aconst_null - 64: putfield #237 // Field mStyles:Lio/github/rosemoe/sora/lang/styling/Styles; - 67: aload_0 - 68: aconst_null - 69: putfield #238 // Field mDiagnostics:Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - 72: aload_0 - 73: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 76: ifnull 86 - 79: aload_0 - 80: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 83: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 86: aload_1 - 87: invokeinterface #232, 1 // InterfaceMethod io/github/rosemoe/sora/lang/Language.getAnalyzeManager:()Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - 92: astore_3 - 93: aload_3 - 94: aload_0 - 95: getfield #58 // Field mStyleDelegate:Lio/github/rosemoe/sora/widget/EditorStyleDelegate; - 98: invokeinterface #233, 2 // InterfaceMethod io/github/rosemoe/sora/lang/analysis/AnalyzeManager.setReceiver:(Lio/github/rosemoe/sora/lang/analysis/StyleReceiver;)V - 103: aload_0 - 104: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 107: ifnull 131 - 110: aload_3 - 111: new #240 // class io/github/rosemoe/sora/text/ContentReference - 114: dup - 115: aload_0 - 116: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 119: invokespecial #241 // Method io/github/rosemoe/sora/text/ContentReference."":(Lio/github/rosemoe/sora/text/Content;)V - 122: aload_0 - 123: getfield #242 // Field mExtraArguments:Landroid/os/Bundle; - 126: invokeinterface #243, 3 // InterfaceMethod io/github/rosemoe/sora/lang/analysis/AnalyzeManager.reset:(Lio/github/rosemoe/sora/text/ContentReference;Landroid/os/Bundle;)V - 131: aload_0 - 132: getfield #244 // Field mLanguageSymbolPairs:Lio/github/rosemoe/sora/widget/SymbolPairMatch; - 135: ifnull 146 - 138: aload_0 - 139: getfield #244 // Field mLanguageSymbolPairs:Lio/github/rosemoe/sora/widget/SymbolPairMatch; - 142: aconst_null - 143: invokevirtual #245 // Method io/github/rosemoe/sora/widget/SymbolPairMatch.setParent:(Lio/github/rosemoe/sora/widget/SymbolPairMatch;)V - 146: aload_0 - 147: aload_0 - 148: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 151: invokeinterface #246, 1 // InterfaceMethod io/github/rosemoe/sora/lang/Language.getSymbolPairs:()Lio/github/rosemoe/sora/widget/SymbolPairMatch; - 156: putfield #244 // Field mLanguageSymbolPairs:Lio/github/rosemoe/sora/widget/SymbolPairMatch; - 159: aload_0 - 160: getfield #244 // Field mLanguageSymbolPairs:Lio/github/rosemoe/sora/widget/SymbolPairMatch; - 163: ifnonnull 213 - 166: ldc #47 // String CodeEditor - 168: new #247 // class java/lang/StringBuilder - 171: dup - 172: invokespecial #248 // Method java/lang/StringBuilder."":()V - 175: ldc #249 // String Language( - 177: invokevirtual #250 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; - 180: aload_0 - 181: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 184: invokevirtual #251 // Method java/lang/Object.toString:()Ljava/lang/String; - 187: invokevirtual #250 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; - 190: ldc #252 // String ) returned null for symbol pairs. It is a mistake. - 192: invokevirtual #250 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; - 195: invokevirtual #253 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; - 198: invokestatic #254 // Method android/util/Log.w:(Ljava/lang/String;Ljava/lang/String;)I - 201: pop - 202: aload_0 - 203: new #255 // class io/github/rosemoe/sora/widget/SymbolPairMatch - 206: dup - 207: invokespecial #256 // Method io/github/rosemoe/sora/widget/SymbolPairMatch."":()V - 210: putfield #244 // Field mLanguageSymbolPairs:Lio/github/rosemoe/sora/widget/SymbolPairMatch; - 213: aload_0 - 214: getfield #244 // Field mLanguageSymbolPairs:Lio/github/rosemoe/sora/widget/SymbolPairMatch; - 217: aload_0 - 218: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 221: getfield #257 // Field io/github/rosemoe/sora/widget/DirectAccessProps.overrideSymbolPairs:Lio/github/rosemoe/sora/widget/SymbolPairMatch; - 224: invokevirtual #245 // Method io/github/rosemoe/sora/widget/SymbolPairMatch.setParent:(Lio/github/rosemoe/sora/widget/SymbolPairMatch;)V - 227: aload_0 - 228: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 231: invokevirtual #258 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateHwRenderer:()V - 234: aload_0 - 235: invokevirtual #187 // Method invalidate:()V - 238: return - LineNumberTable: - line 846: 0 - line 847: 4 - line 851: 12 - line 852: 17 - line 853: 21 - line 854: 33 - line 855: 44 - line 858: 50 - line 859: 57 - line 860: 62 - line 861: 67 - line 863: 72 - line 864: 79 - line 867: 86 - line 868: 93 - line 869: 103 - line 870: 110 - line 874: 131 - line 875: 138 - line 877: 146 - line 878: 159 - line 879: 166 - line 880: 202 - line 882: 213 - line 884: 227 - line 885: 234 - line 886: 238 - LocalVariableTable: - Start Length Slot Name Signature - 0 239 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 239 1 lang Lio/github/rosemoe/sora/lang/Language; - 17 222 2 old Lio/github/rosemoe/sora/lang/Language; - 93 146 3 mgr Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - StackMapTable: number_of_entries = 6 - frame_type = 12 /* same */ - frame_type = 252 /* append */ - offset_delta = 37 - locals = [ class io/github/rosemoe/sora/lang/Language ] - frame_type = 35 /* same */ - frame_type = 252 /* append */ - offset_delta = 44 - locals = [ class io/github/rosemoe/sora/lang/analysis/AnalyzeManager ] - frame_type = 14 /* same */ - frame_type = 251 /* same_frame_extended */ - offset_delta = 66 - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #1030() - androidx.annotation.Nullable - - protected boolean canHandleKeyBinding(int, boolean, boolean, boolean); - descriptor: (IZZZ)Z - flags: (0x0004) ACC_PROTECTED - Code: - stack=2, locals=5, args_size=5 - 0: iload_2 - 1: ifeq 67 - 4: iload_3 - 5: ifne 67 - 8: iload 4 - 10: ifeq 67 - 13: iload_1 - 14: bipush 29 - 16: if_icmpeq 61 - 19: iload_1 - 20: bipush 31 - 22: if_icmpeq 61 - 25: iload_1 - 26: bipush 52 - 28: if_icmpeq 61 - 31: iload_1 - 32: bipush 50 - 34: if_icmpeq 61 - 37: iload_1 - 38: bipush 49 - 40: if_icmpeq 61 - 43: iload_1 - 44: bipush 46 - 46: if_icmpeq 61 - 49: iload_1 - 50: bipush 32 - 52: if_icmpeq 61 - 55: iload_1 - 56: bipush 51 - 58: if_icmpne 65 - 61: iconst_1 - 62: goto 66 - 65: iconst_0 - 66: ireturn - 67: iload_3 - 68: ifeq 104 - 71: iload 4 - 73: ifne 104 - 76: iload_2 - 77: ifeq 92 - 80: iload_1 - 81: bipush 38 - 83: if_icmpne 90 - 86: iconst_1 - 87: goto 91 - 90: iconst_0 - 91: ireturn - 92: iload_1 - 93: bipush 66 - 95: if_icmpne 102 - 98: iconst_1 - 99: goto 103 - 102: iconst_0 - 103: ireturn - 104: iconst_0 - 105: ireturn - LineNumberTable: - line 899: 0 - line 900: 13 - line 906: 67 - line 907: 76 - line 909: 80 - line 912: 92 - line 916: 104 - LocalVariableTable: - Start Length Slot Name Signature - 0 106 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 106 1 keyCode I - 0 106 2 ctrlPressed Z - 0 106 3 shiftPressed Z - 0 106 4 altPressed Z - StackMapTable: number_of_entries = 10 - frame_type = 61 /* same */ - frame_type = 3 /* same */ - frame_type = 64 /* same_locals_1_stack_item */ - stack = [ int ] - frame_type = 0 /* same */ - frame_type = 22 /* same */ - frame_type = 64 /* same_locals_1_stack_item */ - stack = [ int ] - frame_type = 0 /* same */ - frame_type = 9 /* same */ - frame_type = 64 /* same_locals_1_stack_item */ - stack = [ int ] - frame_type = 0 /* same */ - - public float getBlockLineWidth(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #136 // Field mBlockLineWidth:F - 4: freturn - LineNumberTable: - line 926: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setBlockLineWidth(float); - descriptor: (F)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: fload_1 - 2: putfield #136 // Field mBlockLineWidth:F - 5: aload_0 - 6: invokevirtual #187 // Method invalidate:()V - 9: return - LineNumberTable: - line 935: 0 - line 936: 5 - line 937: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 dp F - - public boolean isWordwrap(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #260 // Field mWordwrap:Z - 4: ireturn - LineNumberTable: - line 943: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setWordwrap(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: getfield #260 // Field mWordwrap:Z - 4: iload_1 - 5: if_icmpeq 32 - 8: aload_0 - 9: iload_1 - 10: putfield #260 // Field mWordwrap:Z - 13: aload_0 - 14: invokevirtual #261 // Method createLayout:()V - 17: iload_1 - 18: ifne 28 - 21: aload_0 - 22: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 25: invokevirtual #258 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateHwRenderer:()V - 28: aload_0 - 29: invokevirtual #187 // Method invalidate:()V - 32: return - LineNumberTable: - line 952: 0 - line 953: 8 - line 954: 13 - line 955: 17 - line 956: 21 - line 958: 28 - line 960: 32 - LocalVariableTable: - Start Length Slot Name Signature - 0 33 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 33 1 wordwrap Z - StackMapTable: number_of_entries = 2 - frame_type = 28 /* same */ - frame_type = 3 /* same */ - - public void setCursorAnimationEnabled(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: iload_1 - 1: ifne 13 - 4: aload_0 - 5: getfield #105 // Field mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - 8: invokeinterface #262, 1 // InterfaceMethod io/github/rosemoe/sora/widget/style/CursorAnimator.cancel:()V - 13: aload_0 - 14: iload_1 - 15: putfield #263 // Field mCursorAnimation:Z - 18: return - LineNumberTable: - line 966: 0 - line 967: 4 - line 969: 13 - line 970: 18 - LocalVariableTable: - Start Length Slot Name Signature - 0 19 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 19 1 enabled Z - StackMapTable: number_of_entries = 1 - frame_type = 13 /* same */ - - public boolean isCursorAnimationEnabled(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #263 // Field mCursorAnimation:Z - 4: ireturn - LineNumberTable: - line 976: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setCursorAnimator(io.github.rosemoe.sora.widget.style.CursorAnimator); - descriptor: (Lio/github/rosemoe/sora/widget/style/CursorAnimator;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: aload_1 - 2: putfield #105 // Field mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - 5: return - LineNumberTable: - line 987: 0 - line 988: 5 - LocalVariableTable: - Start Length Slot Name Signature - 0 6 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 6 1 cursorAnimator Lio/github/rosemoe/sora/widget/style/CursorAnimator; - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #957() - androidx.annotation.NonNull - - public io.github.rosemoe.sora.widget.style.CursorAnimator getCursorAnimator(); - descriptor: ()Lio/github/rosemoe/sora/widget/style/CursorAnimator; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #105 // Field mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - 4: areturn - LineNumberTable: - line 994: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setScrollBarEnabled(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=2, args_size=2 - 0: aload_0 - 1: aload_0 - 2: iload_1 - 3: dup_x1 - 4: putfield #264 // Field mHorizontalScrollBarEnabled:Z - 7: putfield #265 // Field mVerticalScrollBarEnabled:Z - 10: aload_0 - 11: invokevirtual #187 // Method invalidate:()V - 14: return - LineNumberTable: - line 1003: 0 - line 1004: 10 - line 1005: 14 - LocalVariableTable: - Start Length Slot Name Signature - 0 15 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 15 1 enabled Z - - public boolean isDisplayLnPanel(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #266 // Field mDisplayLnPanel:Z - 4: ireturn - LineNumberTable: - line 1012: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setDisplayLnPanel(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #266 // Field mDisplayLnPanel:Z - 5: aload_0 - 6: invokevirtual #187 // Method invalidate:()V - 9: return - LineNumberTable: - line 1022: 0 - line 1023: 5 - line 1024: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 displayLnPanel Z - - public java.lang.String getLnTip(); - descriptor: ()Ljava/lang/String; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #82 // Field mLnTip:Ljava/lang/String; - 4: areturn - LineNumberTable: - line 1031: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setLnTip(java.lang.String); - descriptor: (Ljava/lang/String;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_1 - 1: ifnonnull 8 - 4: ldc_w #267 // String - 7: astore_1 - 8: aload_0 - 9: aload_1 - 10: putfield #82 // Field mLnTip:Ljava/lang/String; - 13: aload_0 - 14: invokevirtual #187 // Method invalidate:()V - 17: return - LineNumberTable: - line 1040: 0 - line 1041: 4 - line 1043: 8 - line 1044: 13 - line 1045: 17 - LocalVariableTable: - Start Length Slot Name Signature - 0 18 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 18 1 prefix Ljava/lang/String; - StackMapTable: number_of_entries = 1 - frame_type = 8 /* same */ - - public boolean isHorizontalScrollBarEnabled(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #264 // Field mHorizontalScrollBarEnabled:Z - 4: ireturn - LineNumberTable: - line 1049: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setHorizontalScrollBarEnabled(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #264 // Field mHorizontalScrollBarEnabled:Z - 5: return - LineNumberTable: - line 1054: 0 - line 1055: 5 - LocalVariableTable: - Start Length Slot Name Signature - 0 6 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 6 1 horizontalScrollBarEnabled Z - - public boolean isVerticalScrollBarEnabled(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #265 // Field mVerticalScrollBarEnabled:Z - 4: ireturn - LineNumberTable: - line 1059: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setVerticalScrollBarEnabled(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #265 // Field mVerticalScrollBarEnabled:Z - 5: return - LineNumberTable: - line 1064: 0 - line 1065: 5 - LocalVariableTable: - Start Length Slot Name Signature - 0 6 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 6 1 verticalScrollBarEnabled Z - - public io.github.rosemoe.sora.widget.style.SelectionHandleStyle$HandleDescriptor getInsertHandleDescriptor(); - descriptor: ()Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #130 // Field mInsertHandle:Lio/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor; - 4: areturn - LineNumberTable: - line 1073: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public float getTextSizePx(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #113 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - 7: invokevirtual #114 // Method io/github/rosemoe/sora/graphics/Paint.getTextSize:()F - 10: freturn - LineNumberTable: - line 1085: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 11 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - RuntimeInvisibleAnnotations: - 0: #1098() - androidx.annotation.Px - - public void setTextSizePx(float); - descriptor: (F)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: fload_1 - 2: invokevirtual #268 // Method setTextSizePxDirect:(F)V - 5: aload_0 - 6: invokevirtual #261 // Method createLayout:()V - 9: aload_0 - 10: invokevirtual #187 // Method invalidate:()V - 13: return - LineNumberTable: - line 1094: 0 - line 1095: 5 - line 1096: 9 - line 1097: 13 - LocalVariableTable: - Start Length Slot Name Signature - 0 14 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 14 1 size F - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #1098() - androidx.annotation.Px - - protected void setTextSizePxDirect(float); - descriptor: (F)V - flags: (0x0004) ACC_PROTECTED - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: fload_1 - 5: invokevirtual #269 // Method io/github/rosemoe/sora/widget/EditorPainter.setTextSizePxDirect:(F)V - 8: return - LineNumberTable: - line 1105: 0 - line 1106: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 9 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 9 1 size F - - public io.github.rosemoe.sora.widget.HwAcceleratedRenderer getRenderer(); - descriptor: ()Lio/github/rosemoe/sora/widget/HwAcceleratedRenderer; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #79 // Field mRenderer:Lio/github/rosemoe/sora/widget/HwAcceleratedRenderer; - 4: areturn - LineNumberTable: - line 1109: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public io.github.rosemoe.sora.widget.EditorPainter getEditorPainter(); - descriptor: ()Lio/github/rosemoe/sora/widget/EditorPainter; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: areturn - LineNumberTable: - line 1113: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public android.graphics.Paint$FontMetricsInt getLineNumberMetrics(); - descriptor: ()Landroid/graphics/Paint$FontMetricsInt; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #270 // Method io/github/rosemoe/sora/widget/EditorPainter.getLineNumberMetrics:()Landroid/graphics/Paint$FontMetricsInt; - 7: areturn - LineNumberTable: - line 1117: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - void rememberDisplayedLines(); - descriptor: ()V - flags: (0x0000) - Code: - stack=3, locals=1, args_size=1 - 0: aload_0 - 1: aload_0 - 2: invokevirtual #271 // Method getFirstVisibleLine:()I - 5: aload_0 - 6: invokevirtual #272 // Method getLastVisibleLine:()I - 9: invokestatic #273 // Method io/github/rosemoe/sora/util/IntPair.pack:(II)J - 12: putfield #274 // Field mAvailableFloatArrayRegion:J - 15: return - LineNumberTable: - line 1124: 0 - line 1125: 15 - LocalVariableTable: - Start Length Slot Name Signature - 0 16 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - void buildMeasureCacheForLines(int, int, long, boolean); - descriptor: (IIJZ)V - flags: (0x0000) - Code: - stack=7, locals=9, args_size=5 - 0: aload_0 - 1: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 4: astore 6 - 6: iload_1 - 7: iload_2 - 8: if_icmpgt 158 - 11: iload_1 - 12: aload 6 - 14: invokevirtual #284 // Method io/github/rosemoe/sora/text/Content.getLineCount:()I - 17: if_icmpge 158 - 20: iload 5 - 22: ifeq 36 - 25: aload_0 - 26: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 29: iload_1 - 30: invokevirtual #280 // Method io/github/rosemoe/sora/widget/EditorPainter.getLine:(I)Lio/github/rosemoe/sora/text/ContentLine; - 33: goto 44 - 36: aload_0 - 37: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 40: iload_1 - 41: invokevirtual #281 // Method io/github/rosemoe/sora/text/Content.getLine:(I)Lio/github/rosemoe/sora/text/ContentLine; - 44: astore 7 - 46: aload 7 - 48: getfield #283 // Field io/github/rosemoe/sora/text/ContentLine.timestamp:J - 51: lload_3 - 52: lcmp - 53: ifge 152 - 56: invokestatic #285 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.obtain:()Lio/github/rosemoe/sora/graphics/GraphicTextRow; - 59: astore 8 - 61: aload 7 - 63: getfield #282 // Field io/github/rosemoe/sora/text/ContentLine.widthCache:[F - 66: ifnull 83 - 69: aload 7 - 71: getfield #282 // Field io/github/rosemoe/sora/text/ContentLine.widthCache:[F - 74: arraylength - 75: aload 7 - 77: invokevirtual #286 // Method io/github/rosemoe/sora/text/ContentLine.length:()I - 80: if_icmpge 107 - 83: aload 7 - 85: aload_0 - 86: aload 7 - 88: invokevirtual #286 // Method io/github/rosemoe/sora/text/ContentLine.length:()I - 91: bipush 8 - 93: iadd - 94: bipush 90 - 96: invokestatic #277 // Method java/lang/Math.max:(II)I - 99: iload 5 - 101: invokevirtual #287 // Method obtainFloatArray:(IZ)[F - 104: putfield #282 // Field io/github/rosemoe/sora/text/ContentLine.widthCache:[F - 107: aload 8 - 109: aload 7 - 111: iconst_0 - 112: aload 7 - 114: invokevirtual #286 // Method io/github/rosemoe/sora/text/ContentLine.length:()I - 117: aload_0 - 118: invokevirtual #288 // Method getTabWidth:()I - 121: aload_0 - 122: iload_1 - 123: invokevirtual #289 // Method getSpansForLine:(I)Ljava/util/List; - 126: aload_0 - 127: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 130: invokevirtual #113 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - 133: invokevirtual #290 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.set:(Lio/github/rosemoe/sora/text/ContentLine;IIILjava/util/List;Lio/github/rosemoe/sora/graphics/Paint;)V - 136: aload 8 - 138: invokevirtual #291 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.buildMeasureCache:()V - 141: aload 8 - 143: invokestatic #292 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.recycle:(Lio/github/rosemoe/sora/graphics/GraphicTextRow;)V - 146: aload 7 - 148: lload_3 - 149: putfield #283 // Field io/github/rosemoe/sora/text/ContentLine.timestamp:J - 152: iinc 1, 1 - 155: goto 6 - 158: return - LineNumberTable: - line 1162: 0 - line 1163: 6 - line 1164: 20 - line 1165: 46 - line 1166: 56 - line 1167: 61 - line 1168: 83 - line 1170: 107 - line 1171: 136 - line 1172: 141 - line 1173: 146 - line 1175: 152 - line 1176: 155 - line 1177: 158 - LocalVariableTable: - Start Length Slot Name Signature - 61 91 8 gtr Lio/github/rosemoe/sora/graphics/GraphicTextRow; - 46 109 7 line Lio/github/rosemoe/sora/text/ContentLine; - 0 159 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 159 1 startLine I - 0 159 2 endLine I - 0 159 3 timestamp J - 0 159 5 usePainter Z - 6 153 6 text Lio/github/rosemoe/sora/text/Content; - StackMapTable: number_of_entries = 7 - frame_type = 252 /* append */ - offset_delta = 6 - locals = [ class io/github/rosemoe/sora/text/Content ] - frame_type = 29 /* same */ - frame_type = 71 /* same_locals_1_stack_item */ - stack = [ class io/github/rosemoe/sora/text/ContentLine ] - frame_type = 253 /* append */ - offset_delta = 38 - locals = [ class io/github/rosemoe/sora/text/ContentLine, class io/github/rosemoe/sora/graphics/GraphicTextRow ] - frame_type = 23 /* same */ - frame_type = 250 /* chop */ - offset_delta = 44 - frame_type = 250 /* chop */ - offset_delta = 5 - - protected boolean shouldInitializeNonPrintable(); - descriptor: ()Z - flags: (0x0004) ACC_PROTECTED - Code: - stack=4, locals=1, args_size=1 - 0: aload_0 - 1: aload_0 - 2: aload_0 - 3: getfield #293 // Field mNonPrintableOptions:I - 6: bipush 8 - 8: invokevirtual #294 // Method clearFlag:(II)I - 11: bipush 32 - 13: invokevirtual #294 // Method clearFlag:(II)I - 16: ifeq 23 - 19: iconst_1 - 20: goto 24 - 23: iconst_0 - 24: ireturn - LineNumberTable: - line 1195: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 25 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 2 - frame_type = 23 /* same */ - frame_type = 64 /* same_locals_1_stack_item */ - stack = [ int ] - - public void setHardwareAcceleratedDrawAllowed(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #295 // Field mHardwareAccAllowed:Z - 5: iload_1 - 6: ifeq 23 - 9: aload_0 - 10: invokevirtual #189 // Method isWordwrap:()Z - 13: ifne 23 - 16: aload_0 - 17: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 20: invokevirtual #258 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateHwRenderer:()V - 23: return - LineNumberTable: - line 1208: 0 - line 1209: 5 - line 1210: 16 - line 1212: 23 - LocalVariableTable: - Start Length Slot Name Signature - 0 24 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 24 1 acceleratedDraw Z - StackMapTable: number_of_entries = 1 - frame_type = 23 /* same */ - - public boolean isHardwareAcceleratedDrawAllowed(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #295 // Field mHardwareAccAllowed:Z - 4: ireturn - LineNumberTable: - line 1218: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - protected long findLeadingAndTrailingWhitespacePos(io.github.rosemoe.sora.text.ContentLine); - descriptor: (Lio/github/rosemoe/sora/text/ContentLine;)J - flags: (0x0004) ACC_PROTECTED - Code: - stack=4, locals=6, args_size=2 - 0: aload_1 - 1: getfield #296 // Field io/github/rosemoe/sora/text/ContentLine.value:[C - 4: astore_2 - 5: aload_1 - 6: invokevirtual #286 // Method io/github/rosemoe/sora/text/ContentLine.length:()I - 9: istore_3 - 10: iconst_0 - 11: istore 4 - 13: iload_3 - 14: istore 5 - 16: iload 4 - 18: iload_3 - 19: if_icmpge 39 - 22: aload_0 - 23: aload_2 - 24: iload 4 - 26: caload - 27: invokevirtual #297 // Method isWhitespace:(C)Z - 30: ifeq 39 - 33: iinc 4, 1 - 36: goto 16 - 39: iload 4 - 41: iload_3 - 42: if_icmpeq 79 - 45: aload_0 - 46: getfield #293 // Field mNonPrintableOptions:I - 49: bipush 6 - 51: iand - 52: ifeq 79 - 55: iload 5 - 57: ifle 79 - 60: aload_0 - 61: aload_2 - 62: iload 5 - 64: iconst_1 - 65: isub - 66: caload - 67: invokevirtual #297 // Method isWhitespace:(C)Z - 70: ifeq 79 - 73: iinc 5, -1 - 76: goto 55 - 79: iload 4 - 81: iload 5 - 83: invokestatic #273 // Method io/github/rosemoe/sora/util/IntPair.pack:(II)J - 86: lreturn - LineNumberTable: - line 1227: 0 - line 1228: 5 - line 1229: 10 - line 1230: 13 - line 1231: 16 - line 1232: 33 - line 1235: 39 - line 1236: 55 - line 1237: 73 - line 1240: 79 - LocalVariableTable: - Start Length Slot Name Signature - 0 87 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 87 1 line Lio/github/rosemoe/sora/text/ContentLine; - 5 82 2 buffer [C - 10 77 3 column I - 13 74 4 leading I - 16 71 5 trailing I - StackMapTable: number_of_entries = 4 - frame_type = 255 /* full_frame */ - offset_delta = 16 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class io/github/rosemoe/sora/text/ContentLine, class "[C", int, int, int ] - stack = [] - frame_type = 22 /* same */ - frame_type = 15 /* same */ - frame_type = 23 /* same */ - - protected void computeMatchedPositions(int, io.github.rosemoe.sora.util.LongArrayList); - descriptor: (ILio/github/rosemoe/sora/util/LongArrayList;)V - flags: (0x0004) ACC_PROTECTED - Code: - stack=4, locals=13, args_size=3 - 0: aload_2 - 1: invokevirtual #298 // Method io/github/rosemoe/sora/util/LongArrayList.clear:()V - 4: aload_0 - 5: getfield #102 // Field mSearcher:Lio/github/rosemoe/sora/widget/EditorSearcher; - 8: getfield #299 // Field io/github/rosemoe/sora/widget/EditorSearcher.mPattern:Ljava/lang/String; - 11: ifnull 24 - 14: aload_0 - 15: getfield #102 // Field mSearcher:Lio/github/rosemoe/sora/widget/EditorSearcher; - 18: getfield #300 // Field io/github/rosemoe/sora/widget/EditorSearcher.mOptions:Lio/github/rosemoe/sora/widget/EditorSearcher$SearchOptions; - 21: ifnonnull 25 - 24: return - 25: aload_0 - 26: getfield #102 // Field mSearcher:Lio/github/rosemoe/sora/widget/EditorSearcher; - 29: getfield #300 // Field io/github/rosemoe/sora/widget/EditorSearcher.mOptions:Lio/github/rosemoe/sora/widget/EditorSearcher$SearchOptions; - 32: getfield #301 // Field io/github/rosemoe/sora/widget/EditorSearcher$SearchOptions.useRegex:Z - 35: ifeq 174 - 38: aload_0 - 39: getfield #102 // Field mSearcher:Lio/github/rosemoe/sora/widget/EditorSearcher; - 42: invokevirtual #302 // Method io/github/rosemoe/sora/widget/EditorSearcher.isResultValid:()Z - 45: ifne 49 - 48: return - 49: aload_0 - 50: getfield #102 // Field mSearcher:Lio/github/rosemoe/sora/widget/EditorSearcher; - 53: getfield #303 // Field io/github/rosemoe/sora/widget/EditorSearcher.mLastResults:Lio/github/rosemoe/sora/util/LongArrayList; - 56: astore_3 - 57: aload_0 - 58: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 61: iload_1 - 62: iconst_0 - 63: invokevirtual #304 // Method io/github/rosemoe/sora/text/Content.getCharIndex:(II)I - 66: istore 4 - 68: iload 4 - 70: aload_0 - 71: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 74: iload_1 - 75: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 78: iadd - 79: istore 5 - 81: iconst_0 - 82: istore 6 - 84: iload 6 - 86: aload_3 - 87: invokevirtual #306 // Method io/github/rosemoe/sora/util/LongArrayList.size:()I - 90: if_icmpge 173 - 93: aload_3 - 94: iload 6 - 96: invokevirtual #307 // Method io/github/rosemoe/sora/util/LongArrayList.get:(I)J - 99: lstore 7 - 101: lload 7 - 103: invokestatic #275 // Method io/github/rosemoe/sora/util/IntPair.getFirst:(J)I - 106: istore 9 - 108: lload 7 - 110: invokestatic #276 // Method io/github/rosemoe/sora/util/IntPair.getSecond:(J)I - 113: istore 10 - 115: iload 9 - 117: iload 4 - 119: invokestatic #277 // Method java/lang/Math.max:(II)I - 122: istore 11 - 124: iload 10 - 126: iload 5 - 128: invokestatic #279 // Method java/lang/Math.min:(II)I - 131: istore 12 - 133: iload 11 - 135: iload 12 - 137: if_icmpge 157 - 140: aload_2 - 141: iload 11 - 143: iload 4 - 145: isub - 146: iload 12 - 148: iload 4 - 150: isub - 151: invokestatic #273 // Method io/github/rosemoe/sora/util/IntPair.pack:(II)J - 154: invokevirtual #308 // Method io/github/rosemoe/sora/util/LongArrayList.add:(J)V - 157: iload 9 - 159: iload 5 - 161: if_icmple 167 - 164: goto 173 - 167: iinc 6, 1 - 170: goto 84 - 173: return - 174: aload_0 - 175: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 178: iload_1 - 179: invokevirtual #281 // Method io/github/rosemoe/sora/text/Content.getLine:(I)Lio/github/rosemoe/sora/text/ContentLine; - 182: astore_3 - 183: iconst_0 - 184: istore 4 - 186: aload_0 - 187: getfield #102 // Field mSearcher:Lio/github/rosemoe/sora/widget/EditorSearcher; - 190: getfield #299 // Field io/github/rosemoe/sora/widget/EditorSearcher.mPattern:Ljava/lang/String; - 193: invokevirtual #190 // Method java/lang/String.length:()I - 196: istore 5 - 198: iload 4 - 200: iconst_m1 - 201: if_icmpeq 259 - 204: aload_3 - 205: aload_0 - 206: getfield #102 // Field mSearcher:Lio/github/rosemoe/sora/widget/EditorSearcher; - 209: getfield #299 // Field io/github/rosemoe/sora/widget/EditorSearcher.mPattern:Ljava/lang/String; - 212: aload_0 - 213: getfield #102 // Field mSearcher:Lio/github/rosemoe/sora/widget/EditorSearcher; - 216: getfield #300 // Field io/github/rosemoe/sora/widget/EditorSearcher.mOptions:Lio/github/rosemoe/sora/widget/EditorSearcher$SearchOptions; - 219: getfield #309 // Field io/github/rosemoe/sora/widget/EditorSearcher$SearchOptions.ignoreCase:Z - 222: iload 4 - 224: invokestatic #310 // Method io/github/rosemoe/sora/text/TextUtils.indexOf:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZI)I - 227: istore 4 - 229: iload 4 - 231: iconst_m1 - 232: if_icmpeq 198 - 235: aload_2 - 236: iload 4 - 238: iload 4 - 240: iload 5 - 242: iadd - 243: invokestatic #273 // Method io/github/rosemoe/sora/util/IntPair.pack:(II)J - 246: invokevirtual #308 // Method io/github/rosemoe/sora/util/LongArrayList.add:(J)V - 249: iload 4 - 251: iload 5 - 253: iadd - 254: istore 4 - 256: goto 198 - 259: return - LineNumberTable: - line 1257: 0 - line 1258: 4 - line 1259: 24 - line 1261: 25 - line 1262: 38 - line 1263: 48 - line 1265: 49 - line 1266: 57 - line 1267: 68 - line 1268: 81 - line 1269: 93 - line 1270: 101 - line 1271: 108 - line 1272: 115 - line 1273: 124 - line 1274: 133 - line 1275: 140 - line 1277: 157 - line 1278: 164 - line 1268: 167 - line 1281: 173 - line 1283: 174 - line 1284: 183 - line 1285: 186 - line 1286: 198 - line 1287: 204 - line 1288: 229 - line 1289: 235 - line 1290: 249 - line 1293: 259 - LocalVariableTable: - Start Length Slot Name Signature - 101 66 7 region J - 108 59 9 start I - 115 52 10 end I - 124 43 11 highlightStart I - 133 34 12 highlightEnd I - 84 89 6 i I - 57 117 3 res Lio/github/rosemoe/sora/util/LongArrayList; - 68 106 4 lineLeft I - 81 93 5 lineRight I - 0 260 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 260 1 line I - 0 260 2 positions Lio/github/rosemoe/sora/util/LongArrayList; - 183 77 3 seq Lio/github/rosemoe/sora/text/ContentLine; - 186 74 4 index I - 198 62 5 len I - StackMapTable: number_of_entries = 10 - frame_type = 24 /* same */ - frame_type = 0 /* same */ - frame_type = 23 /* same */ - frame_type = 255 /* full_frame */ - offset_delta = 34 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, class io/github/rosemoe/sora/util/LongArrayList, class io/github/rosemoe/sora/util/LongArrayList, int, int, int ] - stack = [] - frame_type = 255 /* full_frame */ - offset_delta = 72 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, class io/github/rosemoe/sora/util/LongArrayList, class io/github/rosemoe/sora/util/LongArrayList, int, int, int, long, int, int, int, int ] - stack = [] - frame_type = 255 /* full_frame */ - offset_delta = 9 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, class io/github/rosemoe/sora/util/LongArrayList, class io/github/rosemoe/sora/util/LongArrayList, int, int, int ] - stack = [] - frame_type = 250 /* chop */ - offset_delta = 5 - frame_type = 248 /* chop */ - offset_delta = 0 - frame_type = 254 /* append */ - offset_delta = 23 - locals = [ class io/github/rosemoe/sora/text/ContentLine, int, int ] - frame_type = 60 /* same */ - - public int getEdgeEffectColor(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #157 // Field mVerticalGlow:Landroid/widget/EdgeEffect; - 4: invokevirtual #311 // Method android/widget/EdgeEffect.getColor:()I - 7: ireturn - LineNumberTable: - line 1302: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setEdgeEffectColor(int); - descriptor: (I)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: getfield #157 // Field mVerticalGlow:Landroid/widget/EdgeEffect; - 4: iload_1 - 5: invokevirtual #312 // Method android/widget/EdgeEffect.setColor:(I)V - 8: aload_0 - 9: getfield #158 // Field mHorizontalGlow:Landroid/widget/EdgeEffect; - 12: iload_1 - 13: invokevirtual #312 // Method android/widget/EdgeEffect.setColor:(I)V - 16: return - LineNumberTable: - line 1311: 0 - line 1312: 8 - line 1313: 16 - LocalVariableTable: - Start Length Slot Name Signature - 0 17 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 17 1 color I - - public io.github.rosemoe.sora.widget.layout.Layout getLayout(); - descriptor: ()Lio/github/rosemoe/sora/widget/layout/Layout; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 4: areturn - LineNumberTable: - line 1320: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - RuntimeInvisibleAnnotations: - 0: #1166() - io.github.rosemoe.sora.annotations.UnsupportedUserUsage - - protected android.widget.EdgeEffect getVerticalEdgeEffect(); - descriptor: ()Landroid/widget/EdgeEffect; - flags: (0x0004) ACC_PROTECTED - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #157 // Field mVerticalGlow:Landroid/widget/EdgeEffect; - 4: areturn - LineNumberTable: - line 1329: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - protected android.widget.EdgeEffect getHorizontalEdgeEffect(); - descriptor: ()Landroid/widget/EdgeEffect; - flags: (0x0004) ACC_PROTECTED - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #158 // Field mHorizontalGlow:Landroid/widget/EdgeEffect; - 4: areturn - LineNumberTable: - line 1338: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public int getCurrentCursorBlock(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #146 // Field mCursorPosition:I - 4: ireturn - LineNumberTable: - line 1395: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - int binarySearchEndBlock(int, java.util.List); - descriptor: (ILjava/util/List;)I - flags: (0x0000) - Code: - stack=3, locals=8, args_size=3 - 0: iconst_0 - 1: istore_3 - 2: aload_2 - 3: invokeinterface #319, 1 // InterfaceMethod java/util/List.size:()I - 8: iconst_1 - 9: isub - 10: istore 4 - 12: iload 4 - 14: istore 7 - 16: iload_3 - 17: iload 4 - 19: if_icmpgt 98 - 22: iload_3 - 23: iload 4 - 25: iadd - 26: iconst_2 - 27: idiv - 28: istore 5 - 30: iload 5 - 32: ifge 37 - 35: iconst_0 - 36: ireturn - 37: iload 5 - 39: iload 7 - 41: if_icmple 47 - 44: iload 7 - 46: ireturn - 47: aload_2 - 48: iload 5 - 50: invokeinterface #323, 2 // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object; - 55: checkcast #324 // class io/github/rosemoe/sora/lang/styling/CodeBlock - 58: getfield #325 // Field io/github/rosemoe/sora/lang/styling/CodeBlock.endLine:I - 61: istore 6 - 63: iload 6 - 65: iload_1 - 66: if_icmple 78 - 69: iload 5 - 71: iconst_1 - 72: isub - 73: istore 4 - 75: goto 16 - 78: iload 6 - 80: iload_1 - 81: if_icmpge 92 - 84: iload 5 - 86: iconst_1 - 87: iadd - 88: istore_3 - 89: goto 16 - 92: iload 5 - 94: istore_3 - 95: goto 98 - 98: iconst_0 - 99: iload_3 - 100: iload 7 - 102: invokestatic #279 // Method java/lang/Math.min:(II)I - 105: invokestatic #277 // Method java/lang/Math.max:(II)I - 108: ireturn - LineNumberTable: - line 1410: 0 - line 1411: 12 - line 1412: 16 - line 1413: 22 - line 1414: 30 - line 1415: 37 - line 1416: 47 - line 1417: 63 - line 1418: 69 - line 1419: 78 - line 1420: 84 - line 1422: 92 - line 1423: 95 - line 1426: 98 - LocalVariableTable: - Start Length Slot Name Signature - 30 68 5 mid I - 63 35 6 row I - 0 109 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 109 1 firstVis I - 0 109 2 blocks Ljava/util/List; - 2 107 3 left I - 12 97 4 right I - 16 93 7 max I - LocalVariableTypeTable: - Start Length Slot Name Signature - 0 109 2 blocks Ljava/util/List; - StackMapTable: number_of_entries = 6 - frame_type = 255 /* full_frame */ - offset_delta = 16 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, class java/util/List, int, int, top, top, int ] - stack = [] - frame_type = 255 /* full_frame */ - offset_delta = 20 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, class java/util/List, int, int, int, top, int ] - stack = [] - frame_type = 9 /* same */ - frame_type = 255 /* full_frame */ - offset_delta = 30 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, class java/util/List, int, int, int, int, int ] - stack = [] - frame_type = 13 /* same */ - frame_type = 255 /* full_frame */ - offset_delta = 5 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, class java/util/List, int, int, top, top, int ] - stack = [] - Signature: #1192 // (ILjava/util/List;)I - - public float measureText(io.github.rosemoe.sora.text.ContentLine, int, int, int); - descriptor: (Lio/github/rosemoe/sora/text/ContentLine;III)F - flags: (0x0001) ACC_PUBLIC - Code: - stack=7, locals=8, args_size=5 - 0: invokestatic #285 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.obtain:()Lio/github/rosemoe/sora/graphics/GraphicTextRow; - 3: astore 5 - 5: aconst_null - 6: astore 6 - 8: aload_1 - 9: getfield #282 // Field io/github/rosemoe/sora/text/ContentLine.widthCache:[F - 12: ifnonnull 23 - 15: aload_0 - 16: iload 4 - 18: invokevirtual #289 // Method getSpansForLine:(I)Ljava/util/List; - 21: astore 6 - 23: aload 5 - 25: aload_1 - 26: iconst_0 - 27: aload_1 - 28: invokevirtual #286 // Method io/github/rosemoe/sora/text/ContentLine.length:()I - 31: aload_0 - 32: getfield #327 // Field mTabWidth:I - 35: aload 6 - 37: aload_0 - 38: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 41: invokevirtual #113 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - 44: invokevirtual #290 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.set:(Lio/github/rosemoe/sora/text/ContentLine;IIILjava/util/List;Lio/github/rosemoe/sora/graphics/Paint;)V - 47: aload 5 - 49: iload_2 - 50: iload_2 - 51: iload_3 - 52: iadd - 53: invokevirtual #328 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.measureText:(II)F - 56: fstore 7 - 58: aload 5 - 60: invokestatic #292 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.recycle:(Lio/github/rosemoe/sora/graphics/GraphicTextRow;)V - 63: fload 7 - 65: freturn - LineNumberTable: - line 1439: 0 - line 1440: 5 - line 1441: 8 - line 1442: 15 - line 1444: 23 - line 1445: 47 - line 1446: 58 - line 1447: 63 - LocalVariableTable: - Start Length Slot Name Signature - 0 66 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 66 1 text Lio/github/rosemoe/sora/text/ContentLine; - 0 66 2 index I - 0 66 3 count I - 0 66 4 line I - 5 61 5 gtr Lio/github/rosemoe/sora/graphics/GraphicTextRow; - 8 58 6 spans Ljava/util/List; - 58 8 7 res F - LocalVariableTypeTable: - Start Length Slot Name Signature - 8 58 6 spans Ljava/util/List; - StackMapTable: number_of_entries = 1 - frame_type = 253 /* append */ - offset_delta = 23 - locals = [ class io/github/rosemoe/sora/graphics/GraphicTextRow, class java/util/List ] - RuntimeInvisibleAnnotations: - 0: #1166() - io.github.rosemoe.sora.annotations.UnsupportedUserUsage - - public java.util.List getSpansForLine(int); - descriptor: (I)Ljava/util/List; - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=4, args_size=2 - 0: aload_0 - 1: getfield #237 // Field mStyles:Lio/github/rosemoe/sora/lang/styling/Styles; - 4: ifnonnull 11 - 7: aconst_null - 8: goto 18 - 11: aload_0 - 12: getfield #237 // Field mStyles:Lio/github/rosemoe/sora/lang/styling/Styles; - 15: getfield #329 // Field io/github/rosemoe/sora/lang/styling/Styles.spans:Lio/github/rosemoe/sora/lang/styling/Spans; - 18: astore_2 - 19: aload_0 - 20: getfield #13 // Field defSpans:Ljava/util/List; - 23: invokeinterface #319, 1 // InterfaceMethod java/util/List.size:()I - 28: ifne 48 - 31: aload_0 - 32: getfield #13 // Field defSpans:Ljava/util/List; - 35: iconst_0 - 36: ldc2_w #330 // long 5l - 39: invokestatic #332 // Method io/github/rosemoe/sora/lang/styling/Span.obtain:(IJ)Lio/github/rosemoe/sora/lang/styling/Span; - 42: invokeinterface #333, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z - 47: pop - 48: aload_2 - 49: ifnull 65 - 52: aload_2 - 53: invokeinterface #334, 1 // InterfaceMethod io/github/rosemoe/sora/lang/styling/Spans.read:()Lio/github/rosemoe/sora/lang/styling/Spans$Reader; - 58: iload_1 - 59: invokeinterface #335, 2 // InterfaceMethod io/github/rosemoe/sora/lang/styling/Spans$Reader.getSpansOnLine:(I)Ljava/util/List; - 64: areturn - 65: aload_0 - 66: getfield #13 // Field defSpans:Ljava/util/List; - 69: areturn - 70: astore_3 - 71: aload_0 - 72: getfield #13 // Field defSpans:Ljava/util/List; - 75: areturn - Exception table: - from to target type - 48 64 70 Class java/lang/Exception - 65 69 70 Class java/lang/Exception - LineNumberTable: - line 1454: 0 - line 1455: 19 - line 1456: 31 - line 1459: 48 - line 1460: 52 - line 1462: 65 - line 1464: 70 - line 1465: 71 - LocalVariableTable: - Start Length Slot Name Signature - 71 5 3 e Ljava/lang/Exception; - 0 76 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 76 1 line I - 19 57 2 spanMap Lio/github/rosemoe/sora/lang/styling/Spans; - StackMapTable: number_of_entries = 5 - frame_type = 11 /* same */ - frame_type = 70 /* same_locals_1_stack_item */ - stack = [ class io/github/rosemoe/sora/lang/styling/Spans ] - frame_type = 252 /* append */ - offset_delta = 29 - locals = [ class io/github/rosemoe/sora/lang/styling/Spans ] - frame_type = 16 /* same */ - frame_type = 68 /* same_locals_1_stack_item */ - stack = [ class java/lang/Exception ] - Signature: #1202 // (I)Ljava/util/List; - - protected void drawText(android.graphics.Canvas, io.github.rosemoe.sora.text.ContentLine, int, int, int, int, boolean, float, float, int); - descriptor: (Landroid/graphics/Canvas;Lio/github/rosemoe/sora/text/ContentLine;IIIIZFFI)V - flags: (0x0004) ACC_PROTECTED - Code: - stack=10, locals=15, args_size=11 - 0: iload_3 - 1: iload 4 - 3: iadd - 4: istore 11 - 6: aload_2 - 7: getfield #296 // Field io/github/rosemoe/sora/text/ContentLine.value:[C - 10: astore 12 - 12: iload_3 - 13: istore 13 - 15: iload_3 - 16: istore 14 - 18: iload 14 - 20: iload 11 - 22: if_icmpge 98 - 25: aload 12 - 27: iload 14 - 29: caload - 30: bipush 9 - 32: if_icmpne 92 - 35: aload_1 - 36: aload 12 - 38: iload 13 - 40: iload 14 - 42: iload 13 - 44: isub - 45: iload 5 - 47: iload 6 - 49: fload 8 - 51: fload 9 - 53: iload 7 - 55: aload_0 - 56: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 59: invokevirtual #113 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - 62: invokevirtual #336 // Method android/graphics/Canvas.drawTextRun:([CIIIIFFZLandroid/graphics/Paint;)V - 65: fload 8 - 67: aload_0 - 68: aload_2 - 69: iload 13 - 71: iload 14 - 73: iload 13 - 75: isub - 76: iconst_1 - 77: iadd - 78: iload 10 - 80: invokevirtual #337 // Method measureText:(Lio/github/rosemoe/sora/text/ContentLine;III)F - 83: fadd - 84: fstore 8 - 86: iload 14 - 88: iconst_1 - 89: iadd - 90: istore 13 - 92: iinc 14, 1 - 95: goto 18 - 98: iload 13 - 100: iload 11 - 102: if_icmpge 135 - 105: aload_1 - 106: aload 12 - 108: iload 13 - 110: iload 11 - 112: iload 13 - 114: isub - 115: iload 5 - 117: iload 6 - 119: fload 8 - 121: fload 9 - 123: iload 7 - 125: aload_0 - 126: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 129: invokevirtual #113 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - 132: invokevirtual #336 // Method android/graphics/Canvas.drawTextRun:([CIIIIFFZLandroid/graphics/Paint;)V - 135: return - LineNumberTable: - line 1482: 0 - line 1483: 6 - line 1484: 12 - line 1485: 15 - line 1486: 25 - line 1487: 35 - line 1488: 65 - line 1489: 86 - line 1485: 92 - line 1492: 98 - line 1493: 105 - line 1495: 135 - LocalVariableTable: - Start Length Slot Name Signature - 18 80 14 i I - 0 136 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 136 1 canvas Landroid/graphics/Canvas; - 0 136 2 line Lio/github/rosemoe/sora/text/ContentLine; - 0 136 3 index I - 0 136 4 count I - 0 136 5 contextStart I - 0 136 6 contextCount I - 0 136 7 isRtl Z - 0 136 8 offX F - 0 136 9 offY F - 0 136 10 lineNumber I - 6 130 11 end I - 12 124 12 src [C - 15 121 13 st I - StackMapTable: number_of_entries = 4 - frame_type = 255 /* full_frame */ - offset_delta = 18 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class android/graphics/Canvas, class io/github/rosemoe/sora/text/ContentLine, int, int, int, int, int, float, float, int, int, class "[C", int, int ] - stack = [] - frame_type = 251 /* same_frame_extended */ - offset_delta = 73 - frame_type = 250 /* chop */ - offset_delta = 5 - frame_type = 36 /* same */ - RuntimeInvisibleAnnotations: - 0: #1216(#1217=[s#1218]) - android.annotation.SuppressLint( - value=["NewApi"] - ) - - public float[] findFirstVisibleChar(float, int, int, io.github.rosemoe.sora.text.ContentLine, int); - descriptor: (FIILio/github/rosemoe/sora/text/ContentLine;I)[F - flags: (0x0001) ACC_PUBLIC - Code: - stack=7, locals=6, args_size=6 - 0: aload_0 - 1: fload_1 - 2: iload_2 - 3: iload_3 - 4: iload_2 - 5: aload 4 - 7: iload 5 - 9: invokevirtual #338 // Method findFirstVisibleChar:(FIIILio/github/rosemoe/sora/text/ContentLine;I)[F - 12: areturn - LineNumberTable: - line 1499: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 13 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 13 1 target F - 0 13 2 start I - 0 13 3 end I - 0 13 4 line Lio/github/rosemoe/sora/text/ContentLine; - 0 13 5 lineNumber I - RuntimeInvisibleAnnotations: - 0: #1166() - io.github.rosemoe.sora.annotations.UnsupportedUserUsage - - public float[] findFirstVisibleChar(float, int, int, int, io.github.rosemoe.sora.text.ContentLine, int); - descriptor: (FIIILio/github/rosemoe/sora/text/ContentLine;I)[F - flags: (0x0001) ACC_PUBLIC - Code: - stack=7, locals=9, args_size=7 - 0: iload_2 - 1: iload_3 - 2: if_icmplt 18 - 5: iconst_2 - 6: newarray float - 8: dup - 9: iconst_0 - 10: iload_3 - 11: i2f - 12: fastore - 13: dup - 14: iconst_1 - 15: fconst_0 - 16: fastore - 17: areturn - 18: aload 5 - 20: getfield #282 // Field io/github/rosemoe/sora/text/ContentLine.widthCache:[F - 23: ifnull 58 - 26: aload 5 - 28: getfield #283 // Field io/github/rosemoe/sora/text/ContentLine.timestamp:J - 31: aload_0 - 32: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 35: invokevirtual #339 // Method io/github/rosemoe/sora/widget/EditorPainter.getTimestamp:()J - 38: lcmp - 39: ifge 58 - 42: aload_0 - 43: iload 6 - 45: iload 6 - 47: aload_0 - 48: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 51: invokevirtual #339 // Method io/github/rosemoe/sora/widget/EditorPainter.getTimestamp:()J - 54: iconst_0 - 55: invokevirtual #340 // Method buildMeasureCacheForLines:(IIJZ)V - 58: invokestatic #285 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.obtain:()Lio/github/rosemoe/sora/graphics/GraphicTextRow; - 61: astore 7 - 63: aload 7 - 65: aload 5 - 67: iload 4 - 69: iload_3 - 70: aload_0 - 71: getfield #327 // Field mTabWidth:I - 74: aload 5 - 76: getfield #282 // Field io/github/rosemoe/sora/text/ContentLine.widthCache:[F - 79: ifnonnull 91 - 82: aload_0 - 83: iload 6 - 85: invokevirtual #289 // Method getSpansForLine:(I)Ljava/util/List; - 88: goto 92 - 91: aconst_null - 92: aload_0 - 93: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 96: invokevirtual #113 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - 99: invokevirtual #290 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.set:(Lio/github/rosemoe/sora/text/ContentLine;IIILjava/util/List;Lio/github/rosemoe/sora/graphics/Paint;)V - 102: aload 7 - 104: iload_2 - 105: fload_1 - 106: invokevirtual #341 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.findOffsetByAdvance:(IF)[F - 109: astore 8 - 111: aload 7 - 113: invokestatic #292 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.recycle:(Lio/github/rosemoe/sora/graphics/GraphicTextRow;)V - 116: aload 8 - 118: areturn - LineNumberTable: - line 1507: 0 - line 1508: 5 - line 1510: 18 - line 1511: 42 - line 1513: 58 - line 1514: 63 - line 1515: 102 - line 1516: 111 - line 1517: 116 - LocalVariableTable: - Start Length Slot Name Signature - 0 119 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 119 1 target F - 0 119 2 start I - 0 119 3 end I - 0 119 4 contextStart I - 0 119 5 line Lio/github/rosemoe/sora/text/ContentLine; - 0 119 6 lineNumber I - 63 56 7 gtr Lio/github/rosemoe/sora/graphics/GraphicTextRow; - 111 8 8 res [F - StackMapTable: number_of_entries = 4 - frame_type = 18 /* same */ - frame_type = 39 /* same */ - frame_type = 255 /* full_frame */ - offset_delta = 32 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, float, int, int, int, class io/github/rosemoe/sora/text/ContentLine, int, class io/github/rosemoe/sora/graphics/GraphicTextRow ] - stack = [ class io/github/rosemoe/sora/graphics/GraphicTextRow, class io/github/rosemoe/sora/text/ContentLine, int, int, int ] - frame_type = 255 /* full_frame */ - offset_delta = 0 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, float, int, int, int, class io/github/rosemoe/sora/text/ContentLine, int, class io/github/rosemoe/sora/graphics/GraphicTextRow ] - stack = [ class io/github/rosemoe/sora/graphics/GraphicTextRow, class io/github/rosemoe/sora/text/ContentLine, int, int, int, class java/util/List ] - RuntimeInvisibleAnnotations: - 0: #1166() - io.github.rosemoe.sora.annotations.UnsupportedUserUsage - - public float[] findFirstVisibleCharNoCache(float, int, int, int, io.github.rosemoe.sora.text.ContentLine, int, io.github.rosemoe.sora.graphics.Paint); - descriptor: (FIIILio/github/rosemoe/sora/text/ContentLine;ILio/github/rosemoe/sora/graphics/Paint;)[F - flags: (0x0001) ACC_PUBLIC - Code: - stack=7, locals=10, args_size=8 - 0: iload_2 - 1: iload_3 - 2: if_icmplt 18 - 5: iconst_2 - 6: newarray float - 8: dup - 9: iconst_0 - 10: iload_3 - 11: i2f - 12: fastore - 13: dup - 14: iconst_1 - 15: fconst_0 - 16: fastore - 17: areturn - 18: invokestatic #285 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.obtain:()Lio/github/rosemoe/sora/graphics/GraphicTextRow; - 21: astore 8 - 23: aload_0 - 24: getfield #13 // Field defSpans:Ljava/util/List; - 27: invokeinterface #319, 1 // InterfaceMethod java/util/List.size:()I - 32: ifne 52 - 35: aload_0 - 36: getfield #13 // Field defSpans:Ljava/util/List; - 39: iconst_0 - 40: ldc2_w #330 // long 5l - 43: invokestatic #332 // Method io/github/rosemoe/sora/lang/styling/Span.obtain:(IJ)Lio/github/rosemoe/sora/lang/styling/Span; - 46: invokeinterface #333, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z - 51: pop - 52: aload 8 - 54: aload 5 - 56: iload 4 - 58: iload_3 - 59: aload_0 - 60: getfield #327 // Field mTabWidth:I - 63: aload_0 - 64: getfield #13 // Field defSpans:Ljava/util/List; - 67: aload 7 - 69: invokevirtual #290 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.set:(Lio/github/rosemoe/sora/text/ContentLine;IIILjava/util/List;Lio/github/rosemoe/sora/graphics/Paint;)V - 72: aload 8 - 74: invokevirtual #342 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.disableCache:()V - 77: aload 8 - 79: iload_2 - 80: fload_1 - 81: invokevirtual #341 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.findOffsetByAdvance:(IF)[F - 84: astore 9 - 86: aload 8 - 88: invokestatic #292 // Method io/github/rosemoe/sora/graphics/GraphicTextRow.recycle:(Lio/github/rosemoe/sora/graphics/GraphicTextRow;)V - 91: aload 9 - 93: areturn - LineNumberTable: - line 1525: 0 - line 1526: 5 - line 1528: 18 - line 1529: 23 - line 1530: 35 - line 1532: 52 - line 1533: 72 - line 1534: 77 - line 1535: 86 - line 1536: 91 - LocalVariableTable: - Start Length Slot Name Signature - 0 94 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 94 1 target F - 0 94 2 start I - 0 94 3 end I - 0 94 4 contextStart I - 0 94 5 line Lio/github/rosemoe/sora/text/ContentLine; - 0 94 6 lineNumber I - 0 94 7 paint Lio/github/rosemoe/sora/graphics/Paint; - 23 71 8 gtr Lio/github/rosemoe/sora/graphics/GraphicTextRow; - 86 8 9 res [F - StackMapTable: number_of_entries = 2 - frame_type = 18 /* same */ - frame_type = 252 /* append */ - offset_delta = 33 - locals = [ class io/github/rosemoe/sora/graphics/GraphicTextRow ] - RuntimeInvisibleAnnotations: - 0: #1166() - io.github.rosemoe.sora.annotations.UnsupportedUserUsage - - public float measureLineNumber(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=7, args_size=1 - 0: aload_0 - 1: invokevirtual #33 // Method isLineNumberEnabled:()Z - 4: ifne 9 - 7: fconst_0 - 8: freturn - 9: iconst_0 - 10: istore_1 - 11: aload_0 - 12: invokevirtual #278 // Method getLineCount:()I - 15: istore_2 - 16: iload_2 - 17: ifle 31 - 20: iinc 1, 1 - 23: iload_2 - 24: bipush 10 - 26: idiv - 27: istore_2 - 28: goto 16 - 31: ldc_w #343 // String 0 1 2 3 4 5 6 7 8 9 - 34: invokevirtual #190 // Method java/lang/String.length:()I - 37: istore_3 - 38: iload_3 - 39: invokestatic #344 // Method io/github/rosemoe/sora/util/TemporaryFloatBuffer.obtain:(I)[F - 42: astore 4 - 44: aload_0 - 45: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 48: invokevirtual #220 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaintOther:()Lio/github/rosemoe/sora/graphics/Paint; - 51: ldc_w #343 // String 0 1 2 3 4 5 6 7 8 9 - 54: aload 4 - 56: invokevirtual #345 // Method io/github/rosemoe/sora/graphics/Paint.getTextWidths:(Ljava/lang/String;[F)I - 59: pop - 60: aload 4 - 62: invokestatic #346 // Method io/github/rosemoe/sora/util/TemporaryFloatBuffer.recycle:([F)V - 65: fconst_0 - 66: fstore 5 - 68: iconst_0 - 69: istore 6 - 71: iload 6 - 73: iload_3 - 74: if_icmpge 95 - 77: fload 5 - 79: aload 4 - 81: iload 6 - 83: faload - 84: invokestatic #347 // Method java/lang/Math.max:(FF)F - 87: fstore 5 - 89: iinc 6, 2 - 92: goto 71 - 95: fload 5 - 97: iload_1 - 98: i2f - 99: fmul - 100: freturn - LineNumberTable: - line 1545: 0 - line 1546: 7 - line 1548: 9 - line 1549: 11 - line 1550: 16 - line 1551: 20 - line 1552: 23 - line 1554: 31 - line 1555: 38 - line 1556: 44 - line 1557: 60 - line 1558: 65 - line 1559: 68 - line 1560: 77 - line 1559: 89 - line 1562: 95 - LocalVariableTable: - Start Length Slot Name Signature - 71 24 6 i I - 0 101 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 11 90 1 count I - 16 85 2 lineCount I - 38 63 3 len I - 44 57 4 buffer [F - 68 33 5 single F - StackMapTable: number_of_entries = 5 - frame_type = 9 /* same */ - frame_type = 253 /* append */ - offset_delta = 6 - locals = [ int, int ] - frame_type = 14 /* same */ - frame_type = 255 /* full_frame */ - offset_delta = 39 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, int, int, class "[F", float, int ] - stack = [] - frame_type = 250 /* chop */ - offset_delta = 23 - - protected void createLayout(); - descriptor: ()V - flags: (0x0004) ACC_PROTECTED - Code: - stack=6, locals=2, args_size=1 - 0: aload_0 - 1: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 4: ifnull 103 - 7: aload_0 - 8: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 11: instanceof #348 // class io/github/rosemoe/sora/widget/layout/LineBreakLayout - 14: ifeq 39 - 17: aload_0 - 18: getfield #260 // Field mWordwrap:Z - 21: ifne 39 - 24: aload_0 - 25: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 28: checkcast #348 // class io/github/rosemoe/sora/widget/layout/LineBreakLayout - 31: aload_0 - 32: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 35: invokevirtual #349 // Method io/github/rosemoe/sora/widget/layout/LineBreakLayout.reuse:(Lio/github/rosemoe/sora/text/Content;)V - 38: return - 39: aload_0 - 40: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 43: instanceof #350 // class io/github/rosemoe/sora/widget/layout/WordwrapLayout - 46: ifeq 94 - 49: aload_0 - 50: getfield #260 // Field mWordwrap:Z - 53: ifeq 94 - 56: new #350 // class io/github/rosemoe/sora/widget/layout/WordwrapLayout - 59: dup - 60: aload_0 - 61: aload_0 - 62: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 65: aload_0 - 66: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 69: checkcast #350 // class io/github/rosemoe/sora/widget/layout/WordwrapLayout - 72: invokevirtual #351 // Method io/github/rosemoe/sora/widget/layout/WordwrapLayout.getRowTable:()Ljava/util/List; - 75: invokespecial #352 // Method io/github/rosemoe/sora/widget/layout/WordwrapLayout."":(Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/Content;Ljava/util/List;)V - 78: astore_1 - 79: aload_0 - 80: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 83: invokeinterface #353, 1 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.destroyLayout:()V - 88: aload_0 - 89: aload_1 - 90: putfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 93: return - 94: aload_0 - 95: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 98: invokeinterface #353, 1 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.destroyLayout:()V - 103: aload_0 - 104: getfield #260 // Field mWordwrap:Z - 107: ifeq 142 - 110: aload_0 - 111: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 114: aload_0 - 115: invokevirtual #34 // Method measureLineNumber:()F - 118: f2i - 119: invokevirtual #354 // Method io/github/rosemoe/sora/widget/EditorPainter.setCachedLineNumberWidth:(I)V - 122: aload_0 - 123: new #350 // class io/github/rosemoe/sora/widget/layout/WordwrapLayout - 126: dup - 127: aload_0 - 128: aload_0 - 129: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 132: aconst_null - 133: invokespecial #352 // Method io/github/rosemoe/sora/widget/layout/WordwrapLayout."":(Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/Content;Ljava/util/List;)V - 136: putfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 139: goto 158 - 142: aload_0 - 143: new #348 // class io/github/rosemoe/sora/widget/layout/LineBreakLayout - 146: dup - 147: aload_0 - 148: aload_0 - 149: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 152: invokespecial #355 // Method io/github/rosemoe/sora/widget/layout/LineBreakLayout."":(Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/Content;)V - 155: putfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 158: aload_0 - 159: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 162: ifnull 174 - 165: aload_0 - 166: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 169: fconst_0 - 170: fconst_0 - 171: invokevirtual #356 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.scrollBy:(FF)V - 174: return - LineNumberTable: - line 1569: 0 - line 1570: 7 - line 1571: 24 - line 1572: 38 - line 1574: 39 - line 1575: 56 - line 1576: 79 - line 1577: 88 - line 1578: 93 - line 1580: 94 - line 1582: 103 - line 1583: 110 - line 1584: 122 - line 1586: 142 - line 1588: 158 - line 1589: 165 - line 1591: 174 - LocalVariableTable: - Start Length Slot Name Signature - 79 15 1 newLayout Lio/github/rosemoe/sora/widget/layout/WordwrapLayout; - 0 175 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 6 - frame_type = 39 /* same */ - frame_type = 54 /* same */ - frame_type = 8 /* same */ - frame_type = 38 /* same */ - frame_type = 15 /* same */ - frame_type = 15 /* same */ - - void commitTab(); - descriptor: ()V - flags: (0x0000) - Code: - stack=3, locals=1, args_size=1 - 0: aload_0 - 1: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 4: ifnull 25 - 7: aload_0 - 8: invokevirtual #357 // Method isEditable:()Z - 11: ifeq 25 - 14: aload_0 - 15: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 18: ldc_w #358 // String \t - 21: iconst_1 - 22: invokevirtual #359 // Method io/github/rosemoe/sora/widget/EditorInputConnection.commitTextInternal:(Ljava/lang/CharSequence;Z)V - 25: return - LineNumberTable: - line 1597: 0 - line 1598: 14 - line 1600: 25 - LocalVariableTable: - Start Length Slot Name Signature - 0 26 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 1 - frame_type = 25 /* same */ - - protected void updateCompletionWindowPosition(); - descriptor: ()V - flags: (0x0004) ACC_PROTECTED - Code: - stack=2, locals=1, args_size=1 - 0: aload_0 - 1: iconst_1 - 2: invokevirtual #360 // Method updateCompletionWindowPosition:(Z)V - 5: return - LineNumberTable: - line 1603: 0 - line 1604: 5 - LocalVariableTable: - Start Length Slot Name Signature - 0 6 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - protected void updateCompletionWindowPosition(boolean); - descriptor: (Z)V - flags: (0x0004) ACC_PROTECTED - Code: - stack=6, locals=8, args_size=2 - 0: aload_0 - 1: invokevirtual #361 // Method updateCursorAnchor:()F - 4: aload_0 - 5: getfield #37 // Field mDpUnit:F - 8: ldc_w #362 // float 20.0f - 11: fmul - 12: fadd - 13: fstore_2 - 14: aload_0 - 15: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 18: aload_0 - 19: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 22: invokevirtual #198 // Method io/github/rosemoe/sora/text/Cursor.getRightLine:()I - 25: aload_0 - 26: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 29: invokevirtual #199 // Method io/github/rosemoe/sora/text/Cursor.getRightColumn:()I - 32: invokeinterface #42, 3 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getCharLayoutOffset:(II)[F - 37: astore_3 - 38: aload_3 - 39: iconst_0 - 40: faload - 41: aload_0 - 42: invokevirtual #45 // Method getOffsetY:()I - 45: i2f - 46: fsub - 47: aload_0 - 48: invokevirtual #363 // Method getRowHeight:()I - 51: i2f - 52: fconst_2 - 53: fdiv - 54: fadd - 55: fstore 4 - 57: aload_0 - 58: invokevirtual #364 // Method getHeight:()I - 61: i2f - 62: fload 4 - 64: fsub - 65: fstore 5 - 67: fload 5 - 69: aload_0 - 70: getfield #37 // Field mDpUnit:F - 73: ldc_w #365 // float 200.0f - 76: fmul - 77: fcmpl - 78: ifle 94 - 81: aload_0 - 82: getfield #37 // Field mDpUnit:F - 85: ldc_w #365 // float 200.0f - 88: fmul - 89: fstore 5 - 91: goto 182 - 94: fload 5 - 96: aload_0 - 97: getfield #37 // Field mDpUnit:F - 100: ldc_w #366 // float 100.0f - 103: fmul - 104: fcmpg - 105: ifge 182 - 108: iload_1 - 109: ifeq 182 - 112: fconst_0 - 113: fstore 6 - 115: fload 5 - 117: aload_0 - 118: getfield #37 // Field mDpUnit:F - 121: ldc_w #366 // float 100.0f - 124: fmul - 125: fcmpg - 126: ifge 162 - 129: fload 5 - 131: aload_0 - 132: invokevirtual #363 // Method getRowHeight:()I - 135: i2f - 136: fadd - 137: fstore 5 - 139: fload 4 - 141: aload_0 - 142: invokevirtual #363 // Method getRowHeight:()I - 145: i2f - 146: fsub - 147: fstore 4 - 149: fload 6 - 151: aload_0 - 152: invokevirtual #363 // Method getRowHeight:()I - 155: i2f - 156: fadd - 157: fstore 6 - 159: goto 115 - 162: aload_0 - 163: invokevirtual #367 // Method getScroller:()Landroid/widget/OverScroller; - 166: aload_0 - 167: invokevirtual #44 // Method getOffsetX:()I - 170: aload_0 - 171: invokevirtual #45 // Method getOffsetY:()I - 174: iconst_0 - 175: fload 6 - 177: f2i - 178: iconst_0 - 179: invokevirtual #368 // Method android/widget/OverScroller.startScroll:(IIIII)V - 182: aload_0 - 183: invokevirtual #369 // Method getWidth:()I - 186: i2f - 187: ldc_w #370 // float 500.0f - 190: aload_0 - 191: getfield #37 // Field mDpUnit:F - 194: fmul - 195: fcmpg - 196: ifge 206 - 199: aload_0 - 200: getfield #182 // Field mCompletionPosMode:I - 203: ifeq 214 - 206: aload_0 - 207: getfield #182 // Field mCompletionPosMode:I - 210: iconst_2 - 211: if_icmpne 241 - 214: aload_0 - 215: invokevirtual #369 // Method getWidth:()I - 218: bipush 7 - 220: imul - 221: bipush 8 - 223: idiv - 224: istore 6 - 226: aload_0 - 227: invokevirtual #369 // Method getWidth:()I - 230: i2f - 231: ldc_w #371 // float 8.0f - 234: fdiv - 235: fconst_2 - 236: fdiv - 237: fstore_2 - 238: goto 262 - 241: ldc_w #372 // float 300.0f - 244: aload_0 - 245: getfield #37 // Field mDpUnit:F - 248: fmul - 249: aload_0 - 250: invokevirtual #369 // Method getWidth:()I - 253: i2f - 254: fconst_2 - 255: fdiv - 256: invokestatic #373 // Method java/lang/Math.min:(FF)F - 259: f2i - 260: istore 6 - 262: aload_0 - 263: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 266: invokevirtual #374 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.getHeight:()I - 269: istore 7 - 271: aload_0 - 272: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 275: invokevirtual #375 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.isShowing:()Z - 278: ifne 286 - 281: fload 5 - 283: f2i - 284: istore 7 - 286: aload_0 - 287: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 290: fload 5 - 292: f2i - 293: invokevirtual #376 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.setMaxHeight:(I)V - 296: aload_0 - 297: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 300: iload 6 - 302: iload 7 - 304: invokevirtual #377 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.setSize:(II)V - 307: aload_0 - 308: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 311: fload_2 - 312: f2i - 313: aload_0 - 314: invokevirtual #44 // Method getOffsetX:()I - 317: iadd - 318: fload 4 - 320: f2i - 321: aload_0 - 322: invokevirtual #45 // Method getOffsetY:()I - 325: iadd - 326: invokevirtual #378 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.setLocation:(II)V - 329: return - LineNumberTable: - line 1610: 0 - line 1611: 14 - line 1612: 38 - line 1613: 57 - line 1614: 67 - line 1615: 81 - line 1616: 94 - line 1617: 112 - line 1618: 115 - line 1619: 129 - line 1620: 139 - line 1621: 149 - line 1623: 162 - line 1626: 182 - line 1628: 214 - line 1629: 226 - line 1632: 241 - line 1634: 262 - line 1635: 271 - line 1636: 281 - line 1638: 286 - line 1639: 296 - line 1640: 307 - line 1641: 329 - LocalVariableTable: - Start Length Slot Name Signature - 115 67 6 offset F - 226 15 6 width I - 0 330 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 330 1 shift Z - 14 316 2 panelX F - 38 292 3 rightLayoutOffset [F - 57 273 4 panelY F - 67 263 5 restY F - 262 68 6 width I - 271 59 7 height I - StackMapTable: number_of_entries = 9 - frame_type = 255 /* full_frame */ - offset_delta = 94 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, float, class "[F", float, float ] - stack = [] - frame_type = 252 /* append */ - offset_delta = 20 - locals = [ float ] - frame_type = 46 /* same */ - frame_type = 250 /* chop */ - offset_delta = 19 - frame_type = 23 /* same */ - frame_type = 7 /* same */ - frame_type = 26 /* same */ - frame_type = 252 /* append */ - offset_delta = 20 - locals = [ int ] - frame_type = 252 /* append */ - offset_delta = 23 - locals = [ int ] - - protected float updateCursorAnchor(); - descriptor: ()F - flags: (0x0004) ACC_PROTECTED - Code: - stack=6, locals=7, args_size=1 - 0: aload_0 - 1: getfield #109 // Field mAnchorInfoBuilder:Landroid/view/inputmethod/CursorAnchorInfo$Builder; - 4: astore_1 - 5: aload_1 - 6: invokevirtual #379 // Method android/view/inputmethod/CursorAnchorInfo$Builder.reset:()V - 9: aload_0 - 10: getfield #96 // Field mMatrix:Landroid/graphics/Matrix; - 13: aload_0 - 14: invokevirtual #380 // Method getMatrix:()Landroid/graphics/Matrix; - 17: invokevirtual #381 // Method android/graphics/Matrix.set:(Landroid/graphics/Matrix;)V - 20: iconst_2 - 21: newarray int - 23: astore_2 - 24: aload_0 - 25: aload_2 - 26: invokevirtual #382 // Method getLocationOnScreen:([I)V - 29: aload_0 - 30: getfield #96 // Field mMatrix:Landroid/graphics/Matrix; - 33: aload_2 - 34: iconst_0 - 35: iaload - 36: i2f - 37: aload_2 - 38: iconst_1 - 39: iaload - 40: i2f - 41: invokevirtual #383 // Method android/graphics/Matrix.postTranslate:(FF)Z - 44: pop - 45: aload_1 - 46: aload_0 - 47: getfield #96 // Field mMatrix:Landroid/graphics/Matrix; - 50: invokevirtual #384 // Method android/view/inputmethod/CursorAnchorInfo$Builder.setMatrix:(Landroid/graphics/Matrix;)Landroid/view/inputmethod/CursorAnchorInfo$Builder; - 53: pop - 54: aload_1 - 55: aload_0 - 56: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 59: invokevirtual #385 // Method io/github/rosemoe/sora/text/Cursor.getLeft:()I - 62: aload_0 - 63: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 66: invokevirtual #202 // Method io/github/rosemoe/sora/text/Cursor.getRight:()I - 69: invokevirtual #386 // Method android/view/inputmethod/CursorAnchorInfo$Builder.setSelectionRange:(II)Landroid/view/inputmethod/CursorAnchorInfo$Builder; - 72: pop - 73: aload_0 - 74: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 77: invokevirtual #198 // Method io/github/rosemoe/sora/text/Cursor.getRightLine:()I - 80: istore_3 - 81: aload_0 - 82: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 85: invokevirtual #199 // Method io/github/rosemoe/sora/text/Cursor.getRightColumn:()I - 88: istore 4 - 90: iconst_1 - 91: istore 5 - 93: aload_0 - 94: invokevirtual #43 // Method measureTextRegionOffset:()F - 97: fstore 6 - 99: fload 6 - 101: aload_0 - 102: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 105: iload_3 - 106: iload 4 - 108: invokeinterface #42, 3 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getCharLayoutOffset:(II)[F - 113: iconst_1 - 114: faload - 115: fadd - 116: fstore 6 - 118: fload 6 - 120: aload_0 - 121: invokevirtual #44 // Method getOffsetX:()I - 124: i2f - 125: fsub - 126: fstore 6 - 128: fload 6 - 130: fconst_0 - 131: fcmpg - 132: ifge 141 - 135: iconst_0 - 136: istore 5 - 138: fconst_0 - 139: fstore 6 - 141: aload_1 - 142: fload 6 - 144: aload_0 - 145: iload_3 - 146: invokevirtual #387 // Method getRowTop:(I)I - 149: aload_0 - 150: invokevirtual #45 // Method getOffsetY:()I - 153: isub - 154: i2f - 155: aload_0 - 156: iload_3 - 157: invokevirtual #388 // Method getRowBaseline:(I)I - 160: aload_0 - 161: invokevirtual #45 // Method getOffsetY:()I - 164: isub - 165: i2f - 166: aload_0 - 167: iload_3 - 168: invokevirtual #389 // Method getRowBottom:(I)I - 171: aload_0 - 172: invokevirtual #45 // Method getOffsetY:()I - 175: isub - 176: i2f - 177: iload 5 - 179: ifeq 186 - 182: iconst_1 - 183: goto 187 - 186: iconst_2 - 187: invokevirtual #391 // Method android/view/inputmethod/CursorAnchorInfo$Builder.setInsertionMarkerLocation:(FFFFI)Landroid/view/inputmethod/CursorAnchorInfo$Builder; - 190: pop - 191: aload_0 - 192: getfield #141 // Field mInputMethodManager:Landroid/view/inputmethod/InputMethodManager; - 195: aload_0 - 196: aload_1 - 197: invokevirtual #392 // Method android/view/inputmethod/CursorAnchorInfo$Builder.build:()Landroid/view/inputmethod/CursorAnchorInfo; - 200: invokevirtual #393 // Method android/view/inputmethod/InputMethodManager.updateCursorAnchorInfo:(Landroid/view/View;Landroid/view/inputmethod/CursorAnchorInfo;)V - 203: fload 6 - 205: freturn - LineNumberTable: - line 1650: 0 - line 1651: 5 - line 1652: 9 - line 1653: 20 - line 1654: 24 - line 1655: 29 - line 1656: 45 - line 1657: 54 - line 1658: 73 - line 1659: 81 - line 1660: 90 - line 1661: 93 - line 1662: 99 - line 1663: 118 - line 1664: 128 - line 1665: 135 - line 1666: 138 - line 1668: 141 - line 1669: 191 - line 1670: 203 - LocalVariableTable: - Start Length Slot Name Signature - 0 206 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 5 201 1 builder Landroid/view/inputmethod/CursorAnchorInfo$Builder; - 24 182 2 b [I - 81 125 3 l I - 90 116 4 column I - 93 113 5 visible Z - 99 107 6 x F - StackMapTable: number_of_entries = 3 - frame_type = 255 /* full_frame */ - offset_delta = 141 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class android/view/inputmethod/CursorAnchorInfo$Builder, class "[I", int, int, int, float ] - stack = [] - frame_type = 255 /* full_frame */ - offset_delta = 44 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class android/view/inputmethod/CursorAnchorInfo$Builder, class "[I", int, int, int, float ] - stack = [ class android/view/inputmethod/CursorAnchorInfo$Builder, float, float, float, float ] - frame_type = 255 /* full_frame */ - offset_delta = 0 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class android/view/inputmethod/CursorAnchorInfo$Builder, class "[I", int, int, int, float ] - stack = [ class android/view/inputmethod/CursorAnchorInfo$Builder, float, float, float, float, int ] - - public void deleteText(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=6, locals=10, args_size=1 - 0: aload_0 - 1: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 4: astore_1 - 5: aload_1 - 6: invokevirtual #194 // Method io/github/rosemoe/sora/text/Cursor.isSelected:()Z - 9: ifeq 38 - 12: aload_0 - 13: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 16: aload_1 - 17: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 20: aload_1 - 21: invokevirtual #394 // Method io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - 24: aload_1 - 25: invokevirtual #198 // Method io/github/rosemoe/sora/text/Cursor.getRightLine:()I - 28: aload_1 - 29: invokevirtual #199 // Method io/github/rosemoe/sora/text/Cursor.getRightColumn:()I - 32: invokevirtual #395 // Method io/github/rosemoe/sora/text/Content.delete:(IIII)V - 35: goto 454 - 38: aload_1 - 39: invokevirtual #394 // Method io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - 42: istore_2 - 43: aload_1 - 44: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 47: istore_3 - 48: aload_0 - 49: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 52: getfield #396 // Field io/github/rosemoe/sora/widget/DirectAccessProps.deleteEmptyLineFast:Z - 55: ifne 89 - 58: aload_0 - 59: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 62: getfield #397 // Field io/github/rosemoe/sora/widget/DirectAccessProps.deleteMultiSpaces:I - 65: iconst_1 - 66: if_icmpeq 342 - 69: iload_2 - 70: ifle 342 - 73: aload_0 - 74: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 77: iload_3 - 78: iload_2 - 79: iconst_1 - 80: isub - 81: invokevirtual #398 // Method io/github/rosemoe/sora/text/Content.charAt:(II)C - 84: bipush 32 - 86: if_icmpne 342 - 89: aload_0 - 90: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 93: aload_1 - 94: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 97: invokevirtual #281 // Method io/github/rosemoe/sora/text/Content.getLine:(I)Lio/github/rosemoe/sora/text/ContentLine; - 100: getfield #296 // Field io/github/rosemoe/sora/text/ContentLine.value:[C - 103: astore 4 - 105: iconst_1 - 106: istore 5 - 108: iload_2 - 109: iconst_1 - 110: isub - 111: istore 6 - 113: iload 6 - 115: iflt 151 - 118: aload 4 - 120: iload 6 - 122: caload - 123: istore 7 - 125: iload 7 - 127: bipush 32 - 129: if_icmpeq 145 - 132: iload 7 - 134: bipush 9 - 136: if_icmpeq 145 - 139: iconst_0 - 140: istore 5 - 142: goto 151 - 145: iinc 6, -1 - 148: goto 113 - 151: iload 5 - 153: ifeq 342 - 156: iconst_1 - 157: istore 6 - 159: aload_0 - 160: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 163: iload_3 - 164: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 167: istore 7 - 169: iload_2 - 170: istore 8 - 172: iload 8 - 174: iload 7 - 176: if_icmpge 212 - 179: aload 4 - 181: iload 8 - 183: caload - 184: istore 9 - 186: iload 9 - 188: bipush 32 - 190: if_icmpeq 206 - 193: iload 9 - 195: bipush 9 - 197: if_icmpeq 206 - 200: iconst_0 - 201: istore 6 - 203: goto 212 - 206: iinc 8, 1 - 209: goto 172 - 212: aload_0 - 213: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 216: getfield #396 // Field io/github/rosemoe/sora/widget/DirectAccessProps.deleteEmptyLineFast:Z - 219: ifeq 269 - 222: iload 6 - 224: ifeq 269 - 227: iload_3 - 228: ifne 245 - 231: aload_0 - 232: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 235: iload_3 - 236: iconst_0 - 237: iload_3 - 238: iload_2 - 239: invokevirtual #395 // Method io/github/rosemoe/sora/text/Content.delete:(IIII)V - 242: goto 268 - 245: aload_0 - 246: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 249: iload_3 - 250: iconst_1 - 251: isub - 252: aload_0 - 253: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 256: iload_3 - 257: iconst_1 - 258: isub - 259: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 262: iload_3 - 263: iload 7 - 265: invokevirtual #395 // Method io/github/rosemoe/sora/text/Content.delete:(IIII)V - 268: return - 269: aload_0 - 270: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 273: getfield #397 // Field io/github/rosemoe/sora/widget/DirectAccessProps.deleteMultiSpaces:I - 276: iconst_1 - 277: if_icmpeq 342 - 280: iload_2 - 281: ifle 342 - 284: aload_0 - 285: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 288: iload_3 - 289: iload_2 - 290: iconst_1 - 291: isub - 292: invokevirtual #398 // Method io/github/rosemoe/sora/text/Content.charAt:(II)C - 295: bipush 32 - 297: if_icmpne 342 - 300: aload_0 - 301: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 304: iload_3 - 305: iconst_0 - 306: iload_2 - 307: aload_0 - 308: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 311: getfield #397 // Field io/github/rosemoe/sora/widget/DirectAccessProps.deleteMultiSpaces:I - 314: iconst_m1 - 315: if_icmpne 325 - 318: aload_0 - 319: invokevirtual #288 // Method getTabWidth:()I - 322: goto 332 - 325: aload_0 - 326: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 329: getfield #397 // Field io/github/rosemoe/sora/widget/DirectAccessProps.deleteMultiSpaces:I - 332: isub - 333: invokestatic #277 // Method java/lang/Math.max:(II)I - 336: iload_3 - 337: iload_2 - 338: invokevirtual #395 // Method io/github/rosemoe/sora/text/Content.delete:(IIII)V - 341: return - 342: invokestatic #399 // Method io/github/rosemoe/sora/text/TextLayoutHelper.get:()Lio/github/rosemoe/sora/text/TextLayoutHelper; - 345: iload_2 - 346: aload_0 - 347: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 350: aload_1 - 351: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 354: invokevirtual #281 // Method io/github/rosemoe/sora/text/Content.getLine:(I)Lio/github/rosemoe/sora/text/ContentLine; - 357: invokevirtual #400 // Method io/github/rosemoe/sora/text/TextLayoutHelper.getCurPosLeft:(ILjava/lang/CharSequence;)I - 360: istore 4 - 362: aload_1 - 363: invokevirtual #394 // Method io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - 366: istore 5 - 368: iload 4 - 370: iload 5 - 372: if_icmple 387 - 375: iload 4 - 377: istore 6 - 379: iload 5 - 381: istore 4 - 383: iload 6 - 385: istore 5 - 387: iload 4 - 389: iload 5 - 391: if_icmpne 435 - 394: aload_1 - 395: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 398: ifle 454 - 401: aload_0 - 402: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 405: aload_1 - 406: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 409: iconst_1 - 410: isub - 411: aload_0 - 412: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 415: aload_1 - 416: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 419: iconst_1 - 420: isub - 421: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 424: aload_1 - 425: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 428: iconst_0 - 429: invokevirtual #395 // Method io/github/rosemoe/sora/text/Content.delete:(IIII)V - 432: goto 454 - 435: aload_0 - 436: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 439: aload_1 - 440: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 443: iload 4 - 445: aload_1 - 446: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 449: iload 5 - 451: invokevirtual #395 // Method io/github/rosemoe/sora/text/Content.delete:(IIII)V - 454: return - LineNumberTable: - line 1677: 0 - line 1678: 5 - line 1679: 12 - line 1681: 38 - line 1682: 43 - line 1683: 48 - line 1685: 89 - line 1686: 105 - line 1687: 108 - line 1688: 118 - line 1689: 125 - line 1690: 139 - line 1691: 142 - line 1687: 145 - line 1695: 151 - line 1697: 156 - line 1698: 159 - line 1699: 169 - line 1700: 179 - line 1701: 186 - line 1702: 200 - line 1703: 203 - line 1699: 206 - line 1706: 212 - line 1707: 227 - line 1709: 231 - line 1711: 245 - line 1713: 268 - line 1716: 269 - line 1717: 300 - line 1718: 341 - line 1723: 342 - line 1724: 362 - line 1725: 368 - line 1726: 375 - line 1727: 379 - line 1728: 383 - line 1730: 387 - line 1731: 394 - line 1732: 401 - line 1735: 435 - line 1738: 454 - LocalVariableTable: - Start Length Slot Name Signature - 125 20 7 ch C - 113 38 6 i I - 186 20 9 ch C - 172 40 8 i I - 159 183 6 emptyLine Z - 169 173 7 max I - 105 237 4 text [C - 108 234 5 inLeading Z - 379 8 6 tmp I - 43 411 2 col I - 48 406 3 line I - 362 92 4 begin I - 368 86 5 end I - 0 455 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 5 450 1 cur Lio/github/rosemoe/sora/text/Cursor; - StackMapTable: number_of_entries = 17 - frame_type = 252 /* append */ - offset_delta = 38 - locals = [ class io/github/rosemoe/sora/text/Cursor ] - frame_type = 253 /* append */ - offset_delta = 50 - locals = [ int, int ] - frame_type = 254 /* append */ - offset_delta = 23 - locals = [ class "[C", int, int ] - frame_type = 31 /* same */ - frame_type = 250 /* chop */ - offset_delta = 5 - frame_type = 254 /* append */ - offset_delta = 20 - locals = [ int, int, int ] - frame_type = 33 /* same */ - frame_type = 250 /* chop */ - offset_delta = 5 - frame_type = 32 /* same */ - frame_type = 22 /* same */ - frame_type = 0 /* same */ - frame_type = 255 /* full_frame */ - offset_delta = 55 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class io/github/rosemoe/sora/text/Cursor, int, int, class "[C", int, int, int ] - stack = [ class io/github/rosemoe/sora/text/Content, int, int, int ] - frame_type = 255 /* full_frame */ - offset_delta = 6 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class io/github/rosemoe/sora/text/Cursor, int, int, class "[C", int, int, int ] - stack = [ class io/github/rosemoe/sora/text/Content, int, int, int, int ] - frame_type = 255 /* full_frame */ - offset_delta = 9 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class io/github/rosemoe/sora/text/Cursor, int, int ] - stack = [] - frame_type = 253 /* append */ - offset_delta = 44 - locals = [ int, int ] - frame_type = 47 /* same */ - frame_type = 255 /* full_frame */ - offset_delta = 18 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class io/github/rosemoe/sora/text/Cursor ] - stack = [] - - public void commitText(java.lang.CharSequence); - descriptor: (Ljava/lang/CharSequence;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: aload_0 - 1: aload_1 - 2: iconst_1 - 3: invokevirtual #401 // Method commitText:(Ljava/lang/CharSequence;Z)V - 6: return - LineNumberTable: - line 1744: 0 - line 1745: 6 - LocalVariableTable: - Start Length Slot Name Signature - 0 7 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 7 1 text Ljava/lang/CharSequence; - - public void commitText(java.lang.CharSequence, boolean); - descriptor: (Ljava/lang/CharSequence;Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=6, locals=9, args_size=3 - 0: aload_0 - 1: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 4: astore_3 - 5: aload_3 - 6: invokevirtual #194 // Method io/github/rosemoe/sora/text/Cursor.isSelected:()Z - 9: ifeq 39 - 12: aload_0 - 13: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 16: aload_3 - 17: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 20: aload_3 - 21: invokevirtual #394 // Method io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - 24: aload_3 - 25: invokevirtual #198 // Method io/github/rosemoe/sora/text/Cursor.getRightLine:()I - 28: aload_3 - 29: invokevirtual #199 // Method io/github/rosemoe/sora/text/Cursor.getRightColumn:()I - 32: aload_1 - 33: invokevirtual #402 // Method io/github/rosemoe/sora/text/Content.replace:(IIIILjava/lang/CharSequence;)V - 36: goto 256 - 39: aload_0 - 40: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 43: getfield #403 // Field io/github/rosemoe/sora/widget/DirectAccessProps.autoIndent:Z - 46: ifeq 240 - 49: aload_1 - 50: invokeinterface #404, 1 // InterfaceMethod java/lang/CharSequence.length:()I - 55: ifeq 240 - 58: iload_2 - 59: ifeq 240 - 62: aload_1 - 63: iconst_0 - 64: invokeinterface #405, 2 // InterfaceMethod java/lang/CharSequence.charAt:(I)C - 69: istore 4 - 71: iload 4 - 73: bipush 10 - 75: if_icmpne 240 - 78: aload_0 - 79: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 82: aload_3 - 83: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 86: invokevirtual #406 // Method io/github/rosemoe/sora/text/Content.getLineString:(I)Ljava/lang/String; - 89: astore 5 - 91: iconst_0 - 92: istore 6 - 94: iconst_0 - 95: istore 7 - 97: iload 6 - 99: aload_3 - 100: invokevirtual #394 // Method io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - 103: if_icmpge 153 - 106: aload_0 - 107: aload 5 - 109: iload 6 - 111: invokevirtual #407 // Method java/lang/String.charAt:(I)C - 114: invokevirtual #297 // Method isWhitespace:(C)Z - 117: ifeq 153 - 120: aload 5 - 122: iload 6 - 124: invokevirtual #407 // Method java/lang/String.charAt:(I)C - 127: bipush 9 - 129: if_icmpne 144 - 132: iload 7 - 134: aload_0 - 135: getfield #327 // Field mTabWidth:I - 138: iadd - 139: istore 7 - 141: goto 147 - 144: iinc 7, 1 - 147: iinc 6, 1 - 150: goto 97 - 153: iload 7 - 155: aload_0 - 156: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 159: new #240 // class io/github/rosemoe/sora/text/ContentReference - 162: dup - 163: aload_0 - 164: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 167: invokespecial #241 // Method io/github/rosemoe/sora/text/ContentReference."":(Lio/github/rosemoe/sora/text/Content;)V - 170: aload_3 - 171: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 174: aload_3 - 175: invokevirtual #394 // Method io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - 178: invokeinterface #408, 4 // InterfaceMethod io/github/rosemoe/sora/lang/Language.getIndentAdvance:(Lio/github/rosemoe/sora/text/ContentReference;II)I - 183: iadd - 184: istore 7 - 186: goto 202 - 189: astore 8 - 191: ldc #47 // String CodeEditor - 193: ldc_w #409 // String Language object error - 196: aload 8 - 198: invokestatic #410 // Method android/util/Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I - 201: pop - 202: new #247 // class java/lang/StringBuilder - 205: dup - 206: aload_1 - 207: invokespecial #411 // Method java/lang/StringBuilder."":(Ljava/lang/CharSequence;)V - 210: astore 8 - 212: aload 8 - 214: iconst_1 - 215: iload 7 - 217: aload_0 - 218: getfield #327 // Field mTabWidth:I - 221: aload_0 - 222: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 225: invokeinterface #412, 1 // InterfaceMethod io/github/rosemoe/sora/lang/Language.useTab:()Z - 230: invokestatic #413 // Method io/github/rosemoe/sora/text/TextUtils.createIndent:(IIZ)Ljava/lang/String; - 233: invokevirtual #414 // Method java/lang/StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder; - 236: pop - 237: aload 8 - 239: astore_1 - 240: aload_0 - 241: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 244: aload_3 - 245: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 248: aload_3 - 249: invokevirtual #394 // Method io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - 252: aload_1 - 253: invokevirtual #200 // Method io/github/rosemoe/sora/text/Content.insert:(IILjava/lang/CharSequence;)V - 256: return - Exception table: - from to target type - 153 186 189 Class java/lang/Exception - LineNumberTable: - line 1753: 0 - line 1754: 5 - line 1755: 12 - line 1757: 39 - line 1758: 62 - line 1759: 71 - line 1760: 78 - line 1761: 91 - line 1762: 97 - line 1763: 106 - line 1764: 120 - line 1765: 132 - line 1767: 144 - line 1769: 147 - line 1775: 153 - line 1778: 186 - line 1776: 189 - line 1777: 191 - line 1779: 202 - line 1780: 212 - line 1781: 237 - line 1784: 240 - line 1786: 256 - LocalVariableTable: - Start Length Slot Name Signature - 191 11 8 e Ljava/lang/Exception; - 91 149 5 line Ljava/lang/String; - 94 146 6 p I - 97 143 7 count I - 212 28 8 sb Ljava/lang/StringBuilder; - 71 169 4 first C - 0 257 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 257 1 text Ljava/lang/CharSequence; - 0 257 2 applyAutoIndent Z - 5 252 3 cur Lio/github/rosemoe/sora/text/Cursor; - StackMapTable: number_of_entries = 9 - frame_type = 252 /* append */ - offset_delta = 39 - locals = [ class io/github/rosemoe/sora/text/Cursor ] - frame_type = 255 /* full_frame */ - offset_delta = 57 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class java/lang/CharSequence, int, class io/github/rosemoe/sora/text/Cursor, int, class java/lang/String, int, int ] - stack = [] - frame_type = 46 /* same */ - frame_type = 2 /* same */ - frame_type = 5 /* same */ - frame_type = 99 /* same_locals_1_stack_item */ - stack = [ class java/lang/Exception ] - frame_type = 12 /* same */ - frame_type = 255 /* full_frame */ - offset_delta = 37 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class java/lang/CharSequence, int, class io/github/rosemoe/sora/text/Cursor ] - stack = [] - frame_type = 15 /* same */ - - public float getLineInfoTextSize(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #415 // Field mLineInfoTextSize:F - 4: freturn - LineNumberTable: - line 1792: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setLineInfoTextSize(float); - descriptor: (F)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: fload_1 - 1: fconst_0 - 2: fcmpg - 3: ifgt 14 - 6: new #25 // class java/lang/IllegalArgumentException - 9: dup - 10: invokespecial #416 // Method java/lang/IllegalArgumentException."":()V - 13: athrow - 14: aload_0 - 15: fload_1 - 16: putfield #415 // Field mLineInfoTextSize:F - 19: return - LineNumberTable: - line 1801: 0 - line 1802: 6 - line 1804: 14 - line 1805: 19 - LocalVariableTable: - Start Length Slot Name Signature - 0 20 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 20 1 size F - StackMapTable: number_of_entries = 1 - frame_type = 14 /* same */ - - public void setNonPrintablePaintingFlags(int); - descriptor: (I)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #293 // Field mNonPrintableOptions:I - 5: aload_0 - 6: invokevirtual #187 // Method invalidate:()V - 9: return - LineNumberTable: - line 1822: 0 - line 1823: 5 - line 1824: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 flags I - - public int getNonPrintablePaintingFlags(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #293 // Field mNonPrintableOptions:I - 4: ireturn - LineNumberTable: - line 1836: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void ensureSelectionVisible(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=1, args_size=1 - 0: aload_0 - 1: aload_0 - 2: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 5: invokevirtual #198 // Method io/github/rosemoe/sora/text/Cursor.getRightLine:()I - 8: aload_0 - 9: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 12: invokevirtual #199 // Method io/github/rosemoe/sora/text/Cursor.getRightColumn:()I - 15: invokevirtual #418 // Method ensurePositionVisible:(II)V - 18: return - LineNumberTable: - line 1843: 0 - line 1844: 18 - LocalVariableTable: - Start Length Slot Name Signature - 0 19 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void ensurePositionVisible(int, int); - descriptor: (II)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=9, locals=10, args_size=3 - 0: aload_0 - 1: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 4: iload_1 - 5: iload_2 - 6: invokeinterface #42, 3 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getCharLayoutOffset:(II)[F - 11: astore_3 - 12: aload_3 - 13: iconst_1 - 14: faload - 15: aload_0 - 16: invokevirtual #43 // Method measureTextRegionOffset:()F - 19: fadd - 20: fstore 4 - 22: aload_3 - 23: iconst_0 - 24: faload - 25: fstore 5 - 27: aload_0 - 28: invokevirtual #45 // Method getOffsetY:()I - 31: i2f - 32: fstore 6 - 34: aload_0 - 35: invokevirtual #44 // Method getOffsetX:()I - 38: i2f - 39: fstore 7 - 41: fload 5 - 43: aload_0 - 44: invokevirtual #363 // Method getRowHeight:()I - 47: i2f - 48: fsub - 49: aload_0 - 50: invokevirtual #45 // Method getOffsetY:()I - 53: i2f - 54: fcmpg - 55: ifge 72 - 58: fload 5 - 60: aload_0 - 61: invokevirtual #363 // Method getRowHeight:()I - 64: i2f - 65: ldc_w #419 // float 1.1f - 68: fmul - 69: fsub - 70: fstore 6 - 72: fload 5 - 74: aload_0 - 75: invokevirtual #364 // Method getHeight:()I - 78: aload_0 - 79: invokevirtual #45 // Method getOffsetY:()I - 82: iadd - 83: i2f - 84: fcmpl - 85: ifle 108 - 88: fload 5 - 90: aload_0 - 91: invokevirtual #364 // Method getHeight:()I - 94: i2f - 95: fsub - 96: aload_0 - 97: invokevirtual #363 // Method getRowHeight:()I - 100: i2f - 101: ldc_w #420 // float 0.1f - 104: fmul - 105: fadd - 106: fstore 6 - 108: iload_2 - 109: ifne 116 - 112: fconst_0 - 113: goto 133 - 116: aload_0 - 117: aload_0 - 118: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 121: iload_1 - 122: invokevirtual #281 // Method io/github/rosemoe/sora/text/Content.getLine:(I)Lio/github/rosemoe/sora/text/ContentLine; - 125: iload_2 - 126: iconst_1 - 127: isub - 128: iconst_1 - 129: iload_1 - 130: invokevirtual #337 // Method measureText:(Lio/github/rosemoe/sora/text/ContentLine;III)F - 133: fstore 8 - 135: fload 4 - 137: aload_0 - 138: invokevirtual #44 // Method getOffsetX:()I - 141: i2f - 142: aload_0 - 143: getfield #186 // Field mPinLineNumber:Z - 146: ifeq 156 - 149: aload_0 - 150: invokevirtual #43 // Method measureTextRegionOffset:()F - 153: goto 157 - 156: fconst_0 - 157: fadd - 158: fcmpg - 159: ifge 190 - 162: fload 4 - 164: aload_0 - 165: getfield #186 // Field mPinLineNumber:Z - 168: ifeq 179 - 171: aload_0 - 172: invokevirtual #43 // Method measureTextRegionOffset:()F - 175: fneg - 176: goto 180 - 179: fconst_0 - 180: fadd - 181: fload 8 - 183: ldc_w #421 // float 0.2f - 186: fmul - 187: fsub - 188: fstore 7 - 190: fload 4 - 192: fload 8 - 194: fadd - 195: aload_0 - 196: invokevirtual #44 // Method getOffsetX:()I - 199: aload_0 - 200: invokevirtual #369 // Method getWidth:()I - 203: iadd - 204: i2f - 205: fcmpl - 206: ifle 226 - 209: fload 4 - 211: fload 8 - 213: ldc_w #422 // float 0.8f - 216: fmul - 217: fadd - 218: aload_0 - 219: invokevirtual #369 // Method getWidth:()I - 222: i2f - 223: fsub - 224: fstore 7 - 226: fconst_0 - 227: aload_0 - 228: invokevirtual #423 // Method getScrollMaxX:()I - 231: i2f - 232: fload 7 - 234: invokestatic #373 // Method java/lang/Math.min:(FF)F - 237: invokestatic #347 // Method java/lang/Math.max:(FF)F - 240: fstore 7 - 242: fconst_0 - 243: aload_0 - 244: invokevirtual #424 // Method getScrollMaxY:()I - 247: i2f - 248: fload 6 - 250: invokestatic #373 // Method java/lang/Math.min:(FF)F - 253: invokestatic #347 // Method java/lang/Math.max:(FF)F - 256: fstore 6 - 258: fload 7 - 260: aload_0 - 261: invokevirtual #44 // Method getOffsetX:()I - 264: i2f - 265: fconst_1 - 266: invokestatic #425 // Method io/github/rosemoe/sora/util/Floats.withinDelta:(FFF)Z - 269: ifeq 291 - 272: fload 6 - 274: aload_0 - 275: invokevirtual #45 // Method getOffsetY:()I - 278: i2f - 279: fconst_1 - 280: invokestatic #425 // Method io/github/rosemoe/sora/util/Floats.withinDelta:(FFF)Z - 283: ifeq 291 - 286: aload_0 - 287: invokevirtual #187 // Method invalidate:()V - 290: return - 291: invokestatic #32 // Method java/lang/System.currentTimeMillis:()J - 294: aload_0 - 295: getfield #10 // Field mLastMakeVisible:J - 298: lsub - 299: ldc2_w #426 // long 100l - 302: lcmp - 303: iflt 310 - 306: iconst_1 - 307: goto 311 - 310: iconst_0 - 311: istore 9 - 313: aload_0 - 314: invokestatic #32 // Method java/lang/System.currentTimeMillis:()J - 317: putfield #10 // Field mLastMakeVisible:J - 320: iload 9 - 322: ifeq 409 - 325: aload_0 - 326: invokevirtual #367 // Method getScroller:()Landroid/widget/OverScroller; - 329: iconst_1 - 330: invokevirtual #428 // Method android/widget/OverScroller.forceFinished:(Z)V - 333: aload_0 - 334: invokevirtual #367 // Method getScroller:()Landroid/widget/OverScroller; - 337: aload_0 - 338: invokevirtual #44 // Method getOffsetX:()I - 341: aload_0 - 342: invokevirtual #45 // Method getOffsetY:()I - 345: fload 7 - 347: aload_0 - 348: invokevirtual #44 // Method getOffsetX:()I - 351: i2f - 352: fsub - 353: f2i - 354: fload 6 - 356: aload_0 - 357: invokevirtual #45 // Method getOffsetY:()I - 360: i2f - 361: fsub - 362: f2i - 363: invokevirtual #429 // Method android/widget/OverScroller.startScroll:(IIII)V - 366: aload_0 - 367: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 370: getfield #430 // Field io/github/rosemoe/sora/widget/DirectAccessProps.awareScrollbarWhenAdjust:Z - 373: ifeq 443 - 376: aload_0 - 377: invokevirtual #45 // Method getOffsetY:()I - 380: i2f - 381: fload 6 - 383: fsub - 384: invokestatic #431 // Method java/lang/Math.abs:(F)F - 387: aload_0 - 388: getfield #37 // Field mDpUnit:F - 391: ldc_w #366 // float 100.0f - 394: fmul - 395: fcmpl - 396: ifle 443 - 399: aload_0 - 400: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 403: invokevirtual #432 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.notifyScrolled:()V - 406: goto 443 - 409: aload_0 - 410: invokevirtual #367 // Method getScroller:()Landroid/widget/OverScroller; - 413: aload_0 - 414: invokevirtual #44 // Method getOffsetX:()I - 417: aload_0 - 418: invokevirtual #45 // Method getOffsetY:()I - 421: fload 7 - 423: aload_0 - 424: invokevirtual #44 // Method getOffsetX:()I - 427: i2f - 428: fsub - 429: f2i - 430: fload 6 - 432: aload_0 - 433: invokevirtual #45 // Method getOffsetY:()I - 436: i2f - 437: fsub - 438: f2i - 439: iconst_0 - 440: invokevirtual #368 // Method android/widget/OverScroller.startScroll:(IIIII)V - 443: aload_0 - 444: new #433 // class io/github/rosemoe/sora/event/ScrollEvent - 447: dup - 448: aload_0 - 449: aload_0 - 450: invokevirtual #44 // Method getOffsetX:()I - 453: aload_0 - 454: invokevirtual #45 // Method getOffsetY:()I - 457: fload 7 - 459: f2i - 460: fload 6 - 462: f2i - 463: iconst_3 - 464: invokespecial #434 // Method io/github/rosemoe/sora/event/ScrollEvent."":(Lio/github/rosemoe/sora/widget/CodeEditor;IIIII)V - 467: invokevirtual #435 // Method dispatchEvent:(Lio/github/rosemoe/sora/event/Event;)I - 470: pop - 471: aload_0 - 472: invokevirtual #187 // Method invalidate:()V - 475: return - LineNumberTable: - line 1853: 0 - line 1855: 12 - line 1857: 22 - line 1859: 27 - line 1860: 34 - line 1862: 41 - line 1864: 58 - line 1866: 72 - line 1868: 88 - line 1870: 108 - line 1871: 135 - line 1872: 162 - line 1874: 190 - line 1875: 209 - line 1878: 226 - line 1879: 242 - line 1881: 258 - line 1882: 286 - line 1883: 290 - line 1886: 291 - line 1887: 313 - line 1889: 320 - line 1890: 325 - line 1891: 333 - line 1892: 366 - line 1893: 399 - line 1896: 409 - line 1899: 443 - line 1900: 454 - line 1899: 467 - line 1902: 471 - line 1903: 475 - LocalVariableTable: - Start Length Slot Name Signature - 0 476 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 476 1 line I - 0 476 2 column I - 12 464 3 layoutOffset [F - 22 454 4 xOffset F - 27 449 5 yOffset F - 34 442 6 targetY F - 41 435 7 targetX F - 135 341 8 charWidth F - 313 163 9 animation Z - StackMapTable: number_of_entries = 15 - frame_type = 255 /* full_frame */ - offset_delta = 72 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, int, class "[F", float, float, float, float ] - stack = [] - frame_type = 35 /* same */ - frame_type = 7 /* same */ - frame_type = 80 /* same_locals_1_stack_item */ - stack = [ float ] - frame_type = 255 /* full_frame */ - offset_delta = 22 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, int, class "[F", float, float, float, float, float ] - stack = [ float, float ] - frame_type = 255 /* full_frame */ - offset_delta = 0 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, int, class "[F", float, float, float, float, float ] - stack = [ float, float, float ] - frame_type = 85 /* same_locals_1_stack_item */ - stack = [ float ] - frame_type = 255 /* full_frame */ - offset_delta = 0 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, int, class "[F", float, float, float, float, float ] - stack = [ float, float ] - frame_type = 9 /* same */ - frame_type = 35 /* same */ - frame_type = 251 /* same_frame_extended */ - offset_delta = 64 - frame_type = 18 /* same */ - frame_type = 64 /* same_locals_1_stack_item */ - stack = [ int ] - frame_type = 252 /* append */ - offset_delta = 97 - locals = [ int ] - frame_type = 33 /* same */ - - public boolean hasClip(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #144 // Field mClipboardManager:Landroid/content/ClipboardManager; - 4: invokevirtual #436 // Method android/content/ClipboardManager.hasPrimaryClip:()Z - 7: ireturn - LineNumberTable: - line 1911: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public float getDpUnit(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #37 // Field mDpUnit:F - 4: freturn - LineNumberTable: - line 1920: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public android.widget.OverScroller getScroller(); - descriptor: ()Landroid/widget/OverScroller; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 4: invokevirtual #437 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.getScroller:()Landroid/widget/OverScroller; - 7: areturn - LineNumberTable: - line 1930: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public boolean isOverMaxY(float); - descriptor: (F)Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: fload_1 - 1: aload_0 - 2: invokevirtual #45 // Method getOffsetY:()I - 5: i2f - 6: fadd - 7: aload_0 - 8: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 11: invokeinterface #438, 1 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getLayoutHeight:()I - 16: i2f - 17: fcmpl - 18: ifle 25 - 21: iconst_1 - 22: goto 26 - 25: iconst_0 - 26: ireturn - LineNumberTable: - line 1940: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 27 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 27 1 posOnScreen F - StackMapTable: number_of_entries = 2 - frame_type = 25 /* same */ - frame_type = 64 /* same_locals_1_stack_item */ - stack = [ int ] - - public long getPointPosition(float, float); - descriptor: (FF)J - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=3, args_size=3 - 0: aload_0 - 1: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 4: fload_1 - 5: aload_0 - 6: invokevirtual #43 // Method measureTextRegionOffset:()F - 9: fsub - 10: fload_2 - 11: invokeinterface #439, 3 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getCharPositionForLayoutOffset:(FF)J - 16: lreturn - LineNumberTable: - line 1952: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 17 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 17 1 xOffset F - 0 17 2 yOffset F - - public long getPointPositionOnScreen(float, float); - descriptor: (FF)J - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=3, args_size=3 - 0: aload_0 - 1: fload_1 - 2: aload_0 - 3: invokevirtual #44 // Method getOffsetX:()I - 6: i2f - 7: fadd - 8: fload_2 - 9: aload_0 - 10: invokevirtual #45 // Method getOffsetY:()I - 13: i2f - 14: fadd - 15: invokevirtual #440 // Method getPointPosition:(FF)J - 18: lreturn - LineNumberTable: - line 1964: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 19 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 19 1 x F - 0 19 2 y F - - public int getScrollMaxY(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=1, args_size=1 - 0: iconst_0 - 1: aload_0 - 2: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 5: invokeinterface #438, 1 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getLayoutHeight:()I - 10: aload_0 - 11: invokevirtual #364 // Method getHeight:()I - 14: iconst_2 - 15: idiv - 16: isub - 17: invokestatic #277 // Method java/lang/Math.max:(II)I - 20: ireturn - LineNumberTable: - line 1973: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 21 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public int getScrollMaxX(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=1, args_size=1 - 0: fconst_0 - 1: aload_0 - 2: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 5: invokeinterface #441, 1 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getLayoutWidth:()I - 10: i2f - 11: aload_0 - 12: invokevirtual #43 // Method measureTextRegionOffset:()F - 15: fadd - 16: aload_0 - 17: invokevirtual #369 // Method getWidth:()I - 20: i2f - 21: fconst_2 - 22: fdiv - 23: fsub - 24: invokestatic #347 // Method java/lang/Math.max:(FF)F - 27: f2i - 28: ireturn - LineNumberTable: - line 1982: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 29 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public io.github.rosemoe.sora.widget.EditorSearcher getSearcher(); - descriptor: ()Lio/github/rosemoe/sora/widget/EditorSearcher; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #102 // Field mSearcher:Lio/github/rosemoe/sora/widget/EditorSearcher; - 4: areturn - LineNumberTable: - line 1991: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - protected void setSelectionAround(int, int); - descriptor: (II)V - flags: (0x0004) ACC_PROTECTED - Code: - stack=5, locals=4, args_size=3 - 0: iload_1 - 1: aload_0 - 2: invokevirtual #278 // Method getLineCount:()I - 5: if_icmpge 33 - 8: aload_0 - 9: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 12: iload_1 - 13: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 16: istore_3 - 17: iload_2 - 18: iload_3 - 19: if_icmple 24 - 22: iload_3 - 23: istore_2 - 24: aload_0 - 25: iload_1 - 26: iload_2 - 27: invokevirtual #206 // Method setSelection:(II)V - 30: goto 56 - 33: aload_0 - 34: aload_0 - 35: invokevirtual #278 // Method getLineCount:()I - 38: iconst_1 - 39: isub - 40: aload_0 - 41: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 44: aload_0 - 45: invokevirtual #278 // Method getLineCount:()I - 48: iconst_1 - 49: isub - 50: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 53: invokevirtual #206 // Method setSelection:(II)V - 56: return - LineNumberTable: - line 1999: 0 - line 2000: 8 - line 2001: 17 - line 2002: 22 - line 2004: 24 - line 2005: 30 - line 2006: 33 - line 2008: 56 - LocalVariableTable: - Start Length Slot Name Signature - 17 13 3 columnCount I - 0 57 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 57 1 line I - 0 57 2 column I - StackMapTable: number_of_entries = 3 - frame_type = 252 /* append */ - offset_delta = 24 - locals = [ int ] - frame_type = 250 /* chop */ - offset_delta = 8 - frame_type = 22 /* same */ - - public synchronized boolean formatCodeAsync(); - descriptor: ()Z - flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED - Code: - stack=6, locals=1, args_size=1 - 0: aload_0 - 1: getfield #442 // Field mFormatThread:Lio/github/rosemoe/sora/text/FormatThread; - 4: ifnull 9 - 7: iconst_0 - 8: ireturn - 9: aload_0 - 10: new #443 // class io/github/rosemoe/sora/text/FormatThread - 13: dup - 14: aload_0 - 15: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 18: aload_0 - 19: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 22: aload_0 - 23: invokespecial #444 // Method io/github/rosemoe/sora/text/FormatThread."":(Ljava/lang/CharSequence;Lio/github/rosemoe/sora/lang/Language;Lio/github/rosemoe/sora/text/FormatThread$FormatResultReceiver;)V - 26: putfield #442 // Field mFormatThread:Lio/github/rosemoe/sora/text/FormatThread; - 29: aload_0 - 30: getfield #442 // Field mFormatThread:Lio/github/rosemoe/sora/text/FormatThread; - 33: invokevirtual #445 // Method io/github/rosemoe/sora/text/FormatThread.start:()V - 36: iconst_1 - 37: ireturn - LineNumberTable: - line 2016: 0 - line 2017: 7 - line 2019: 9 - line 2020: 29 - line 2021: 36 - LocalVariableTable: - Start Length Slot Name Signature - 0 38 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 1 - frame_type = 9 /* same */ - - public synchronized boolean formatCodeAsync(io.github.rosemoe.sora.text.CharPosition, io.github.rosemoe.sora.text.CharPosition); - descriptor: (Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)Z - flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED - Code: - stack=8, locals=3, args_size=3 - 0: aload_1 - 1: getfield #446 // Field io/github/rosemoe/sora/text/CharPosition.index:I - 4: aload_2 - 5: getfield #446 // Field io/github/rosemoe/sora/text/CharPosition.index:I - 8: if_icmple 22 - 11: new #25 // class java/lang/IllegalArgumentException - 14: dup - 15: ldc_w #447 // String start > end - 18: invokespecial #27 // Method java/lang/IllegalArgumentException."":(Ljava/lang/String;)V - 21: athrow - 22: aload_0 - 23: getfield #442 // Field mFormatThread:Lio/github/rosemoe/sora/text/FormatThread; - 26: ifnull 31 - 29: iconst_0 - 30: ireturn - 31: aload_0 - 32: new #443 // class io/github/rosemoe/sora/text/FormatThread - 35: dup - 36: aload_0 - 37: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 40: aload_0 - 41: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 44: aload_0 - 45: aload_1 - 46: aload_2 - 47: invokespecial #448 // Method io/github/rosemoe/sora/text/FormatThread."":(Ljava/lang/CharSequence;Lio/github/rosemoe/sora/lang/Language;Lio/github/rosemoe/sora/text/FormatThread$FormatResultReceiver;Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - 50: putfield #442 // Field mFormatThread:Lio/github/rosemoe/sora/text/FormatThread; - 53: aload_0 - 54: getfield #442 // Field mFormatThread:Lio/github/rosemoe/sora/text/FormatThread; - 57: invokevirtual #445 // Method io/github/rosemoe/sora/text/FormatThread.start:()V - 60: iconst_1 - 61: ireturn - LineNumberTable: - line 2035: 0 - line 2036: 11 - line 2038: 22 - line 2039: 29 - line 2041: 31 - line 2042: 53 - line 2043: 60 - LocalVariableTable: - Start Length Slot Name Signature - 0 62 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 62 1 start Lio/github/rosemoe/sora/text/CharPosition; - 0 62 2 end Lio/github/rosemoe/sora/text/CharPosition; - StackMapTable: number_of_entries = 2 - frame_type = 22 /* same */ - frame_type = 8 /* same */ - - public int getTabWidth(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #327 // Field mTabWidth:I - 4: ireturn - LineNumberTable: - line 2052: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setTabWidth(int); - descriptor: (I)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: iload_1 - 1: iconst_1 - 2: if_icmpge 16 - 5: new #25 // class java/lang/IllegalArgumentException - 8: dup - 9: ldc_w #449 // String width can not be under 1 - 12: invokespecial #27 // Method java/lang/IllegalArgumentException."":(Ljava/lang/String;)V - 15: athrow - 16: aload_0 - 17: iload_1 - 18: putfield #327 // Field mTabWidth:I - 21: aload_0 - 22: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 25: invokevirtual #258 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateHwRenderer:()V - 28: aload_0 - 29: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 32: invokevirtual #223 // Method io/github/rosemoe/sora/widget/EditorPainter.updateTimestamp:()V - 35: aload_0 - 36: invokevirtual #187 // Method invalidate:()V - 39: return - LineNumberTable: - line 2061: 0 - line 2062: 5 - line 2064: 16 - line 2065: 21 - line 2066: 28 - line 2067: 35 - line 2068: 39 - LocalVariableTable: - Start Length Slot Name Signature - 0 40 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 40 1 width I - StackMapTable: number_of_entries = 1 - frame_type = 16 /* same */ - - public void setScaleTextSizes(float, float); - descriptor: (FF)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=3, args_size=3 - 0: fload_1 - 1: fload_2 - 2: fcmpl - 3: ifle 17 - 6: new #25 // class java/lang/IllegalArgumentException - 9: dup - 10: ldc_w #450 // String min size can not be bigger than max size - 13: invokespecial #27 // Method java/lang/IllegalArgumentException."":(Ljava/lang/String;)V - 16: athrow - 17: fload_1 - 18: fconst_2 - 19: fcmpg - 20: ifge 34 - 23: new #25 // class java/lang/IllegalArgumentException - 26: dup - 27: ldc_w #451 // String min size must be at least 2px - 30: invokespecial #27 // Method java/lang/IllegalArgumentException."":(Ljava/lang/String;)V - 33: athrow - 34: aload_0 - 35: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 38: fload_1 - 39: putfield #452 // Field io/github/rosemoe/sora/widget/EditorTouchEventHandler.scaleMinSize:F - 42: aload_0 - 43: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 46: fload_2 - 47: putfield #453 // Field io/github/rosemoe/sora/widget/EditorTouchEventHandler.scaleMaxSize:F - 50: return - LineNumberTable: - line 2076: 0 - line 2077: 6 - line 2079: 17 - line 2080: 23 - line 2082: 34 - line 2083: 42 - line 2084: 50 - LocalVariableTable: - Start Length Slot Name Signature - 0 51 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 51 1 minSize F - 0 51 2 maxSize F - StackMapTable: number_of_entries = 2 - frame_type = 17 /* same */ - frame_type = 16 /* same */ - - public boolean isInterceptParentHorizontalScrollEnabled(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #454 // Field mForceHorizontalScrollable:Z - 4: ireturn - LineNumberTable: - line 2090: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setInterceptParentHorizontalScrollIfNeeded(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=3, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #454 // Field mForceHorizontalScrollable:Z - 5: iload_1 - 6: ifne 25 - 9: aload_0 - 10: invokevirtual #455 // Method getParent:()Landroid/view/ViewParent; - 13: astore_2 - 14: aload_2 - 15: ifnull 25 - 18: aload_2 - 19: iconst_0 - 20: invokeinterface #456, 2 // InterfaceMethod android/view/ViewParent.requestDisallowInterceptTouchEvent:(Z)V - 25: return - LineNumberTable: - line 2101: 0 - line 2102: 5 - line 2103: 9 - line 2104: 14 - line 2105: 18 - line 2108: 25 - LocalVariableTable: - Start Length Slot Name Signature - 14 11 2 parent Landroid/view/ViewParent; - 0 26 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 26 1 forceHorizontalScrollable Z - StackMapTable: number_of_entries = 1 - frame_type = 25 /* same */ - - public void setHighlightBracketPair(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #150 // Field mHighlightBracketPair:Z - 5: iload_1 - 6: ifne 19 - 9: aload_0 - 10: getfield #58 // Field mStyleDelegate:Lio/github/rosemoe/sora/widget/EditorStyleDelegate; - 13: invokevirtual #457 // Method io/github/rosemoe/sora/widget/EditorStyleDelegate.clearFoundBracketPair:()V - 16: goto 26 - 19: aload_0 - 20: getfield #58 // Field mStyleDelegate:Lio/github/rosemoe/sora/widget/EditorStyleDelegate; - 23: invokevirtual #458 // Method io/github/rosemoe/sora/widget/EditorStyleDelegate.postUpdateBracketPair:()V - 26: aload_0 - 27: invokevirtual #187 // Method invalidate:()V - 30: return - LineNumberTable: - line 2114: 0 - line 2115: 5 - line 2116: 9 - line 2118: 19 - line 2120: 26 - line 2121: 30 - LocalVariableTable: - Start Length Slot Name Signature - 0 31 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 31 1 highlightBracketPair Z - StackMapTable: number_of_entries = 2 - frame_type = 19 /* same */ - frame_type = 6 /* same */ - - public boolean isHighlightBracketPair(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #150 // Field mHighlightBracketPair:Z - 4: ireturn - LineNumberTable: - line 2127: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public int getInputType(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #459 // Field mInputType:I - 4: ireturn - LineNumberTable: - line 2134: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setInputType(int); - descriptor: (I)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #459 // Field mInputType:I - 5: aload_0 - 6: invokevirtual #460 // Method restartInput:()V - 9: return - LineNumberTable: - line 2145: 0 - line 2146: 5 - line 2147: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 inputType I - - public void undo(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 4: invokevirtual #461 // Method io/github/rosemoe/sora/text/Content.undo:()V - 7: aload_0 - 8: invokevirtual #196 // Method notifyIMEExternalCursorChange:()V - 11: aload_0 - 12: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 15: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 18: return - LineNumberTable: - line 2153: 0 - line 2154: 7 - line 2155: 11 - line 2156: 18 - LocalVariableTable: - Start Length Slot Name Signature - 0 19 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void redo(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 4: invokevirtual #462 // Method io/github/rosemoe/sora/text/Content.redo:()V - 7: aload_0 - 8: invokevirtual #196 // Method notifyIMEExternalCursorChange:()V - 11: aload_0 - 12: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 15: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 18: return - LineNumberTable: - line 2162: 0 - line 2163: 7 - line 2164: 11 - line 2165: 18 - LocalVariableTable: - Start Length Slot Name Signature - 0 19 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public boolean canUndo(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 4: invokevirtual #463 // Method io/github/rosemoe/sora/text/Content.canUndo:()Z - 7: ireturn - LineNumberTable: - line 2173: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public boolean canRedo(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 4: invokevirtual #464 // Method io/github/rosemoe/sora/text/Content.canRedo:()Z - 7: ireturn - LineNumberTable: - line 2182: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public boolean isUndoEnabled(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #465 // Field mUndoEnabled:Z - 4: ireturn - LineNumberTable: - line 2190: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setUndoEnabled(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #465 // Field mUndoEnabled:Z - 5: aload_0 - 6: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 9: ifnull 20 - 12: aload_0 - 13: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 16: iload_1 - 17: invokevirtual #466 // Method io/github/rosemoe/sora/text/Content.setUndoEnabled:(Z)V - 20: return - LineNumberTable: - line 2199: 0 - line 2200: 5 - line 2201: 12 - line 2203: 20 - LocalVariableTable: - Start Length Slot Name Signature - 0 21 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 21 1 enabled Z - StackMapTable: number_of_entries = 1 - frame_type = 20 /* same */ - - public void setDiagnosticIndicatorStyle(io.github.rosemoe.sora.widget.style.DiagnosticIndicatorStyle); - descriptor: (Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: aload_1 - 2: putfield #9 // Field mDiagnosticStyle:Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle; - 5: aload_0 - 6: invokevirtual #187 // Method invalidate:()V - 9: return - LineNumberTable: - line 2206: 0 - line 2207: 5 - line 2208: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 diagnosticIndicatorStyle Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle; - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #957() - androidx.annotation.NonNull - - public io.github.rosemoe.sora.widget.style.DiagnosticIndicatorStyle getDiagnosticIndicatorStyle(); - descriptor: ()Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #9 // Field mDiagnosticStyle:Lio/github/rosemoe/sora/widget/style/DiagnosticIndicatorStyle; - 4: areturn - LineNumberTable: - line 2211: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void beginSearchMode(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=1 - 0: new #467 // class io/github/rosemoe/sora/widget/CodeEditor$1SearchActionMode - 3: dup - 4: aload_0 - 5: invokespecial #468 // Method io/github/rosemoe/sora/widget/CodeEditor$1SearchActionMode."":(Lio/github/rosemoe/sora/widget/CodeEditor;)V - 8: astore_1 - 9: aload_0 - 10: aload_1 - 11: invokevirtual #469 // Method startActionMode:(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode; - 14: pop - 15: return - LineNumberTable: - line 2303: 0 - line 2304: 9 - line 2305: 15 - LocalVariableTable: - Start Length Slot Name Signature - 0 16 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 9 7 1 callback Landroid/view/ActionMode$Callback; - - public io.github.rosemoe.sora.widget.EditorTouchEventHandler getEventHandler(); - descriptor: ()Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 4: areturn - LineNumberTable: - line 2311: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public float getDividerMargin(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #35 // Field mDividerMargin:F - 4: freturn - LineNumberTable: - line 2319: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setDividerMargin(float); - descriptor: (F)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: fload_1 - 1: fconst_0 - 2: fcmpg - 3: ifge 17 - 6: new #25 // class java/lang/IllegalArgumentException - 9: dup - 10: ldc_w #470 // String margin can not be under zero - 13: invokespecial #27 // Method java/lang/IllegalArgumentException."":(Ljava/lang/String;)V - 16: athrow - 17: aload_0 - 18: fload_1 - 19: putfield #35 // Field mDividerMargin:F - 22: aload_0 - 23: invokevirtual #187 // Method invalidate:()V - 26: return - LineNumberTable: - line 2328: 0 - line 2329: 6 - line 2331: 17 - line 2332: 22 - line 2333: 26 - LocalVariableTable: - Start Length Slot Name Signature - 0 27 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 27 1 dividerMargin F - StackMapTable: number_of_entries = 1 - frame_type = 17 /* same */ - - public float getDividerWidth(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #36 // Field mDividerWidth:F - 4: freturn - LineNumberTable: - line 2340: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setDividerWidth(float); - descriptor: (F)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: fload_1 - 1: fconst_0 - 2: fcmpg - 3: ifge 17 - 6: new #25 // class java/lang/IllegalArgumentException - 9: dup - 10: ldc_w #471 // String width can not be under zero - 13: invokespecial #27 // Method java/lang/IllegalArgumentException."":(Ljava/lang/String;)V - 16: athrow - 17: aload_0 - 18: fload_1 - 19: putfield #36 // Field mDividerWidth:F - 22: aload_0 - 23: invokevirtual #187 // Method invalidate:()V - 26: return - LineNumberTable: - line 2349: 0 - line 2350: 6 - line 2352: 17 - line 2353: 22 - line 2354: 26 - LocalVariableTable: - Start Length Slot Name Signature - 0 27 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 27 1 dividerWidth F - StackMapTable: number_of_entries = 1 - frame_type = 17 /* same */ - - public android.graphics.Typeface getTypefaceLineNumber(); - descriptor: ()Landroid/graphics/Typeface; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #220 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaintOther:()Lio/github/rosemoe/sora/graphics/Paint; - 7: invokevirtual #472 // Method io/github/rosemoe/sora/graphics/Paint.getTypeface:()Landroid/graphics/Typeface; - 10: areturn - LineNumberTable: - line 2361: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 11 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setTypefaceLineNumber(android.graphics.Typeface); - descriptor: (Landroid/graphics/Typeface;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: aload_1 - 5: invokevirtual #473 // Method io/github/rosemoe/sora/widget/EditorPainter.setTypefaceLineNumber:(Landroid/graphics/Typeface;)V - 8: return - LineNumberTable: - line 2370: 0 - line 2371: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 9 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 9 1 typefaceLineNumber Landroid/graphics/Typeface; - - public android.graphics.Typeface getTypefaceText(); - descriptor: ()Landroid/graphics/Typeface; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #113 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - 7: invokevirtual #472 // Method io/github/rosemoe/sora/graphics/Paint.getTypeface:()Landroid/graphics/Typeface; - 10: areturn - LineNumberTable: - line 2378: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 11 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setTypefaceText(android.graphics.Typeface); - descriptor: (Landroid/graphics/Typeface;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: aload_1 - 5: invokevirtual #474 // Method io/github/rosemoe/sora/widget/EditorPainter.setTypefaceText:(Landroid/graphics/Typeface;)V - 8: return - LineNumberTable: - line 2387: 0 - line 2388: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 9 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 9 1 typefaceText Landroid/graphics/Typeface; - - public void setTextScaleX(float); - descriptor: (F)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: fload_1 - 5: invokevirtual #475 // Method io/github/rosemoe/sora/widget/EditorPainter.setTextScaleX:(F)V - 8: return - LineNumberTable: - line 2397: 0 - line 2398: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 9 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 9 1 textScaleX F - - public float getTextScaleX(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #113 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - 7: invokevirtual #476 // Method io/github/rosemoe/sora/graphics/Paint.getTextScaleX:()F - 10: freturn - LineNumberTable: - line 2404: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 11 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setTextLetterSpacing(float); - descriptor: (F)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: fload_1 - 5: invokevirtual #477 // Method io/github/rosemoe/sora/widget/EditorPainter.setLetterSpacing:(F)V - 8: return - LineNumberTable: - line 2414: 0 - line 2415: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 9 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 9 1 textLetterSpacing F - - public float getTextLetterSpacing(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #113 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - 7: invokevirtual #478 // Method io/github/rosemoe/sora/graphics/Paint.getLetterSpacing:()F - 10: freturn - LineNumberTable: - line 2421: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 11 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public android.graphics.Paint$Align getLineNumberAlign(); - descriptor: ()Landroid/graphics/Paint$Align; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #132 // Field mLineNumberAlign:Landroid/graphics/Paint$Align; - 4: areturn - LineNumberTable: - line 2429: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setLineNumberAlign(android.graphics.Paint$Align); - descriptor: (Landroid/graphics/Paint$Align;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_1 - 1: ifnonnull 8 - 4: getstatic #479 // Field android/graphics/Paint$Align.LEFT:Landroid/graphics/Paint$Align; - 7: astore_1 - 8: aload_0 - 9: aload_1 - 10: putfield #132 // Field mLineNumberAlign:Landroid/graphics/Paint$Align; - 13: aload_0 - 14: invokevirtual #187 // Method invalidate:()V - 17: return - LineNumberTable: - line 2438: 0 - line 2439: 4 - line 2441: 8 - line 2442: 13 - line 2443: 17 - LocalVariableTable: - Start Length Slot Name Signature - 0 18 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 18 1 align Landroid/graphics/Paint$Align; - StackMapTable: number_of_entries = 1 - frame_type = 8 /* same */ - - public void setCursorWidth(float); - descriptor: (F)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: fload_1 - 1: fconst_0 - 2: fcmpg - 3: ifge 17 - 6: new #25 // class java/lang/IllegalArgumentException - 9: dup - 10: ldc_w #471 // String width can not be under zero - 13: invokespecial #27 // Method java/lang/IllegalArgumentException."":(Ljava/lang/String;)V - 16: athrow - 17: aload_0 - 18: fload_1 - 19: putfield #93 // Field mInsertSelWidth:F - 22: aload_0 - 23: invokevirtual #187 // Method invalidate:()V - 26: return - LineNumberTable: - line 2451: 0 - line 2452: 6 - line 2454: 17 - line 2455: 22 - line 2456: 26 - LocalVariableTable: - Start Length Slot Name Signature - 0 27 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 27 1 width F - StackMapTable: number_of_entries = 1 - frame_type = 17 /* same */ - - public float getInsertSelectionWidth(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #93 // Field mInsertSelWidth:F - 4: freturn - LineNumberTable: - line 2459: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public io.github.rosemoe.sora.text.Cursor getCursor(); - descriptor: ()Lio/github/rosemoe/sora/text/Cursor; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 4: areturn - LineNumberTable: - line 2469: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public int getLineCount(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 4: invokevirtual #284 // Method io/github/rosemoe/sora/text/Content.getLineCount:()I - 7: ireturn - LineNumberTable: - line 2478: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public int getFirstVisibleLine(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=1 - 0: aload_0 - 1: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 4: aload_0 - 5: invokevirtual #480 // Method getFirstVisibleRow:()I - 8: invokeinterface #481, 2 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getLineNumberForRow:(I)I - 13: ireturn - 14: astore_1 - 15: iconst_0 - 16: ireturn - Exception table: - from to target type - 0 13 14 Class java/lang/IndexOutOfBoundsException - LineNumberTable: - line 2488: 0 - line 2489: 14 - line 2490: 15 - LocalVariableTable: - Start Length Slot Name Signature - 15 2 1 e Ljava/lang/IndexOutOfBoundsException; - 0 17 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 1 - frame_type = 78 /* same_locals_1_stack_item */ - stack = [ class java/lang/IndexOutOfBoundsException ] - - public int getFirstVisibleRow(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=1, args_size=1 - 0: iconst_0 - 1: aload_0 - 2: invokevirtual #45 // Method getOffsetY:()I - 5: aload_0 - 6: invokevirtual #363 // Method getRowHeight:()I - 9: idiv - 10: invokestatic #277 // Method java/lang/Math.max:(II)I - 13: ireturn - LineNumberTable: - line 2500: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 14 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public int getLastVisibleRow(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=1, args_size=1 - 0: iconst_0 - 1: aload_0 - 2: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 5: invokeinterface #438, 1 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getLayoutHeight:()I - 10: aload_0 - 11: invokevirtual #45 // Method getOffsetY:()I - 14: aload_0 - 15: invokevirtual #364 // Method getHeight:()I - 18: iadd - 19: invokestatic #279 // Method java/lang/Math.min:(II)I - 22: aload_0 - 23: invokevirtual #363 // Method getRowHeight:()I - 26: idiv - 27: invokestatic #277 // Method java/lang/Math.max:(II)I - 30: ireturn - LineNumberTable: - line 2510: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 31 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public int getLastVisibleLine(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=1 - 0: aload_0 - 1: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 4: aload_0 - 5: invokevirtual #483 // Method getLastVisibleRow:()I - 8: invokeinterface #481, 2 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getLineNumberForRow:(I)I - 13: ireturn - 14: astore_1 - 15: aload_0 - 16: invokevirtual #278 // Method getLineCount:()I - 19: iconst_1 - 20: isub - 21: ireturn - Exception table: - from to target type - 0 13 14 Class java/lang/IndexOutOfBoundsException - LineNumberTable: - line 2520: 0 - line 2521: 14 - line 2522: 15 - LocalVariableTable: - Start Length Slot Name Signature - 15 7 1 e Ljava/lang/IndexOutOfBoundsException; - 0 22 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 1 - frame_type = 78 /* same_locals_1_stack_item */ - stack = [ class java/lang/IndexOutOfBoundsException ] - - public boolean isRowVisible(int); - descriptor: (I)Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: invokevirtual #480 // Method getFirstVisibleRow:()I - 4: iload_1 - 5: if_icmpgt 20 - 8: iload_1 - 9: aload_0 - 10: invokevirtual #483 // Method getLastVisibleRow:()I - 13: if_icmpgt 20 - 16: iconst_1 - 17: goto 21 - 20: iconst_0 - 21: ireturn - LineNumberTable: - line 2533: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 22 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 22 1 row I - StackMapTable: number_of_entries = 2 - frame_type = 20 /* same */ - frame_type = 64 /* same_locals_1_stack_item */ - stack = [ int ] - - public void setLineSpacing(float, float); - descriptor: (FF)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=3, args_size=3 - 0: aload_0 - 1: fload_1 - 2: putfield #7 // Field mLineSpacingAdd:F - 5: aload_0 - 6: fload_2 - 7: putfield #6 // Field mLineSpacingMultiplier:F - 10: return - LineNumberTable: - line 2547: 0 - line 2548: 5 - line 2549: 10 - LocalVariableTable: - Start Length Slot Name Signature - 0 11 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 11 1 add F - 0 11 2 mult F - - public float getLineSpacingExtra(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #7 // Field mLineSpacingAdd:F - 4: freturn - LineNumberTable: - line 2560: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setLineSpacingExtra(float); - descriptor: (F)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: fload_1 - 2: putfield #7 // Field mLineSpacingAdd:F - 5: aload_0 - 6: invokevirtual #187 // Method invalidate:()V - 9: return - LineNumberTable: - line 2568: 0 - line 2569: 5 - line 2570: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 lineSpacingExtra F - - public void setLineSpacingMultiplier(float); - descriptor: (F)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: fload_1 - 2: putfield #6 // Field mLineSpacingMultiplier:F - 5: aload_0 - 6: invokevirtual #187 // Method invalidate:()V - 9: return - LineNumberTable: - line 2578: 0 - line 2579: 5 - line 2580: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 lineSpacingMultiplier F - - public float getLineSpacingMultiplier(); - descriptor: ()F - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #6 // Field mLineSpacingMultiplier:F - 4: freturn - LineNumberTable: - line 2587: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public int getLineSpacingPixels(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: getfield #484 // Field io/github/rosemoe/sora/widget/EditorPainter.mTextMetrics:Landroid/graphics/Paint$FontMetricsInt; - 7: astore_1 - 8: aload_1 - 9: getfield #485 // Field android/graphics/Paint$FontMetricsInt.descent:I - 12: aload_1 - 13: getfield #486 // Field android/graphics/Paint$FontMetricsInt.ascent:I - 16: isub - 17: i2f - 18: aload_0 - 19: getfield #6 // Field mLineSpacingMultiplier:F - 22: fconst_1 - 23: fsub - 24: fmul - 25: aload_0 - 26: getfield #7 // Field mLineSpacingAdd:F - 29: fadd - 30: f2i - 31: iconst_2 - 32: idiv - 33: iconst_2 - 34: imul - 35: ireturn - LineNumberTable: - line 2594: 0 - line 2595: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 36 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 8 28 1 metrics Landroid/graphics/Paint$FontMetricsInt; - - public int getRowBaseline(int); - descriptor: (I)I - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: aload_0 - 1: invokevirtual #363 // Method getRowHeight:()I - 4: iload_1 - 5: iconst_1 - 6: iadd - 7: imul - 8: aload_0 - 9: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 12: getfield #484 // Field io/github/rosemoe/sora/widget/EditorPainter.mTextMetrics:Landroid/graphics/Paint$FontMetricsInt; - 15: getfield #485 // Field android/graphics/Paint$FontMetricsInt.descent:I - 18: isub - 19: aload_0 - 20: invokevirtual #487 // Method getLineSpacingPixels:()I - 23: iconst_2 - 24: idiv - 25: isub - 26: ireturn - LineNumberTable: - line 2605: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 27 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 27 1 row I - - public int getRowHeight(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: getfield #484 // Field io/github/rosemoe/sora/widget/EditorPainter.mTextMetrics:Landroid/graphics/Paint$FontMetricsInt; - 7: astore_1 - 8: iconst_1 - 9: aload_1 - 10: getfield #485 // Field android/graphics/Paint$FontMetricsInt.descent:I - 13: aload_1 - 14: getfield #486 // Field android/graphics/Paint$FontMetricsInt.ascent:I - 17: isub - 18: aload_0 - 19: invokevirtual #487 // Method getLineSpacingPixels:()I - 22: iadd - 23: invokestatic #277 // Method java/lang/Math.max:(II)I - 26: ireturn - LineNumberTable: - line 2614: 0 - line 2616: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 27 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 8 19 1 metrics Landroid/graphics/Paint$FontMetricsInt; - - public int getRowTop(int); - descriptor: (I)I - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: invokevirtual #363 // Method getRowHeight:()I - 4: iload_1 - 5: imul - 6: ireturn - LineNumberTable: - line 2626: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 7 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 7 1 row I - - public int getRowBottom(int); - descriptor: (I)I - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: aload_0 - 1: invokevirtual #363 // Method getRowHeight:()I - 4: iload_1 - 5: iconst_1 - 6: iadd - 7: imul - 8: ireturn - LineNumberTable: - line 2636: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 9 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 9 1 row I - - public int getRowTopOfText(int); - descriptor: (I)I - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: invokevirtual #387 // Method getRowTop:(I)I - 5: aload_0 - 6: invokevirtual #487 // Method getLineSpacingPixels:()I - 9: iconst_2 - 10: idiv - 11: iadd - 12: ireturn - LineNumberTable: - line 2643: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 13 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 13 1 row I - - public int getRowBottomOfText(int); - descriptor: (I)I - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: invokevirtual #389 // Method getRowBottom:(I)I - 5: aload_0 - 6: invokevirtual #487 // Method getLineSpacingPixels:()I - 9: iconst_2 - 10: idiv - 11: isub - 12: ireturn - LineNumberTable: - line 2650: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 13 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 13 1 row I - - public int getRowHeightOfText(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: getfield #484 // Field io/github/rosemoe/sora/widget/EditorPainter.mTextMetrics:Landroid/graphics/Paint$FontMetricsInt; - 7: astore_1 - 8: aload_1 - 9: getfield #485 // Field android/graphics/Paint$FontMetricsInt.descent:I - 12: aload_1 - 13: getfield #486 // Field android/graphics/Paint$FontMetricsInt.ascent:I - 16: isub - 17: ireturn - LineNumberTable: - line 2657: 0 - line 2658: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 18 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 8 10 1 metrics Landroid/graphics/Paint$FontMetricsInt; - - public int getOffsetX(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 4: invokevirtual #437 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.getScroller:()Landroid/widget/OverScroller; - 7: invokevirtual #488 // Method android/widget/OverScroller.getCurrX:()I - 10: ireturn - LineNumberTable: - line 2667: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 11 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public int getOffsetY(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 4: invokevirtual #437 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.getScroller:()Landroid/widget/OverScroller; - 7: invokevirtual #489 // Method android/widget/OverScroller.getCurrY:()I - 10: ireturn - LineNumberTable: - line 2676: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 11 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setLayoutBusy(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #490 // Field mLayoutBusy:Z - 5: return - LineNumberTable: - line 2684: 0 - line 2685: 5 - LocalVariableTable: - Start Length Slot Name Signature - 0 6 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 6 1 busy Z - RuntimeInvisibleAnnotations: - 0: #1166() - io.github.rosemoe.sora.annotations.UnsupportedUserUsage - - public boolean isEditable(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #491 // Field mEditable:Z - 4: ifeq 18 - 7: aload_0 - 8: getfield #490 // Field mLayoutBusy:Z - 11: ifne 18 - 14: iconst_1 - 15: goto 19 - 18: iconst_0 - 19: ireturn - LineNumberTable: - line 2693: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 20 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 2 - frame_type = 18 /* same */ - frame_type = 64 /* same_locals_1_stack_item */ - stack = [ int ] - - public void setEditable(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #491 // Field mEditable:Z - 5: iload_1 - 6: ifne 13 - 9: aload_0 - 10: invokevirtual #492 // Method hideSoftInput:()V - 13: return - LineNumberTable: - line 2702: 0 - line 2703: 5 - line 2704: 9 - line 2706: 13 - LocalVariableTable: - Start Length Slot Name Signature - 0 14 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 14 1 editable Z - StackMapTable: number_of_entries = 1 - frame_type = 13 /* same */ - - public void setScalable(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #493 // Field mScalable:Z - 5: return - LineNumberTable: - line 2714: 0 - line 2715: 5 - LocalVariableTable: - Start Length Slot Name Signature - 0 6 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 6 1 scale Z - - public boolean isScalable(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #493 // Field mScalable:Z - 4: ireturn - LineNumberTable: - line 2722: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setBlockLineEnabled(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: putfield #134 // Field mBlockLineEnabled:Z - 5: aload_0 - 6: invokevirtual #187 // Method invalidate:()V - 9: return - LineNumberTable: - line 2726: 0 - line 2727: 5 - line 2728: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 enabled Z - - public boolean isBlockLineEnabled(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #134 // Field mBlockLineEnabled:Z - 4: ireturn - LineNumberTable: - line 2731: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void moveSelectionDown(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=6, locals=3, args_size=1 - 0: aload_0 - 1: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 4: ifnonnull 64 - 7: aload_0 - 8: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 11: invokevirtual #375 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.isShowing:()Z - 14: ifeq 25 - 17: aload_0 - 18: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 21: invokevirtual #499 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.moveDown:()V - 24: return - 25: aload_0 - 26: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 29: aload_0 - 30: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 33: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 36: aload_0 - 37: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 40: invokevirtual #394 // Method io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - 43: invokeinterface #500, 3 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getDownPosition:(II)J - 48: lstore_1 - 49: aload_0 - 50: lload_1 - 51: invokestatic #275 // Method io/github/rosemoe/sora/util/IntPair.getFirst:(J)I - 54: lload_1 - 55: invokestatic #276 // Method io/github/rosemoe/sora/util/IntPair.getSecond:(J)I - 58: invokevirtual #206 // Method setSelection:(II)V - 61: goto 126 - 64: aload_0 - 65: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 68: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 71: aload_0 - 72: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 75: aload_0 - 76: invokevirtual #501 // Method getSelectingTarget:()Lio/github/rosemoe/sora/text/CharPosition; - 79: invokevirtual #502 // Method io/github/rosemoe/sora/text/CharPosition.getLine:()I - 82: aload_0 - 83: invokevirtual #501 // Method getSelectingTarget:()Lio/github/rosemoe/sora/text/CharPosition; - 86: invokevirtual #503 // Method io/github/rosemoe/sora/text/CharPosition.getColumn:()I - 89: invokeinterface #500, 3 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getDownPosition:(II)J - 94: lstore_1 - 95: aload_0 - 96: aload_0 - 97: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 100: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 103: aload_0 - 104: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 107: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 110: lload_1 - 111: invokestatic #275 // Method io/github/rosemoe/sora/util/IntPair.getFirst:(J)I - 114: lload_1 - 115: invokestatic #276 // Method io/github/rosemoe/sora/util/IntPair.getSecond:(J)I - 118: iconst_0 - 119: invokevirtual #504 // Method setSelectionRegion:(IIIIZ)V - 122: aload_0 - 123: invokevirtual #505 // Method ensureSelectingTargetVisible:()V - 126: return - LineNumberTable: - line 2762: 0 - line 2763: 7 - line 2764: 17 - line 2765: 24 - line 2767: 25 - line 2768: 49 - line 2769: 61 - line 2770: 64 - line 2771: 71 - line 2772: 95 - line 2773: 122 - line 2775: 126 - LocalVariableTable: - Start Length Slot Name Signature - 49 12 1 pos J - 95 31 1 pos J - 0 127 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 3 - frame_type = 25 /* same */ - frame_type = 38 /* same */ - frame_type = 61 /* same */ - - public void moveSelectionUp(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=6, locals=3, args_size=1 - 0: aload_0 - 1: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 4: ifnonnull 64 - 7: aload_0 - 8: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 11: invokevirtual #375 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.isShowing:()Z - 14: ifeq 25 - 17: aload_0 - 18: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 21: invokevirtual #506 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.moveUp:()V - 24: return - 25: aload_0 - 26: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 29: aload_0 - 30: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 33: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 36: aload_0 - 37: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 40: invokevirtual #394 // Method io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - 43: invokeinterface #507, 3 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getUpPosition:(II)J - 48: lstore_1 - 49: aload_0 - 50: lload_1 - 51: invokestatic #275 // Method io/github/rosemoe/sora/util/IntPair.getFirst:(J)I - 54: lload_1 - 55: invokestatic #276 // Method io/github/rosemoe/sora/util/IntPair.getSecond:(J)I - 58: invokevirtual #206 // Method setSelection:(II)V - 61: goto 126 - 64: aload_0 - 65: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 68: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 71: aload_0 - 72: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 75: aload_0 - 76: invokevirtual #501 // Method getSelectingTarget:()Lio/github/rosemoe/sora/text/CharPosition; - 79: invokevirtual #502 // Method io/github/rosemoe/sora/text/CharPosition.getLine:()I - 82: aload_0 - 83: invokevirtual #501 // Method getSelectingTarget:()Lio/github/rosemoe/sora/text/CharPosition; - 86: invokevirtual #503 // Method io/github/rosemoe/sora/text/CharPosition.getColumn:()I - 89: invokeinterface #507, 3 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.getUpPosition:(II)J - 94: lstore_1 - 95: aload_0 - 96: aload_0 - 97: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 100: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 103: aload_0 - 104: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 107: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 110: lload_1 - 111: invokestatic #275 // Method io/github/rosemoe/sora/util/IntPair.getFirst:(J)I - 114: lload_1 - 115: invokestatic #276 // Method io/github/rosemoe/sora/util/IntPair.getSecond:(J)I - 118: iconst_0 - 119: invokevirtual #504 // Method setSelectionRegion:(IIIIZ)V - 122: aload_0 - 123: invokevirtual #505 // Method ensureSelectingTargetVisible:()V - 126: return - LineNumberTable: - line 2782: 0 - line 2783: 7 - line 2784: 17 - line 2785: 24 - line 2787: 25 - line 2788: 49 - line 2789: 61 - line 2790: 64 - line 2791: 71 - line 2792: 95 - line 2793: 122 - line 2795: 126 - LocalVariableTable: - Start Length Slot Name Signature - 49 12 1 pos J - 95 31 1 pos J - 0 127 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 3 - frame_type = 25 /* same */ - frame_type = 38 /* same */ - frame_type = 61 /* same */ - - public void moveSelectionLeft(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=6, locals=8, args_size=1 - 0: aload_0 - 1: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 4: ifnonnull 99 - 7: aload_0 - 8: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 11: astore_1 - 12: aload_1 - 13: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 16: istore_2 - 17: aload_1 - 18: invokevirtual #394 // Method io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - 21: istore_3 - 22: aload_0 - 23: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 26: iload_2 - 27: iload_3 - 28: invokestatic #273 // Method io/github/rosemoe/sora/util/IntPair.pack:(II)J - 31: invokevirtual #508 // Method io/github/rosemoe/sora/text/Cursor.getLeftOf:(J)J - 34: lstore 4 - 36: lload 4 - 38: invokestatic #275 // Method io/github/rosemoe/sora/util/IntPair.getFirst:(J)I - 41: istore 6 - 43: lload 4 - 45: invokestatic #276 // Method io/github/rosemoe/sora/util/IntPair.getSecond:(J)I - 48: istore 7 - 50: aload_0 - 51: iload 6 - 53: iload 7 - 55: invokevirtual #206 // Method setSelection:(II)V - 58: iload_2 - 59: iload 6 - 61: if_icmpne 96 - 64: aload_0 - 65: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 68: invokevirtual #375 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.isShowing:()Z - 71: ifeq 96 - 74: iload 7 - 76: ifne 89 - 79: aload_0 - 80: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 83: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 86: goto 96 - 89: aload_0 - 90: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 93: invokevirtual #509 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.requireCompletion:()V - 96: goto 152 - 99: aload_0 - 100: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 103: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 106: aload_0 - 107: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 110: aload_0 - 111: invokevirtual #501 // Method getSelectingTarget:()Lio/github/rosemoe/sora/text/CharPosition; - 114: invokevirtual #510 // Method io/github/rosemoe/sora/text/CharPosition.toIntPair:()J - 117: invokevirtual #508 // Method io/github/rosemoe/sora/text/Cursor.getLeftOf:(J)J - 120: lstore_1 - 121: aload_0 - 122: aload_0 - 123: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 126: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 129: aload_0 - 130: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 133: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 136: lload_1 - 137: invokestatic #275 // Method io/github/rosemoe/sora/util/IntPair.getFirst:(J)I - 140: lload_1 - 141: invokestatic #276 // Method io/github/rosemoe/sora/util/IntPair.getSecond:(J)I - 144: iconst_0 - 145: invokevirtual #504 // Method setSelectionRegion:(IIIIZ)V - 148: aload_0 - 149: invokevirtual #505 // Method ensureSelectingTargetVisible:()V - 152: return - LineNumberTable: - line 2801: 0 - line 2802: 7 - line 2803: 12 - line 2804: 17 - line 2805: 22 - line 2806: 36 - line 2807: 43 - line 2808: 50 - line 2809: 58 - line 2810: 64 - line 2811: 74 - line 2812: 79 - line 2814: 89 - line 2818: 96 - line 2819: 99 - line 2820: 106 - line 2821: 121 - line 2822: 148 - line 2824: 152 - LocalVariableTable: - Start Length Slot Name Signature - 12 84 1 c Lio/github/rosemoe/sora/text/Cursor; - 17 79 2 line I - 22 74 3 column I - 36 60 4 pos J - 43 53 6 lineAfter I - 50 46 7 columnAfter I - 121 31 1 pos J - 0 153 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 4 - frame_type = 255 /* full_frame */ - offset_delta = 89 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class io/github/rosemoe/sora/text/Cursor, int, int, long, int, int ] - stack = [] - frame_type = 255 /* full_frame */ - offset_delta = 6 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor ] - stack = [] - frame_type = 2 /* same */ - frame_type = 52 /* same */ - - public void moveSelectionRight(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=6, locals=9, args_size=1 - 0: aload_0 - 1: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 4: ifnonnull 94 - 7: aload_0 - 8: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 11: astore_1 - 12: aload_1 - 13: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 16: istore_2 - 17: aload_1 - 18: invokevirtual #394 // Method io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - 21: istore_3 - 22: aload_0 - 23: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 26: iload_2 - 27: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 30: istore 4 - 32: aload_0 - 33: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 36: iload_2 - 37: iload_3 - 38: invokestatic #273 // Method io/github/rosemoe/sora/util/IntPair.pack:(II)J - 41: invokevirtual #511 // Method io/github/rosemoe/sora/text/Cursor.getRightOf:(J)J - 44: lstore 5 - 46: lload 5 - 48: invokestatic #275 // Method io/github/rosemoe/sora/util/IntPair.getFirst:(J)I - 51: istore 7 - 53: lload 5 - 55: invokestatic #276 // Method io/github/rosemoe/sora/util/IntPair.getSecond:(J)I - 58: istore 8 - 60: aload_0 - 61: iload 7 - 63: iload 8 - 65: invokevirtual #206 // Method setSelection:(II)V - 68: iload_2 - 69: iload 7 - 71: if_icmpne 91 - 74: aload_0 - 75: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 78: invokevirtual #375 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.isShowing:()Z - 81: ifeq 91 - 84: aload_0 - 85: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 88: invokevirtual #509 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.requireCompletion:()V - 91: goto 147 - 94: aload_0 - 95: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 98: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 101: aload_0 - 102: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 105: aload_0 - 106: invokevirtual #501 // Method getSelectingTarget:()Lio/github/rosemoe/sora/text/CharPosition; - 109: invokevirtual #510 // Method io/github/rosemoe/sora/text/CharPosition.toIntPair:()J - 112: invokevirtual #511 // Method io/github/rosemoe/sora/text/Cursor.getRightOf:(J)J - 115: lstore_1 - 116: aload_0 - 117: aload_0 - 118: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 121: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 124: aload_0 - 125: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 128: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 131: lload_1 - 132: invokestatic #275 // Method io/github/rosemoe/sora/util/IntPair.getFirst:(J)I - 135: lload_1 - 136: invokestatic #276 // Method io/github/rosemoe/sora/util/IntPair.getSecond:(J)I - 139: iconst_0 - 140: invokevirtual #504 // Method setSelectionRegion:(IIIIZ)V - 143: aload_0 - 144: invokevirtual #505 // Method ensureSelectingTargetVisible:()V - 147: return - LineNumberTable: - line 2830: 0 - line 2831: 7 - line 2832: 12 - line 2833: 17 - line 2834: 22 - line 2835: 32 - line 2836: 46 - line 2837: 53 - line 2838: 60 - line 2839: 68 - line 2840: 84 - line 2842: 91 - line 2843: 94 - line 2844: 101 - line 2845: 116 - line 2846: 143 - line 2848: 147 - LocalVariableTable: - Start Length Slot Name Signature - 12 79 1 c Lio/github/rosemoe/sora/text/Cursor; - 17 74 2 line I - 22 69 3 column I - 32 59 4 c_column I - 46 45 5 pos J - 53 38 7 lineAfter I - 60 31 8 columnAfter I - 116 31 1 pos J - 0 148 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 3 - frame_type = 251 /* same_frame_extended */ - offset_delta = 91 - frame_type = 2 /* same */ - frame_type = 52 /* same */ - - public void moveSelectionEnd(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=6, locals=2, args_size=1 - 0: aload_0 - 1: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 4: ifnonnull 31 - 7: aload_0 - 8: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 11: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 14: istore_1 - 15: aload_0 - 16: iload_1 - 17: aload_0 - 18: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 21: iload_1 - 22: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 25: invokevirtual #206 // Method setSelection:(II)V - 28: goto 71 - 31: aload_0 - 32: invokevirtual #501 // Method getSelectingTarget:()Lio/github/rosemoe/sora/text/CharPosition; - 35: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 38: istore_1 - 39: aload_0 - 40: aload_0 - 41: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 44: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 47: aload_0 - 48: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 51: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 54: iload_1 - 55: aload_0 - 56: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 59: iload_1 - 60: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 63: iconst_0 - 64: invokevirtual #504 // Method setSelectionRegion:(IIIIZ)V - 67: aload_0 - 68: invokevirtual #505 // Method ensureSelectingTargetVisible:()V - 71: return - LineNumberTable: - line 2854: 0 - line 2855: 7 - line 2856: 15 - line 2857: 28 - line 2858: 31 - line 2859: 39 - line 2860: 67 - line 2862: 71 - LocalVariableTable: - Start Length Slot Name Signature - 15 13 1 line I - 39 32 1 line I - 0 72 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 2 - frame_type = 31 /* same */ - frame_type = 39 /* same */ - - public void moveSelectionHome(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=6, locals=1, args_size=1 - 0: aload_0 - 1: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 4: ifnonnull 22 - 7: aload_0 - 8: aload_0 - 9: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 12: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 15: iconst_0 - 16: invokevirtual #206 // Method setSelection:(II)V - 19: goto 53 - 22: aload_0 - 23: aload_0 - 24: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 27: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 30: aload_0 - 31: getfield #495 // Field mSelectionAnchor:Lio/github/rosemoe/sora/text/CharPosition; - 34: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 37: aload_0 - 38: invokevirtual #501 // Method getSelectingTarget:()Lio/github/rosemoe/sora/text/CharPosition; - 41: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 44: iconst_0 - 45: iconst_0 - 46: invokevirtual #504 // Method setSelectionRegion:(IIIIZ)V - 49: aload_0 - 50: invokevirtual #505 // Method ensureSelectingTargetVisible:()V - 53: return - LineNumberTable: - line 2868: 0 - line 2869: 7 - line 2871: 22 - line 2872: 49 - line 2874: 53 - LocalVariableTable: - Start Length Slot Name Signature - 0 54 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 2 - frame_type = 22 /* same */ - frame_type = 30 /* same */ - - public void setSelection(int, int); - descriptor: (II)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=3, args_size=3 - 0: aload_0 - 1: iload_1 - 2: iload_2 - 3: iconst_0 - 4: invokevirtual #513 // Method setSelection:(III)V - 7: return - LineNumberTable: - line 2883: 0 - line 2884: 7 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 8 1 line I - 0 8 2 column I - - public void setSelection(int, int, int); - descriptor: (III)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=5, locals=4, args_size=4 - 0: aload_0 - 1: iload_1 - 2: iload_2 - 3: iconst_1 - 4: iload_3 - 5: invokevirtual #514 // Method setSelection:(IIZI)V - 8: return - LineNumberTable: - line 2893: 0 - line 2894: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 9 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 9 1 line I - 0 9 2 column I - 0 9 3 cause I - - public void setSelection(int, int, boolean); - descriptor: (IIZ)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=5, locals=4, args_size=4 - 0: aload_0 - 1: iload_1 - 2: iload_2 - 3: iload_3 - 4: iconst_0 - 5: invokevirtual #514 // Method setSelection:(IIZI)V - 8: return - LineNumberTable: - line 2904: 0 - line 2905: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 9 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 9 1 line I - 0 9 2 column I - 0 9 3 makeItVisible Z - - public void setSelection(int, int, boolean, int); - descriptor: (IIZI)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=5, args_size=5 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #515 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateInCursor:()V - 7: aload_0 - 8: getfield #105 // Field mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - 11: invokeinterface #516, 1 // InterfaceMethod io/github/rosemoe/sora/widget/style/CursorAnimator.markStartPos:()V - 16: iload_2 - 17: ifle 55 - 20: aload_0 - 21: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 24: iload_1 - 25: iload_2 - 26: iconst_1 - 27: isub - 28: invokevirtual #398 // Method io/github/rosemoe/sora/text/Content.charAt:(II)C - 31: invokestatic #517 // Method java/lang/Character.isHighSurrogate:(C)Z - 34: ifeq 55 - 37: iinc 2, 1 - 40: iload_2 - 41: aload_0 - 42: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 45: iload_1 - 46: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 49: if_icmple 55 - 52: iinc 2, -1 - 55: aload_0 - 56: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 59: iload_1 - 60: iload_2 - 61: invokevirtual #518 // Method io/github/rosemoe/sora/text/Cursor.set:(II)V - 64: aload_0 - 65: getfield #225 // Field mHighlightCurrentBlock:Z - 68: ifeq 79 - 71: aload_0 - 72: aload_0 - 73: invokevirtual #226 // Method findCursorBlock:()I - 76: putfield #146 // Field mCursorPosition:I - 79: aload_0 - 80: invokevirtual #519 // Method updateCursor:()V - 83: aload_0 - 84: invokevirtual #520 // Method updateSelection:()V - 87: aload_0 - 88: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 91: invokevirtual #515 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateInCursor:()V - 94: aload_0 - 95: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 98: invokevirtual #521 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.hasAnyHeldHandle:()Z - 101: ifne 145 - 104: aload_0 - 105: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 108: getfield #522 // Field io/github/rosemoe/sora/widget/EditorInputConnection.mComposingText:Lio/github/rosemoe/sora/widget/ComposingText; - 111: invokevirtual #523 // Method io/github/rosemoe/sora/widget/ComposingText.isComposing:()Z - 114: ifne 145 - 117: aload_0 - 118: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 121: invokevirtual #524 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.shouldRejectComposing:()Z - 124: ifne 145 - 127: aload_0 - 128: getfield #105 // Field mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - 131: invokeinterface #525, 1 // InterfaceMethod io/github/rosemoe/sora/widget/style/CursorAnimator.markEndPos:()V - 136: aload_0 - 137: getfield #105 // Field mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - 140: invokeinterface #526, 1 // InterfaceMethod io/github/rosemoe/sora/widget/style/CursorAnimator.start:()V - 145: iload_3 - 146: ifeq 158 - 149: aload_0 - 150: iload_1 - 151: iload_2 - 152: invokevirtual #418 // Method ensurePositionVisible:(II)V - 155: goto 162 - 158: aload_0 - 159: invokevirtual #187 // Method invalidate:()V - 162: aload_0 - 163: iload 4 - 165: invokevirtual #527 // Method onSelectionChanged:(I)V - 168: return - LineNumberTable: - line 2915: 0 - line 2916: 7 - line 2917: 16 - line 2918: 37 - line 2919: 40 - line 2920: 52 - line 2923: 55 - line 2924: 64 - line 2925: 71 - line 2927: 79 - line 2928: 83 - line 2929: 87 - line 2930: 94 - line 2931: 127 - line 2932: 136 - line 2934: 145 - line 2935: 149 - line 2937: 158 - line 2939: 162 - line 2940: 168 - LocalVariableTable: - Start Length Slot Name Signature - 0 169 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 169 1 line I - 0 169 2 column I - 0 169 3 makeItVisible Z - 0 169 4 cause I - StackMapTable: number_of_entries = 5 - frame_type = 55 /* same */ - frame_type = 23 /* same */ - frame_type = 251 /* same_frame_extended */ - offset_delta = 65 - frame_type = 12 /* same */ - frame_type = 3 /* same */ - - public void selectAll(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=7, locals=1, args_size=1 - 0: aload_0 - 1: iconst_0 - 2: iconst_0 - 3: aload_0 - 4: invokevirtual #278 // Method getLineCount:()I - 7: iconst_1 - 8: isub - 9: aload_0 - 10: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 13: aload_0 - 14: invokevirtual #278 // Method getLineCount:()I - 17: iconst_1 - 18: isub - 19: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 22: invokevirtual #528 // Method setSelectionRegion:(IIII)V - 25: return - LineNumberTable: - line 2946: 0 - line 2947: 25 - LocalVariableTable: - Start Length Slot Name Signature - 0 26 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setSelectionRegion(int, int, int, int, int); - descriptor: (IIIII)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=7, locals=6, args_size=6 - 0: aload_0 - 1: iload_1 - 2: iload_2 - 3: iload_3 - 4: iload 4 - 6: iconst_1 - 7: iload 5 - 9: invokevirtual #529 // Method setSelectionRegion:(IIIIZI)V - 12: return - LineNumberTable: - line 2958: 0 - line 2959: 12 - LocalVariableTable: - Start Length Slot Name Signature - 0 13 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 13 1 lineLeft I - 0 13 2 columnLeft I - 0 13 3 lineRight I - 0 13 4 columnRight I - 0 13 5 cause I - - public void setSelectionRegion(int, int, int, int); - descriptor: (IIII)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=7, locals=5, args_size=5 - 0: aload_0 - 1: iload_1 - 2: iload_2 - 3: iload_3 - 4: iload 4 - 6: iconst_1 - 7: iconst_0 - 8: invokevirtual #529 // Method setSelectionRegion:(IIIIZI)V - 11: return - LineNumberTable: - line 2970: 0 - line 2971: 11 - LocalVariableTable: - Start Length Slot Name Signature - 0 12 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 12 1 lineLeft I - 0 12 2 columnLeft I - 0 12 3 lineRight I - 0 12 4 columnRight I - - public void setSelectionRegion(int, int, int, int, boolean); - descriptor: (IIIIZ)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=7, locals=6, args_size=6 - 0: aload_0 - 1: iload_1 - 2: iload_2 - 3: iload_3 - 4: iload 4 - 6: iload 5 - 8: iconst_0 - 9: invokevirtual #529 // Method setSelectionRegion:(IIIIZI)V - 12: return - LineNumberTable: - line 2983: 0 - line 2984: 12 - LocalVariableTable: - Start Length Slot Name Signature - 0 13 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 13 1 lineLeft I - 0 13 2 columnLeft I - 0 13 3 lineRight I - 0 13 4 columnRight I - 0 13 5 makeRightVisible Z - - public void setSelectionRegion(int, int, int, int, boolean, int); - descriptor: (IIIIZI)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=7, locals=12, args_size=7 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #515 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateInCursor:()V - 7: aload_0 - 8: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 11: iload_1 - 12: iload_2 - 13: invokevirtual #304 // Method io/github/rosemoe/sora/text/Content.getCharIndex:(II)I - 16: istore 7 - 18: aload_0 - 19: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 22: iload_3 - 23: iload 4 - 25: invokevirtual #304 // Method io/github/rosemoe/sora/text/Content.getCharIndex:(II)I - 28: istore 8 - 30: iload 7 - 32: iload 8 - 34: if_icmpne 44 - 37: aload_0 - 38: iload_1 - 39: iload_2 - 40: invokevirtual #206 // Method setSelection:(II)V - 43: return - 44: iload 7 - 46: iload 8 - 48: if_icmple 144 - 51: aload_0 - 52: iload_3 - 53: iload 4 - 55: iload_1 - 56: iload_2 - 57: iload 5 - 59: iload 6 - 61: invokevirtual #529 // Method setSelectionRegion:(IIIIZI)V - 64: ldc #47 // String CodeEditor - 66: new #247 // class java/lang/StringBuilder - 69: dup - 70: invokespecial #248 // Method java/lang/StringBuilder."":()V - 73: ldc_w #530 // String setSelectionRegion() error: start > end:start = - 76: invokevirtual #250 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; - 79: iload 7 - 81: invokevirtual #531 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; - 84: ldc_w #532 // String end = - 87: invokevirtual #250 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; - 90: iload 8 - 92: invokevirtual #531 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; - 95: ldc_w #533 // String lineLeft = - 98: invokevirtual #250 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; - 101: iload_1 - 102: invokevirtual #531 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; - 105: ldc_w #534 // String columnLeft = - 108: invokevirtual #250 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; - 111: iload_2 - 112: invokevirtual #531 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; - 115: ldc_w #535 // String lineRight = - 118: invokevirtual #250 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; - 121: iload_3 - 122: invokevirtual #531 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; - 125: ldc_w #536 // String columnRight = - 128: invokevirtual #250 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; - 131: iload 4 - 133: invokevirtual #531 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; - 136: invokevirtual #253 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; - 139: invokestatic #254 // Method android/util/Log.w:(Ljava/lang/String;Ljava/lang/String;)I - 142: pop - 143: return - 144: aload_0 - 145: getfield #105 // Field mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - 148: invokeinterface #262, 1 // InterfaceMethod io/github/rosemoe/sora/widget/style/CursorAnimator.cancel:()V - 153: aload_0 - 154: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 157: invokevirtual #194 // Method io/github/rosemoe/sora/text/Cursor.isSelected:()Z - 160: istore 9 - 162: iload_2 - 163: ifle 209 - 166: iload_2 - 167: iconst_1 - 168: isub - 169: istore 10 - 171: aload_0 - 172: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 175: iload_1 - 176: iload 10 - 178: invokevirtual #398 // Method io/github/rosemoe/sora/text/Content.charAt:(II)C - 181: istore 11 - 183: iload 11 - 185: invokestatic #517 // Method java/lang/Character.isHighSurrogate:(C)Z - 188: ifeq 209 - 191: iinc 2, 1 - 194: iload_2 - 195: aload_0 - 196: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 199: iload_1 - 200: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 203: if_icmple 209 - 206: iinc 2, -1 - 209: iload 4 - 211: ifle 259 - 214: iload 4 - 216: iconst_1 - 217: isub - 218: istore 10 - 220: aload_0 - 221: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 224: iload_3 - 225: iload 10 - 227: invokevirtual #398 // Method io/github/rosemoe/sora/text/Content.charAt:(II)C - 230: istore 11 - 232: iload 11 - 234: invokestatic #517 // Method java/lang/Character.isHighSurrogate:(C)Z - 237: ifeq 259 - 240: iinc 4, 1 - 243: iload 4 - 245: aload_0 - 246: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 249: iload_3 - 250: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 253: if_icmple 259 - 256: iinc 4, -1 - 259: aload_0 - 260: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 263: iload_1 - 264: iload_2 - 265: invokevirtual #537 // Method io/github/rosemoe/sora/text/Cursor.setLeft:(II)V - 268: aload_0 - 269: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 272: iload_3 - 273: iload 4 - 275: invokevirtual #538 // Method io/github/rosemoe/sora/text/Cursor.setRight:(II)V - 278: aload_0 - 279: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 282: invokevirtual #515 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateInCursor:()V - 285: aload_0 - 286: invokevirtual #519 // Method updateCursor:()V - 289: aload_0 - 290: invokevirtual #520 // Method updateSelection:()V - 293: aload_0 - 294: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 297: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 300: iload 5 - 302: ifeq 315 - 305: aload_0 - 306: iload_3 - 307: iload 4 - 309: invokevirtual #418 // Method ensurePositionVisible:(II)V - 312: goto 319 - 315: aload_0 - 316: invokevirtual #187 // Method invalidate:()V - 319: aload_0 - 320: iload 6 - 322: invokevirtual #527 // Method onSelectionChanged:(I)V - 325: return - LineNumberTable: - line 2996: 0 - line 2997: 7 - line 2998: 18 - line 2999: 30 - line 3000: 37 - line 3001: 43 - line 3003: 44 - line 3004: 51 - line 3005: 64 - line 3006: 143 - line 3008: 144 - line 3009: 153 - line 3010: 162 - line 3011: 166 - line 3012: 171 - line 3013: 183 - line 3014: 191 - line 3015: 194 - line 3016: 206 - line 3020: 209 - line 3021: 214 - line 3022: 220 - line 3023: 232 - line 3024: 240 - line 3025: 243 - line 3026: 256 - line 3030: 259 - line 3031: 268 - line 3032: 278 - line 3033: 285 - line 3034: 289 - line 3035: 293 - line 3036: 300 - line 3037: 305 - line 3039: 315 - line 3041: 319 - line 3042: 325 - LocalVariableTable: - Start Length Slot Name Signature - 171 38 10 column I - 183 26 11 ch C - 220 39 10 column I - 232 27 11 ch C - 0 326 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 326 1 lineLeft I - 0 326 2 columnLeft I - 0 326 3 lineRight I - 0 326 4 columnRight I - 0 326 5 makeRightVisible Z - 0 326 6 cause I - 18 308 7 start I - 30 296 8 end I - 162 164 9 lastState Z - StackMapTable: number_of_entries = 6 - frame_type = 253 /* append */ - offset_delta = 44 - locals = [ int, int ] - frame_type = 251 /* same_frame_extended */ - offset_delta = 99 - frame_type = 252 /* append */ - offset_delta = 64 - locals = [ int ] - frame_type = 49 /* same */ - frame_type = 55 /* same */ - frame_type = 3 /* same */ - - public void movePageDown(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=1, args_size=1 - 0: aload_0 - 1: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 4: fconst_0 - 5: aload_0 - 6: invokevirtual #364 // Method getHeight:()I - 9: i2f - 10: iconst_1 - 11: invokevirtual #539 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.scrollBy:(FFZ)V - 14: aload_0 - 15: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 18: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 21: return - LineNumberTable: - line 3048: 0 - line 3049: 14 - line 3050: 21 - LocalVariableTable: - Start Length Slot Name Signature - 0 22 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void movePageUp(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=1, args_size=1 - 0: aload_0 - 1: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 4: fconst_0 - 5: aload_0 - 6: invokevirtual #364 // Method getHeight:()I - 9: ineg - 10: i2f - 11: iconst_1 - 12: invokevirtual #539 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.scrollBy:(FFZ)V - 15: aload_0 - 16: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 19: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 22: return - LineNumberTable: - line 3056: 0 - line 3057: 15 - line 3058: 22 - LocalVariableTable: - Start Length Slot Name Signature - 0 23 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void pasteText(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=3, args_size=1 - 0: aload_0 - 1: getfield #144 // Field mClipboardManager:Landroid/content/ClipboardManager; - 4: invokevirtual #436 // Method android/content/ClipboardManager.hasPrimaryClip:()Z - 7: ifeq 20 - 10: aload_0 - 11: getfield #144 // Field mClipboardManager:Landroid/content/ClipboardManager; - 14: invokevirtual #540 // Method android/content/ClipboardManager.getPrimaryClip:()Landroid/content/ClipData; - 17: ifnonnull 21 - 20: return - 21: aload_0 - 22: getfield #144 // Field mClipboardManager:Landroid/content/ClipboardManager; - 25: invokevirtual #540 // Method android/content/ClipboardManager.getPrimaryClip:()Landroid/content/ClipData; - 28: iconst_0 - 29: invokevirtual #541 // Method android/content/ClipData.getItemAt:(I)Landroid/content/ClipData$Item; - 32: astore_1 - 33: aload_1 - 34: invokevirtual #542 // Method android/content/ClipData$Item.getText:()Ljava/lang/CharSequence; - 37: astore_2 - 38: aload_2 - 39: ifnull 59 - 42: aload_0 - 43: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 46: ifnull 59 - 49: aload_0 - 50: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 53: aload_2 - 54: iconst_0 - 55: invokevirtual #543 // Method io/github/rosemoe/sora/widget/EditorInputConnection.commitText:(Ljava/lang/CharSequence;I)Z - 58: pop - 59: aload_0 - 60: invokevirtual #196 // Method notifyIMEExternalCursorChange:()V - 63: goto 86 - 66: astore_1 - 67: aload_1 - 68: invokevirtual #544 // Method java/lang/Exception.printStackTrace:()V - 71: aload_0 - 72: invokevirtual #61 // Method getContext:()Landroid/content/Context; - 75: aload_1 - 76: invokevirtual #545 // Method java/lang/Exception.toString:()Ljava/lang/String; - 79: iconst_0 - 80: invokestatic #547 // Method android/widget/Toast.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; - 83: invokevirtual #548 // Method android/widget/Toast.show:()V - 86: return - Exception table: - from to target type - 0 20 66 Class java/lang/Exception - 21 63 66 Class java/lang/Exception - LineNumberTable: - line 3065: 0 - line 3066: 20 - line 3068: 21 - line 3069: 33 - line 3070: 38 - line 3071: 49 - line 3073: 59 - line 3077: 63 - line 3074: 66 - line 3075: 67 - line 3076: 71 - line 3078: 86 - LocalVariableTable: - Start Length Slot Name Signature - 33 30 1 data Landroid/content/ClipData$Item; - 38 25 2 text Ljava/lang/CharSequence; - 67 19 1 e Ljava/lang/Exception; - 0 87 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 5 - frame_type = 20 /* same */ - frame_type = 0 /* same */ - frame_type = 253 /* append */ - offset_delta = 37 - locals = [ class android/content/ClipData$Item, class java/lang/CharSequence ] - frame_type = 255 /* full_frame */ - offset_delta = 6 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor ] - stack = [ class java/lang/Exception ] - frame_type = 19 /* same */ - - public void copyText(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=1, args_size=1 - 0: aload_0 - 1: iconst_1 - 2: invokevirtual #549 // Method copyText:(Z)V - 5: return - LineNumberTable: - line 3084: 0 - line 3085: 5 - LocalVariableTable: - Start Length Slot Name Signature - 0 6 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void copyText(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=5, locals=3, args_size=2 - 0: aload_0 - 1: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 4: invokevirtual #194 // Method io/github/rosemoe/sora/text/Cursor.isSelected:()Z - 7: ifeq 64 - 10: aload_0 - 11: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 14: aload_0 - 15: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 18: invokevirtual #317 // Method io/github/rosemoe/sora/text/Cursor.getLeftLine:()I - 21: aload_0 - 22: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 25: invokevirtual #394 // Method io/github/rosemoe/sora/text/Cursor.getLeftColumn:()I - 28: aload_0 - 29: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 32: invokevirtual #198 // Method io/github/rosemoe/sora/text/Cursor.getRightLine:()I - 35: aload_0 - 36: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 39: invokevirtual #199 // Method io/github/rosemoe/sora/text/Cursor.getRightColumn:()I - 42: invokevirtual #550 // Method io/github/rosemoe/sora/text/Content.subContent:(IIII)Lio/github/rosemoe/sora/text/Content; - 45: invokevirtual #551 // Method io/github/rosemoe/sora/text/Content.toString:()Ljava/lang/String; - 48: astore_2 - 49: aload_0 - 50: getfield #144 // Field mClipboardManager:Landroid/content/ClipboardManager; - 53: aload_2 - 54: aload_2 - 55: invokestatic #552 // Method android/content/ClipData.newPlainText:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/content/ClipData; - 58: invokevirtual #553 // Method android/content/ClipboardManager.setPrimaryClip:(Landroid/content/ClipData;)V - 61: goto 72 - 64: iload_1 - 65: ifeq 72 - 68: aload_0 - 69: invokevirtual #554 // Method copyLine:()V - 72: goto 95 - 75: astore_2 - 76: aload_2 - 77: invokevirtual #544 // Method java/lang/Exception.printStackTrace:()V - 80: aload_0 - 81: invokevirtual #61 // Method getContext:()Landroid/content/Context; - 84: aload_2 - 85: invokevirtual #545 // Method java/lang/Exception.toString:()Ljava/lang/String; - 88: iconst_0 - 89: invokestatic #547 // Method android/widget/Toast.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; - 92: invokevirtual #548 // Method android/widget/Toast.show:()V - 95: return - Exception table: - from to target type - 0 72 75 Class java/lang/Exception - LineNumberTable: - line 3095: 0 - line 3096: 10 - line 3097: 25 - line 3098: 32 - line 3099: 39 - line 3096: 42 - line 3099: 45 - line 3100: 49 - line 3101: 61 - line 3102: 68 - line 3107: 72 - line 3104: 75 - line 3105: 76 - line 3106: 80 - line 3108: 95 - LocalVariableTable: - Start Length Slot Name Signature - 49 12 2 clip Ljava/lang/String; - 76 19 2 e Ljava/lang/Exception; - 0 96 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 96 1 shouldCopyLine Z - StackMapTable: number_of_entries = 4 - frame_type = 251 /* same_frame_extended */ - offset_delta = 64 - frame_type = 7 /* same */ - frame_type = 66 /* same_locals_1_stack_item */ - stack = [ class java/lang/Exception ] - frame_type = 19 /* same */ - - public void cutText(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 4: invokevirtual #194 // Method io/github/rosemoe/sora/text/Cursor.isSelected:()Z - 7: ifeq 25 - 10: aload_0 - 11: invokevirtual #555 // Method copyText:()V - 14: aload_0 - 15: invokevirtual #195 // Method deleteText:()V - 18: aload_0 - 19: invokevirtual #196 // Method notifyIMEExternalCursorChange:()V - 22: goto 29 - 25: aload_0 - 26: invokevirtual #556 // Method cutLine:()V - 29: return - LineNumberTable: - line 3129: 0 - line 3130: 10 - line 3131: 14 - line 3132: 18 - line 3134: 25 - line 3136: 29 - LocalVariableTable: - Start Length Slot Name Signature - 0 30 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 2 - frame_type = 25 /* same */ - frame_type = 3 /* same */ - - public void cutLine(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=6, locals=5, args_size=1 - 0: aload_0 - 1: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 4: astore_1 - 5: aload_1 - 6: invokevirtual #194 // Method io/github/rosemoe/sora/text/Cursor.isSelected:()Z - 9: ifeq 17 - 12: aload_0 - 13: invokevirtual #557 // Method cutText:()V - 16: return - 17: aload_1 - 18: invokevirtual #494 // Method io/github/rosemoe/sora/text/Cursor.left:()Lio/github/rosemoe/sora/text/CharPosition; - 21: astore_2 - 22: aload_2 - 23: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 26: istore_3 - 27: aload_0 - 28: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 31: aload_2 - 32: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 35: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 38: istore 4 - 40: iload_3 - 41: iconst_1 - 42: iadd - 43: aload_0 - 44: invokevirtual #278 // Method getLineCount:()I - 47: if_icmpne 68 - 50: aload_0 - 51: iload_3 - 52: iconst_0 - 53: iload_3 - 54: aload_0 - 55: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 58: iload_3 - 59: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 62: invokevirtual #528 // Method setSelectionRegion:(IIII)V - 65: goto 78 - 68: aload_0 - 69: iload_3 - 70: iconst_0 - 71: iload_3 - 72: iconst_1 - 73: iadd - 74: iconst_0 - 75: invokevirtual #528 // Method setSelectionRegion:(IIII)V - 78: aload_0 - 79: invokevirtual #557 // Method cutText:()V - 82: return - LineNumberTable: - line 3142: 0 - line 3143: 5 - line 3144: 12 - line 3145: 16 - line 3148: 17 - line 3149: 22 - line 3150: 27 - line 3152: 40 - line 3153: 50 - line 3155: 68 - line 3158: 78 - line 3159: 82 - LocalVariableTable: - Start Length Slot Name Signature - 0 83 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 5 78 1 cursor Lio/github/rosemoe/sora/text/Cursor; - 22 61 2 left Lio/github/rosemoe/sora/text/CharPosition; - 27 56 3 line I - 40 43 4 column I - StackMapTable: number_of_entries = 3 - frame_type = 252 /* append */ - offset_delta = 17 - locals = [ class io/github/rosemoe/sora/text/Cursor ] - frame_type = 254 /* append */ - offset_delta = 50 - locals = [ class io/github/rosemoe/sora/text/CharPosition, int, int ] - frame_type = 9 /* same */ - - public void duplicateLine(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=6, locals=3, args_size=1 - 0: aload_0 - 1: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 4: astore_1 - 5: aload_1 - 6: invokevirtual #194 // Method io/github/rosemoe/sora/text/Cursor.isSelected:()Z - 9: ifeq 17 - 12: aload_0 - 13: invokevirtual #558 // Method duplicateSelection:()V - 16: return - 17: aload_1 - 18: invokevirtual #494 // Method io/github/rosemoe/sora/text/Cursor.left:()Lio/github/rosemoe/sora/text/CharPosition; - 21: astore_2 - 22: aload_0 - 23: aload_2 - 24: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 27: iconst_0 - 28: aload_2 - 29: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 32: aload_0 - 33: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 36: aload_2 - 37: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 40: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 43: iconst_1 - 44: invokevirtual #504 // Method setSelectionRegion:(IIIIZ)V - 47: aload_0 - 48: ldc_w #559 // String \n - 51: iconst_0 - 52: invokevirtual #560 // Method duplicateSelection:(Ljava/lang/String;Z)V - 55: return - LineNumberTable: - line 3166: 0 - line 3167: 5 - line 3168: 12 - line 3169: 16 - line 3172: 17 - line 3173: 22 - line 3174: 47 - line 3175: 55 - LocalVariableTable: - Start Length Slot Name Signature - 0 56 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 5 51 1 cursor Lio/github/rosemoe/sora/text/Cursor; - 22 34 2 left Lio/github/rosemoe/sora/text/CharPosition; - StackMapTable: number_of_entries = 1 - frame_type = 252 /* append */ - offset_delta = 17 - locals = [ class io/github/rosemoe/sora/text/Cursor ] - - public void duplicateSelection(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=1, args_size=1 - 0: aload_0 - 1: iconst_1 - 2: invokevirtual #561 // Method duplicateSelection:(Z)V - 5: return - LineNumberTable: - line 3182: 0 - line 3183: 5 - LocalVariableTable: - Start Length Slot Name Signature - 0 6 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void duplicateSelection(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: aload_0 - 1: ldc_w #267 // String - 4: iload_1 - 5: invokevirtual #560 // Method duplicateSelection:(Ljava/lang/String;Z)V - 8: return - LineNumberTable: - line 3191: 0 - line 3192: 8 - LocalVariableTable: - Start Length Slot Name Signature - 0 9 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 9 1 selectDuplicate Z - - public void duplicateSelection(java.lang.String, boolean); - descriptor: (Ljava/lang/String;Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=5, locals=8, args_size=3 - 0: aload_0 - 1: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 4: astore_3 - 5: aload_3 - 6: invokevirtual #194 // Method io/github/rosemoe/sora/text/Cursor.isSelected:()Z - 9: ifne 13 - 12: return - 13: aload_3 - 14: invokevirtual #494 // Method io/github/rosemoe/sora/text/Cursor.left:()Lio/github/rosemoe/sora/text/CharPosition; - 17: astore 4 - 19: aload_3 - 20: invokevirtual #497 // Method io/github/rosemoe/sora/text/Cursor.right:()Lio/github/rosemoe/sora/text/CharPosition; - 23: invokevirtual #562 // Method io/github/rosemoe/sora/text/CharPosition.fromThis:()Lio/github/rosemoe/sora/text/CharPosition; - 26: astore 5 - 28: aload_0 - 29: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 32: aload 4 - 34: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 37: aload 4 - 39: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 42: aload 5 - 44: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 47: aload 5 - 49: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 52: invokevirtual #550 // Method io/github/rosemoe/sora/text/Content.subContent:(IIII)Lio/github/rosemoe/sora/text/Content; - 55: astore 6 - 57: aload_0 - 58: aload 5 - 60: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 63: aload 5 - 65: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 68: invokevirtual #206 // Method setSelection:(II)V - 71: aload_0 - 72: new #247 // class java/lang/StringBuilder - 75: dup - 76: invokespecial #248 // Method java/lang/StringBuilder."":()V - 79: aload_1 - 80: invokevirtual #250 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; - 83: aload 6 - 85: invokevirtual #563 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; - 88: invokevirtual #253 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; - 91: invokevirtual #564 // Method commitText:(Ljava/lang/CharSequence;)V - 94: iload_2 - 95: ifeq 128 - 98: aload_3 - 99: invokevirtual #497 // Method io/github/rosemoe/sora/text/Cursor.right:()Lio/github/rosemoe/sora/text/CharPosition; - 102: astore 7 - 104: aload_0 - 105: aload 5 - 107: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 110: aload 5 - 112: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 115: aload 7 - 117: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 120: aload 7 - 122: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 125: invokevirtual #528 // Method setSelectionRegion:(IIII)V - 128: return - LineNumberTable: - line 3202: 0 - line 3203: 5 - line 3204: 12 - line 3207: 13 - line 3208: 19 - line 3209: 28 - line 3211: 57 - line 3212: 71 - line 3214: 94 - line 3215: 98 - line 3216: 104 - line 3218: 128 - LocalVariableTable: - Start Length Slot Name Signature - 104 24 7 r Lio/github/rosemoe/sora/text/CharPosition; - 0 129 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 129 1 prefix Ljava/lang/String; - 0 129 2 selectDuplicate Z - 5 124 3 cursor Lio/github/rosemoe/sora/text/Cursor; - 19 110 4 left Lio/github/rosemoe/sora/text/CharPosition; - 28 101 5 right Lio/github/rosemoe/sora/text/CharPosition; - 57 72 6 sub Lio/github/rosemoe/sora/text/Content; - StackMapTable: number_of_entries = 2 - frame_type = 252 /* append */ - offset_delta = 13 - locals = [ class io/github/rosemoe/sora/text/Cursor ] - frame_type = 254 /* append */ - offset_delta = 114 - locals = [ class io/github/rosemoe/sora/text/CharPosition, class io/github/rosemoe/sora/text/CharPosition, class io/github/rosemoe/sora/text/Content ] - - public void selectCurrentWord(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=1 - 0: aload_0 - 1: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 4: invokevirtual #494 // Method io/github/rosemoe/sora/text/Cursor.left:()Lio/github/rosemoe/sora/text/CharPosition; - 7: astore_1 - 8: aload_0 - 9: aload_1 - 10: getfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 13: aload_1 - 14: getfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 17: invokevirtual #565 // Method selectWord:(II)V - 20: return - LineNumberTable: - line 3224: 0 - line 3225: 8 - line 3226: 20 - LocalVariableTable: - Start Length Slot Name Signature - 0 21 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 8 13 1 left Lio/github/rosemoe/sora/text/CharPosition; - - public void selectWord(int, int); - descriptor: (II)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=6, locals=11, args_size=3 - 0: iload_1 - 1: istore_3 - 2: iload_1 - 3: istore 4 - 5: aload_0 - 6: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 9: iload_1 - 10: invokevirtual #281 // Method io/github/rosemoe/sora/text/Content.getLine:(I)Lio/github/rosemoe/sora/text/ContentLine; - 13: astore 5 - 15: aload 5 - 17: iload_2 - 18: aload_0 - 19: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 22: getfield #566 // Field io/github/rosemoe/sora/widget/DirectAccessProps.useICULibToSelectWords:Z - 25: invokestatic #567 // Method io/github/rosemoe/sora/text/ICUUtils.getWordEdges:(Ljava/lang/CharSequence;IZ)J - 28: lstore 6 - 30: lload 6 - 32: invokestatic #275 // Method io/github/rosemoe/sora/util/IntPair.getFirst:(J)I - 35: istore 8 - 37: lload 6 - 39: invokestatic #276 // Method io/github/rosemoe/sora/util/IntPair.getSecond:(J)I - 42: istore 9 - 44: iload 8 - 46: iload 9 - 48: if_icmpne 123 - 51: iload 8 - 53: ifle 62 - 56: iinc 8, -1 - 59: goto 123 - 62: iload 9 - 64: aload 5 - 66: invokevirtual #286 // Method io/github/rosemoe/sora/text/ContentLine.length:()I - 69: if_icmpge 78 - 72: iinc 9, 1 - 75: goto 123 - 78: iload_1 - 79: ifle 105 - 82: aload_0 - 83: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 86: iload_1 - 87: iconst_1 - 88: isub - 89: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 92: istore 10 - 94: iload_1 - 95: iconst_1 - 96: isub - 97: istore_3 - 98: iload 10 - 100: istore 8 - 102: goto 123 - 105: iload_1 - 106: aload_0 - 107: invokevirtual #278 // Method getLineCount:()I - 110: iconst_1 - 111: isub - 112: if_icmpge 123 - 115: iload_1 - 116: iconst_1 - 117: iadd - 118: istore 4 - 120: iconst_0 - 121: istore 9 - 123: aload_0 - 124: iload_3 - 125: iload 8 - 127: iload 4 - 129: iload 9 - 131: iconst_5 - 132: invokevirtual #568 // Method setSelectionRegion:(IIIII)V - 135: return - LineNumberTable: - line 3236: 0 - line 3237: 5 - line 3238: 15 - line 3239: 30 - line 3240: 37 - line 3241: 44 - line 3242: 51 - line 3243: 56 - line 3244: 62 - line 3245: 72 - line 3247: 78 - line 3248: 82 - line 3249: 94 - line 3250: 98 - line 3251: 102 - line 3252: 115 - line 3253: 120 - line 3257: 123 - line 3258: 135 - LocalVariableTable: - Start Length Slot Name Signature - 94 8 10 lastColumn I - 0 136 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 136 1 line I - 0 136 2 column I - 2 134 3 startLine I - 5 131 4 endLine I - 15 121 5 lineObj Lio/github/rosemoe/sora/text/ContentLine; - 30 106 6 edges J - 37 99 8 startColumn I - 44 92 9 endColumn I - StackMapTable: number_of_entries = 4 - frame_type = 255 /* full_frame */ - offset_delta = 62 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, int, int, int, class io/github/rosemoe/sora/text/ContentLine, long, int, int ] - stack = [] - frame_type = 15 /* same */ - frame_type = 26 /* same */ - frame_type = 17 /* same */ - - public io.github.rosemoe.sora.text.Content getText(); - descriptor: ()Lio/github/rosemoe/sora/text/Content; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 4: areturn - LineNumberTable: - line 3267: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - RuntimeInvisibleAnnotations: - 0: #957() - androidx.annotation.NonNull - - public android.os.Bundle getExtraArguments(); - descriptor: ()Landroid/os/Bundle; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #242 // Field mExtraArguments:Landroid/os/Bundle; - 4: areturn - LineNumberTable: - line 3275: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - RuntimeInvisibleAnnotations: - 0: #957() - androidx.annotation.NonNull - - public void setText(java.lang.CharSequence); - descriptor: (Ljava/lang/CharSequence;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=2, args_size=2 - 0: aload_0 - 1: aload_1 - 2: iconst_1 - 3: aconst_null - 4: invokevirtual #569 // Method setText:(Ljava/lang/CharSequence;ZLandroid/os/Bundle;)V - 7: return - LineNumberTable: - line 3285: 0 - line 3286: 7 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 8 1 text Ljava/lang/CharSequence; - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #1030() - androidx.annotation.Nullable - - public void setText(java.lang.CharSequence, android.os.Bundle); - descriptor: (Ljava/lang/CharSequence;Landroid/os/Bundle;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=3, args_size=3 - 0: aload_0 - 1: aload_1 - 2: iconst_1 - 3: aload_2 - 4: invokevirtual #569 // Method setText:(Ljava/lang/CharSequence;ZLandroid/os/Bundle;)V - 7: return - LineNumberTable: - line 3296: 0 - line 3297: 7 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 8 1 text Ljava/lang/CharSequence; - 0 8 2 extraArguments Landroid/os/Bundle; - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #1030() - androidx.annotation.Nullable - parameter 1: - 0: #1030() - androidx.annotation.Nullable - - public void setText(java.lang.CharSequence, boolean, android.os.Bundle); - descriptor: (Ljava/lang/CharSequence;ZLandroid/os/Bundle;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=11, locals=4, args_size=4 - 0: aload_1 - 1: ifnonnull 8 - 4: ldc_w #267 // String - 7: astore_1 - 8: aload_0 - 9: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 12: ifnull 38 - 15: aload_0 - 16: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 19: aload_0 - 20: invokevirtual #570 // Method io/github/rosemoe/sora/text/Content.removeContentListener:(Lio/github/rosemoe/sora/text/ContentListener;)V - 23: aload_0 - 24: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 27: aconst_null - 28: invokevirtual #571 // Method io/github/rosemoe/sora/text/Content.setLineListener:(Lio/github/rosemoe/sora/text/LineRemoveListener;)V - 31: aload_0 - 32: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 35: invokevirtual #572 // Method io/github/rosemoe/sora/text/Content.resetBatchEdit:()V - 38: aload_0 - 39: aload_3 - 40: ifnonnull 53 - 43: new #573 // class android/os/Bundle - 46: dup - 47: invokespecial #574 // Method android/os/Bundle."":()V - 50: goto 54 - 53: aload_3 - 54: putfield #242 // Field mExtraArguments:Landroid/os/Bundle; - 57: iload_2 - 58: ifeq 93 - 61: aload_1 - 62: instanceof #575 // class io/github/rosemoe/sora/text/Content - 65: ifeq 93 - 68: aload_0 - 69: aload_1 - 70: checkcast #575 // class io/github/rosemoe/sora/text/Content - 73: putfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 76: aload_0 - 77: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 80: invokevirtual #572 // Method io/github/rosemoe/sora/text/Content.resetBatchEdit:()V - 83: aload_0 - 84: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 87: invokevirtual #223 // Method io/github/rosemoe/sora/widget/EditorPainter.updateTimestamp:()V - 90: goto 105 - 93: aload_0 - 94: new #575 // class io/github/rosemoe/sora/text/Content - 97: dup - 98: aload_1 - 99: invokespecial #576 // Method io/github/rosemoe/sora/text/Content."":(Ljava/lang/CharSequence;)V - 102: putfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 105: aload_0 - 106: getfield #58 // Field mStyleDelegate:Lio/github/rosemoe/sora/widget/EditorStyleDelegate; - 109: invokevirtual #236 // Method io/github/rosemoe/sora/widget/EditorStyleDelegate.reset:()V - 112: aload_0 - 113: aconst_null - 114: putfield #237 // Field mStyles:Lio/github/rosemoe/sora/lang/styling/Styles; - 117: aload_0 - 118: aload_0 - 119: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 122: invokevirtual #193 // Method io/github/rosemoe/sora/text/Content.getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 125: putfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 128: aload_0 - 129: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 132: invokevirtual #577 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.reset:()V - 135: aload_0 - 136: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 139: aload_0 - 140: invokevirtual #578 // Method io/github/rosemoe/sora/text/Content.addContentListener:(Lio/github/rosemoe/sora/text/ContentListener;)V - 143: aload_0 - 144: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 147: aload_0 - 148: getfield #465 // Field mUndoEnabled:Z - 151: invokevirtual #466 // Method io/github/rosemoe/sora/text/Content.setUndoEnabled:(Z)V - 154: aload_0 - 155: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 158: aload_0 - 159: invokevirtual #571 // Method io/github/rosemoe/sora/text/Content.setLineListener:(Lio/github/rosemoe/sora/text/LineRemoveListener;)V - 162: aload_0 - 163: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 166: invokevirtual #579 // Method io/github/rosemoe/sora/widget/EditorPainter.notifyFullTextUpdate:()V - 169: aload_0 - 170: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 173: ifnull 205 - 176: aload_0 - 177: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 180: invokeinterface #232, 1 // InterfaceMethod io/github/rosemoe/sora/lang/Language.getAnalyzeManager:()Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - 185: new #240 // class io/github/rosemoe/sora/text/ContentReference - 188: dup - 189: aload_0 - 190: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 193: invokespecial #241 // Method io/github/rosemoe/sora/text/ContentReference."":(Lio/github/rosemoe/sora/text/Content;)V - 196: aload_0 - 197: getfield #242 // Field mExtraArguments:Landroid/os/Bundle; - 200: invokeinterface #243, 3 // InterfaceMethod io/github/rosemoe/sora/lang/analysis/AnalyzeManager.reset:(Lio/github/rosemoe/sora/text/ContentReference;Landroid/os/Bundle;)V - 205: aload_0 - 206: new #580 // class io/github/rosemoe/sora/event/ContentChangeEvent - 209: dup - 210: aload_0 - 211: iconst_1 - 212: new #581 // class io/github/rosemoe/sora/text/CharPosition - 215: dup - 216: invokespecial #582 // Method io/github/rosemoe/sora/text/CharPosition."":()V - 219: aload_0 - 220: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 223: invokevirtual #201 // Method io/github/rosemoe/sora/text/Content.getIndexer:()Lio/github/rosemoe/sora/text/Indexer; - 226: aload_0 - 227: invokevirtual #278 // Method getLineCount:()I - 230: iconst_1 - 231: isub - 232: aload_0 - 233: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 236: aload_0 - 237: invokevirtual #278 // Method getLineCount:()I - 240: iconst_1 - 241: isub - 242: invokevirtual #305 // Method io/github/rosemoe/sora/text/Content.getColumnCount:(I)I - 245: invokeinterface #583, 3 // InterfaceMethod io/github/rosemoe/sora/text/Indexer.getCharPosition:(II)Lio/github/rosemoe/sora/text/CharPosition; - 250: aload_0 - 251: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 254: invokespecial #584 // Method io/github/rosemoe/sora/event/ContentChangeEvent."":(Lio/github/rosemoe/sora/widget/CodeEditor;ILio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - 257: invokevirtual #435 // Method dispatchEvent:(Lio/github/rosemoe/sora/event/Event;)I - 260: pop - 261: aload_0 - 262: getfield #141 // Field mInputMethodManager:Landroid/view/inputmethod/InputMethodManager; - 265: ifnull 276 - 268: aload_0 - 269: getfield #141 // Field mInputMethodManager:Landroid/view/inputmethod/InputMethodManager; - 272: aload_0 - 273: invokevirtual #585 // Method android/view/inputmethod/InputMethodManager.restartInput:(Landroid/view/View;)V - 276: aload_0 - 277: invokevirtual #261 // Method createLayout:()V - 280: aload_0 - 281: invokevirtual #586 // Method requestLayout:()V - 284: aload_0 - 285: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 288: invokevirtual #258 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateHwRenderer:()V - 291: aload_0 - 292: invokevirtual #187 // Method invalidate:()V - 295: return - LineNumberTable: - line 3309: 0 - line 3310: 4 - line 3313: 8 - line 3314: 15 - line 3315: 23 - line 3316: 31 - line 3318: 38 - line 3319: 57 - line 3320: 68 - line 3321: 76 - line 3322: 83 - line 3324: 93 - line 3326: 105 - line 3327: 112 - line 3328: 117 - line 3329: 128 - line 3330: 135 - line 3331: 143 - line 3332: 154 - line 3333: 162 - line 3335: 169 - line 3336: 176 - line 3339: 205 - line 3340: 261 - line 3341: 268 - line 3343: 276 - line 3344: 280 - line 3345: 284 - line 3346: 291 - line 3347: 295 - LocalVariableTable: - Start Length Slot Name Signature - 0 296 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 296 1 text Ljava/lang/CharSequence; - 0 296 2 reuseContentObject Z - 0 296 3 extraArguments Landroid/os/Bundle; - StackMapTable: number_of_entries = 8 - frame_type = 8 /* same */ - frame_type = 29 /* same */ - frame_type = 78 /* same_locals_1_stack_item */ - stack = [ class io/github/rosemoe/sora/widget/CodeEditor ] - frame_type = 255 /* full_frame */ - offset_delta = 0 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class java/lang/CharSequence, int, class android/os/Bundle ] - stack = [ class io/github/rosemoe/sora/widget/CodeEditor, class android/os/Bundle ] - frame_type = 38 /* same */ - frame_type = 11 /* same */ - frame_type = 251 /* same_frame_extended */ - offset_delta = 99 - frame_type = 251 /* same_frame_extended */ - offset_delta = 70 - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #1030() - androidx.annotation.Nullable - parameter 1: - parameter 2: - 0: #1030() - androidx.annotation.Nullable - - public void setTextSize(float); - descriptor: (F)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=4, args_size=2 - 0: aload_0 - 1: invokevirtual #61 // Method getContext:()Landroid/content/Context; - 4: astore_2 - 5: aload_2 - 6: ifnonnull 16 - 9: invokestatic #90 // Method android/content/res/Resources.getSystem:()Landroid/content/res/Resources; - 12: astore_3 - 13: goto 21 - 16: aload_2 - 17: invokevirtual #587 // Method android/content/Context.getResources:()Landroid/content/res/Resources; - 20: astore_3 - 21: aload_0 - 22: iconst_2 - 23: fload_1 - 24: aload_3 - 25: invokevirtual #91 // Method android/content/res/Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics; - 28: invokestatic #92 // Method android/util/TypedValue.applyDimension:(IFLandroid/util/DisplayMetrics;)F - 31: invokevirtual #588 // Method setTextSizePx:(F)V - 34: return - LineNumberTable: - line 3355: 0 - line 3358: 5 - line 3359: 9 - line 3361: 16 - line 3364: 21 - line 3365: 34 - LocalVariableTable: - Start Length Slot Name Signature - 13 3 3 res Landroid/content/res/Resources; - 0 35 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 35 1 textSize F - 5 30 2 context Landroid/content/Context; - 21 14 3 res Landroid/content/res/Resources; - StackMapTable: number_of_entries = 2 - frame_type = 252 /* append */ - offset_delta = 16 - locals = [ class android/content/Context ] - frame_type = 252 /* append */ - offset_delta = 4 - locals = [ class android/content/res/Resources ] - - public io.github.rosemoe.sora.event.SubscriptionReceipt subscribeEvent(java.lang.Class, io.github.rosemoe.sora.event.EventReceiver); - descriptor: (Ljava/lang/Class;Lio/github/rosemoe/sora/event/EventReceiver;)Lio/github/rosemoe/sora/event/SubscriptionReceipt; - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=3, args_size=3 - 0: aload_0 - 1: getfield #52 // Field mEventManager:Lio/github/rosemoe/sora/event/EventManager; - 4: aload_1 - 5: aload_2 - 6: invokevirtual #589 // Method io/github/rosemoe/sora/event/EventManager.subscribeEvent:(Ljava/lang/Class;Lio/github/rosemoe/sora/event/EventReceiver;)Lio/github/rosemoe/sora/event/SubscriptionReceipt; - 9: areturn - LineNumberTable: - line 3373: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 eventType Ljava/lang/Class; - 0 10 2 receiver Lio/github/rosemoe/sora/event/EventReceiver; - LocalVariableTypeTable: - Start Length Slot Name Signature - 0 10 1 eventType Ljava/lang/Class; - 0 10 2 receiver Lio/github/rosemoe/sora/event/EventReceiver; - Signature: #1478 // (Ljava/lang/Class;Lio/github/rosemoe/sora/event/EventReceiver;)Lio/github/rosemoe/sora/event/SubscriptionReceipt; - - public int dispatchEvent(T); - descriptor: (Lio/github/rosemoe/sora/event/Event;)I - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: getfield #52 // Field mEventManager:Lio/github/rosemoe/sora/event/EventManager; - 4: aload_1 - 5: invokevirtual #590 // Method io/github/rosemoe/sora/event/EventManager.dispatchEvent:(Lio/github/rosemoe/sora/event/Event;)I - 8: ireturn - LineNumberTable: - line 3382: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 9 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 9 1 event Lio/github/rosemoe/sora/event/Event; - LocalVariableTypeTable: - Start Length Slot Name Signature - 0 9 1 event TT; - Signature: #1483 // (TT;)I - - public boolean isFormatting(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #442 // Field mFormatThread:Lio/github/rosemoe/sora/text/FormatThread; - 4: ifnull 11 - 7: iconst_1 - 8: goto 12 - 11: iconst_0 - 12: ireturn - LineNumberTable: - line 3392: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 13 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 2 - frame_type = 11 /* same */ - frame_type = 64 /* same_locals_1_stack_item */ - stack = [ int ] - - public boolean isLineNumberEnabled(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #591 // Field mLineNumberEnabled:Z - 4: ireturn - LineNumberTable: - line 3401: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void setLineNumberEnabled(boolean); - descriptor: (Z)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: iload_1 - 1: aload_0 - 2: getfield #591 // Field mLineNumberEnabled:Z - 5: if_icmpeq 19 - 8: aload_0 - 9: invokevirtual #189 // Method isWordwrap:()Z - 12: ifeq 19 - 15: aload_0 - 16: invokevirtual #261 // Method createLayout:()V - 19: aload_0 - 20: iload_1 - 21: putfield #591 // Field mLineNumberEnabled:Z - 24: aload_0 - 25: invokevirtual #187 // Method invalidate:()V - 28: return - LineNumberTable: - line 3410: 0 - line 3411: 15 - line 3413: 19 - line 3414: 24 - line 3415: 28 - LocalVariableTable: - Start Length Slot Name Signature - 0 29 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 29 1 lineNumberEnabled Z - StackMapTable: number_of_entries = 1 - frame_type = 19 /* same */ - - public io.github.rosemoe.sora.graphics.Paint getTextPaint(); - descriptor: ()Lio/github/rosemoe/sora/graphics/Paint; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #113 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaint:()Lio/github/rosemoe/sora/graphics/Paint; - 7: areturn - LineNumberTable: - line 3425: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - RuntimeInvisibleAnnotations: - 0: #957() - androidx.annotation.NonNull - - public io.github.rosemoe.sora.graphics.Paint getOtherPaint(); - descriptor: ()Lio/github/rosemoe/sora/graphics/Paint; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #220 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaintOther:()Lio/github/rosemoe/sora/graphics/Paint; - 7: areturn - LineNumberTable: - line 3429: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public io.github.rosemoe.sora.graphics.Paint getGraphPaint(); - descriptor: ()Lio/github/rosemoe/sora/graphics/Paint; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #222 // Method io/github/rosemoe/sora/widget/EditorPainter.getPaintGraph:()Lio/github/rosemoe/sora/graphics/Paint; - 7: areturn - LineNumberTable: - line 3433: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public io.github.rosemoe.sora.widget.schemes.EditorColorScheme getColorScheme(); - descriptor: ()Lio/github/rosemoe/sora/widget/schemes/EditorColorScheme; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #118 // Field mColors:Lio/github/rosemoe/sora/widget/schemes/EditorColorScheme; - 4: areturn - LineNumberTable: - line 3444: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - RuntimeInvisibleAnnotations: - 0: #957() - androidx.annotation.NonNull - - public void setColorScheme(io.github.rosemoe.sora.widget.schemes.EditorColorScheme); - descriptor: (Lio/github/rosemoe/sora/widget/schemes/EditorColorScheme;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_1 - 1: aload_0 - 2: invokevirtual #592 // Method io/github/rosemoe/sora/widget/schemes/EditorColorScheme.attachEditor:(Lio/github/rosemoe/sora/widget/CodeEditor;)V - 5: aload_0 - 6: getfield #118 // Field mColors:Lio/github/rosemoe/sora/widget/schemes/EditorColorScheme; - 9: ifnull 20 - 12: aload_0 - 13: getfield #118 // Field mColors:Lio/github/rosemoe/sora/widget/schemes/EditorColorScheme; - 16: aload_0 - 17: invokevirtual #593 // Method io/github/rosemoe/sora/widget/schemes/EditorColorScheme.detachEditor:(Lio/github/rosemoe/sora/widget/CodeEditor;)V - 20: aload_0 - 21: aload_1 - 22: putfield #118 // Field mColors:Lio/github/rosemoe/sora/widget/schemes/EditorColorScheme; - 25: aload_0 - 26: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 29: ifnull 39 - 32: aload_0 - 33: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 36: invokevirtual #594 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.applyColorScheme:()V - 39: aload_0 - 40: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 43: invokevirtual #258 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateHwRenderer:()V - 46: aload_0 - 47: invokevirtual #187 // Method invalidate:()V - 50: return - LineNumberTable: - line 3457: 0 - line 3458: 5 - line 3459: 12 - line 3461: 20 - line 3462: 25 - line 3463: 32 - line 3465: 39 - line 3466: 46 - line 3467: 50 - LocalVariableTable: - Start Length Slot Name Signature - 0 51 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 51 1 colors Lio/github/rosemoe/sora/widget/schemes/EditorColorScheme; - StackMapTable: number_of_entries = 2 - frame_type = 20 /* same */ - frame_type = 18 /* same */ - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #957() - androidx.annotation.NonNull - - public void jumpToLine(int); - descriptor: (I)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: aload_0 - 1: iload_1 - 2: iconst_0 - 3: invokevirtual #206 // Method setSelection:(II)V - 6: return - LineNumberTable: - line 3475: 0 - line 3476: 6 - LocalVariableTable: - Start Length Slot Name Signature - 0 7 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 7 1 line I - - public void rerunAnalysis(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 4: ifnull 21 - 7: aload_0 - 8: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 11: invokeinterface #232, 1 // InterfaceMethod io/github/rosemoe/sora/lang/Language.getAnalyzeManager:()Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - 16: invokeinterface #595, 1 // InterfaceMethod io/github/rosemoe/sora/lang/analysis/AnalyzeManager.rerun:()V - 21: return - LineNumberTable: - line 3483: 0 - line 3484: 7 - line 3486: 21 - LocalVariableTable: - Start Length Slot Name Signature - 0 22 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 1 - frame_type = 21 /* same */ - - public io.github.rosemoe.sora.lang.styling.Styles getStyles(); - descriptor: ()Lio/github/rosemoe/sora/lang/styling/Styles; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #237 // Field mStyles:Lio/github/rosemoe/sora/lang/styling/Styles; - 4: areturn - LineNumberTable: - line 3494: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - RuntimeInvisibleAnnotations: - 0: #1030() - androidx.annotation.Nullable - - public io.github.rosemoe.sora.lang.diagnostic.DiagnosticsContainer getDiagnostics(); - descriptor: ()Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #238 // Field mDiagnostics:Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - 4: areturn - LineNumberTable: - line 3499: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - RuntimeInvisibleAnnotations: - 0: #1030() - androidx.annotation.Nullable - - public void hideAutoCompleteWindow(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 4: ifnull 14 - 7: aload_0 - 8: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 11: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 14: return - LineNumberTable: - line 3506: 0 - line 3507: 7 - line 3509: 14 - LocalVariableTable: - Start Length Slot Name Signature - 0 15 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 1 - frame_type = 14 /* same */ - - public int getBlockIndex(); - descriptor: ()I - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #146 // Field mCursorPosition:I - 4: ireturn - LineNumberTable: - line 3517: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void showSoftInput(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=1, args_size=1 - 0: aload_0 - 1: invokevirtual #357 // Method isEditable:()Z - 4: ifeq 48 - 7: aload_0 - 8: invokevirtual #596 // Method isEnabled:()Z - 11: ifeq 48 - 14: aload_0 - 15: invokevirtual #597 // Method isInTouchMode:()Z - 18: ifeq 26 - 21: aload_0 - 22: invokevirtual #598 // Method requestFocusFromTouch:()Z - 25: pop - 26: aload_0 - 27: invokevirtual #599 // Method hasFocus:()Z - 30: ifne 38 - 33: aload_0 - 34: invokevirtual #600 // Method requestFocus:()Z - 37: pop - 38: aload_0 - 39: getfield #141 // Field mInputMethodManager:Landroid/view/inputmethod/InputMethodManager; - 42: aload_0 - 43: iconst_0 - 44: invokevirtual #601 // Method android/view/inputmethod/InputMethodManager.showSoftInput:(Landroid/view/View;I)Z - 47: pop - 48: aload_0 - 49: invokevirtual #187 // Method invalidate:()V - 52: return - LineNumberTable: - line 3529: 0 - line 3530: 14 - line 3531: 21 - line 3533: 26 - line 3534: 33 - line 3536: 38 - line 3538: 48 - line 3539: 52 - LocalVariableTable: - Start Length Slot Name Signature - 0 53 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 3 - frame_type = 26 /* same */ - frame_type = 11 /* same */ - frame_type = 9 /* same */ - - public void hideSoftInput(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=1, args_size=1 - 0: aload_0 - 1: getfield #141 // Field mInputMethodManager:Landroid/view/inputmethod/InputMethodManager; - 4: aload_0 - 5: invokevirtual #602 // Method getWindowToken:()Landroid/os/IBinder; - 8: iconst_0 - 9: invokevirtual #603 // Method android/view/inputmethod/InputMethodManager.hideSoftInputFromWindow:(Landroid/os/IBinder;I)Z - 12: pop - 13: return - LineNumberTable: - line 3545: 0 - line 3546: 13 - LocalVariableTable: - Start Length Slot Name Signature - 0 14 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - protected void updateSelection(); - descriptor: ()V - flags: (0x0004) ACC_PROTECTED - Code: - stack=6, locals=4, args_size=1 - 0: iconst_m1 - 1: istore_1 - 2: iconst_m1 - 3: istore_2 - 4: aload_0 - 5: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 8: getfield #522 // Field io/github/rosemoe/sora/widget/EditorInputConnection.mComposingText:Lio/github/rosemoe/sora/widget/ComposingText; - 11: invokevirtual #523 // Method io/github/rosemoe/sora/widget/ComposingText.isComposing:()Z - 14: ifeq 43 - 17: aload_0 - 18: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 21: getfield #522 // Field io/github/rosemoe/sora/widget/EditorInputConnection.mComposingText:Lio/github/rosemoe/sora/widget/ComposingText; - 24: getfield #604 // Field io/github/rosemoe/sora/widget/ComposingText.startIndex:I - 27: istore_1 - 28: aload_0 - 29: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 32: getfield #522 // Field io/github/rosemoe/sora/widget/EditorInputConnection.mComposingText:Lio/github/rosemoe/sora/widget/ComposingText; - 35: getfield #605 // Field io/github/rosemoe/sora/widget/ComposingText.endIndex:I - 38: istore_2 - 39: goto 43 - 42: astore_3 - 43: aload_0 - 44: getfield #141 // Field mInputMethodManager:Landroid/view/inputmethod/InputMethodManager; - 47: aload_0 - 48: aload_0 - 49: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 52: invokevirtual #385 // Method io/github/rosemoe/sora/text/Cursor.getLeft:()I - 55: aload_0 - 56: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 59: invokevirtual #202 // Method io/github/rosemoe/sora/text/Cursor.getRight:()I - 62: iload_1 - 63: iload_2 - 64: invokevirtual #606 // Method android/view/inputmethod/InputMethodManager.updateSelection:(Landroid/view/View;IIII)V - 67: return - Exception table: - from to target type - 17 39 42 Class java/lang/IndexOutOfBoundsException - LineNumberTable: - line 3552: 0 - line 3553: 4 - line 3555: 17 - line 3556: 28 - line 3559: 39 - line 3557: 42 - line 3561: 43 - line 3562: 67 - LocalVariableTable: - Start Length Slot Name Signature - 0 68 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 2 66 1 candidatesStart I - 4 64 2 candidatesEnd I - StackMapTable: number_of_entries = 2 - frame_type = 255 /* full_frame */ - offset_delta = 42 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, int ] - stack = [ class java/lang/IndexOutOfBoundsException ] - frame_type = 0 /* same */ - - protected void updateExtractedText(); - descriptor: ()V - flags: (0x0004) ACC_PROTECTED - Code: - stack=4, locals=2, args_size=1 - 0: aload_0 - 1: getfield #607 // Field mExtracting:Landroid/view/inputmethod/ExtractedTextRequest; - 4: ifnull 32 - 7: aload_0 - 8: aload_0 - 9: getfield #607 // Field mExtracting:Landroid/view/inputmethod/ExtractedTextRequest; - 12: invokevirtual #608 // Method extractText:(Landroid/view/inputmethod/ExtractedTextRequest;)Landroid/view/inputmethod/ExtractedText; - 15: astore_1 - 16: aload_0 - 17: getfield #141 // Field mInputMethodManager:Landroid/view/inputmethod/InputMethodManager; - 20: aload_0 - 21: aload_0 - 22: getfield #607 // Field mExtracting:Landroid/view/inputmethod/ExtractedTextRequest; - 25: getfield #609 // Field android/view/inputmethod/ExtractedTextRequest.token:I - 28: aload_1 - 29: invokevirtual #610 // Method android/view/inputmethod/InputMethodManager.updateExtractedText:(Landroid/view/View;ILandroid/view/inputmethod/ExtractedText;)V - 32: return - LineNumberTable: - line 3568: 0 - line 3569: 7 - line 3570: 16 - line 3572: 32 - LocalVariableTable: - Start Length Slot Name Signature - 16 16 1 text Landroid/view/inputmethod/ExtractedText; - 0 33 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 1 - frame_type = 32 /* same */ - - protected void setExtracting(android.view.inputmethod.ExtractedTextRequest); - descriptor: (Landroid/view/inputmethod/ExtractedTextRequest;)V - flags: (0x0004) ACC_PROTECTED - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: aload_1 - 2: putfield #607 // Field mExtracting:Landroid/view/inputmethod/ExtractedTextRequest; - 5: return - LineNumberTable: - line 3578: 0 - line 3579: 5 - LocalVariableTable: - Start Length Slot Name Signature - 0 6 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 6 1 request Landroid/view/inputmethod/ExtractedTextRequest; - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #1030() - androidx.annotation.Nullable - - protected android.view.inputmethod.ExtractedText extractText(android.view.inputmethod.ExtractedTextRequest); - descriptor: (Landroid/view/inputmethod/ExtractedTextRequest;)Landroid/view/inputmethod/ExtractedText; - flags: (0x0004) ACC_PROTECTED - Code: - stack=5, locals=7, args_size=2 - 0: aload_0 - 1: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 4: astore_2 - 5: new #611 // class android/view/inputmethod/ExtractedText - 8: dup - 9: invokespecial #612 // Method android/view/inputmethod/ExtractedText."":()V - 12: astore_3 - 13: aload_2 - 14: invokevirtual #385 // Method io/github/rosemoe/sora/text/Cursor.getLeft:()I - 17: istore 4 - 19: aload_2 - 20: invokevirtual #202 // Method io/github/rosemoe/sora/text/Cursor.getRight:()I - 23: istore 5 - 25: iconst_0 - 26: istore 6 - 28: aload_1 - 29: getfield #613 // Field android/view/inputmethod/ExtractedTextRequest.hintMaxChars:I - 32: ifne 46 - 35: aload_1 - 36: aload_0 - 37: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 40: getfield #614 // Field io/github/rosemoe/sora/widget/DirectAccessProps.maxIPCTextLength:I - 43: putfield #613 // Field android/view/inputmethod/ExtractedTextRequest.hintMaxChars:I - 46: aload_1 - 47: getfield #613 // Field android/view/inputmethod/ExtractedTextRequest.hintMaxChars:I - 50: aload_0 - 51: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 54: getfield #614 // Field io/github/rosemoe/sora/widget/DirectAccessProps.maxIPCTextLength:I - 57: if_icmpge 83 - 60: iload 6 - 62: aload_1 - 63: getfield #613 // Field android/view/inputmethod/ExtractedTextRequest.hintMaxChars:I - 66: iadd - 67: iload 4 - 69: if_icmpge 83 - 72: iload 4 - 74: aload_1 - 75: getfield #613 // Field android/view/inputmethod/ExtractedTextRequest.hintMaxChars:I - 78: iconst_2 - 79: idiv - 80: isub - 81: istore 6 - 83: aload_3 - 84: aload_0 - 85: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 88: iload 6 - 90: iload 6 - 92: aload_1 - 93: getfield #613 // Field android/view/inputmethod/ExtractedTextRequest.hintMaxChars:I - 96: iadd - 97: aload_1 - 98: getfield #615 // Field android/view/inputmethod/ExtractedTextRequest.flags:I - 101: invokevirtual #616 // Method io/github/rosemoe/sora/widget/EditorInputConnection.getTextRegion:(III)Ljava/lang/CharSequence; - 104: putfield #617 // Field android/view/inputmethod/ExtractedText.text:Ljava/lang/CharSequence; - 107: aload_3 - 108: iload 6 - 110: putfield #618 // Field android/view/inputmethod/ExtractedText.startOffset:I - 113: aload_3 - 114: iload 4 - 116: iload 6 - 118: isub - 119: putfield #619 // Field android/view/inputmethod/ExtractedText.selectionStart:I - 122: aload_3 - 123: iload 5 - 125: iload 6 - 127: isub - 128: putfield #620 // Field android/view/inputmethod/ExtractedText.selectionEnd:I - 131: iload 4 - 133: iload 5 - 135: if_icmpeq 148 - 138: aload_3 - 139: dup - 140: getfield #621 // Field android/view/inputmethod/ExtractedText.flags:I - 143: iconst_2 - 144: ior - 145: putfield #621 // Field android/view/inputmethod/ExtractedText.flags:I - 148: aload_3 - 149: areturn - LineNumberTable: - line 3585: 0 - line 3586: 5 - line 3587: 13 - line 3588: 19 - line 3589: 25 - line 3590: 28 - line 3591: 35 - line 3593: 46 - line 3594: 60 - line 3595: 72 - line 3598: 83 - line 3599: 107 - line 3600: 113 - line 3601: 122 - line 3602: 131 - line 3603: 138 - line 3605: 148 - LocalVariableTable: - Start Length Slot Name Signature - 0 150 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 150 1 request Landroid/view/inputmethod/ExtractedTextRequest; - 5 145 2 cur Lio/github/rosemoe/sora/text/Cursor; - 13 137 3 text Landroid/view/inputmethod/ExtractedText; - 19 131 4 selBegin I - 25 125 5 selEnd I - 28 122 6 startOffset I - StackMapTable: number_of_entries = 3 - frame_type = 255 /* full_frame */ - offset_delta = 46 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class android/view/inputmethod/ExtractedTextRequest, class io/github/rosemoe/sora/text/Cursor, class android/view/inputmethod/ExtractedText, int, int, int ] - stack = [] - frame_type = 36 /* same */ - frame_type = 251 /* same_frame_extended */ - offset_delta = 64 - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #957() - androidx.annotation.NonNull - - public void notifyIMEExternalCursorChange(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: invokevirtual #622 // Method updateExtractedText:()V - 4: aload_0 - 5: invokevirtual #520 // Method updateSelection:()V - 8: aload_0 - 9: invokevirtual #361 // Method updateCursorAnchor:()F - 12: pop - 13: aload_0 - 14: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 17: getfield #522 // Field io/github/rosemoe/sora/widget/EditorInputConnection.mComposingText:Lio/github/rosemoe/sora/widget/ComposingText; - 20: invokevirtual #523 // Method io/github/rosemoe/sora/widget/ComposingText.isComposing:()Z - 23: ifeq 30 - 26: aload_0 - 27: invokevirtual #460 // Method restartInput:()V - 30: return - LineNumberTable: - line 3612: 0 - line 3613: 4 - line 3614: 8 - line 3616: 13 - line 3617: 26 - line 3619: 30 - LocalVariableTable: - Start Length Slot Name Signature - 0 31 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 1 - frame_type = 30 /* same */ - - public void restartInput(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=1, args_size=1 - 0: aload_0 - 1: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 4: ifnull 14 - 7: aload_0 - 8: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 11: invokevirtual #623 // Method io/github/rosemoe/sora/widget/EditorInputConnection.invalid:()V - 14: aload_0 - 15: getfield #141 // Field mInputMethodManager:Landroid/view/inputmethod/InputMethodManager; - 18: ifnull 29 - 21: aload_0 - 22: getfield #141 // Field mInputMethodManager:Landroid/view/inputmethod/InputMethodManager; - 25: aload_0 - 26: invokevirtual #585 // Method android/view/inputmethod/InputMethodManager.restartInput:(Landroid/view/View;)V - 29: return - LineNumberTable: - line 3628: 0 - line 3629: 7 - line 3630: 14 - line 3631: 21 - line 3632: 29 - LocalVariableTable: - Start Length Slot Name Signature - 0 30 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 2 - frame_type = 14 /* same */ - frame_type = 14 /* same */ - - public void updateCursor(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: invokevirtual #361 // Method updateCursorAnchor:()F - 4: pop - 5: aload_0 - 6: invokevirtual #622 // Method updateExtractedText:()V - 9: aload_0 - 10: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 13: invokevirtual #624 // Method io/github/rosemoe/sora/text/Content.isInBatchEdit:()Z - 16: ifne 36 - 19: aload_0 - 20: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 23: getfield #522 // Field io/github/rosemoe/sora/widget/EditorInputConnection.mComposingText:Lio/github/rosemoe/sora/widget/ComposingText; - 26: invokevirtual #523 // Method io/github/rosemoe/sora/widget/ComposingText.isComposing:()Z - 29: ifne 36 - 32: aload_0 - 33: invokevirtual #520 // Method updateSelection:()V - 36: return - LineNumberTable: - line 3638: 0 - line 3639: 5 - line 3640: 9 - line 3641: 32 - line 3643: 36 - LocalVariableTable: - Start Length Slot Name Signature - 0 37 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 1 - frame_type = 36 /* same */ - - public void release(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=1, args_size=1 - 0: aload_0 - 1: invokevirtual #625 // Method hideEditorWindows:()V - 4: aload_0 - 5: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 8: ifnull 45 - 11: aload_0 - 12: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 15: invokeinterface #232, 1 // InterfaceMethod io/github/rosemoe/sora/lang/Language.getAnalyzeManager:()Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - 20: invokeinterface #234, 1 // InterfaceMethod io/github/rosemoe/sora/lang/analysis/AnalyzeManager.destroy:()V - 25: aload_0 - 26: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 29: invokeinterface #235, 1 // InterfaceMethod io/github/rosemoe/sora/lang/Language.destroy:()V - 34: aload_0 - 35: new #230 // class io/github/rosemoe/sora/lang/EmptyLanguage - 38: dup - 39: invokespecial #231 // Method io/github/rosemoe/sora/lang/EmptyLanguage."":()V - 42: putfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 45: return - LineNumberTable: - line 3652: 0 - line 3653: 4 - line 3654: 11 - line 3655: 25 - line 3656: 34 - line 3658: 45 - LocalVariableTable: - Start Length Slot Name Signature - 0 46 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 1 - frame_type = 45 /* same */ - - public void hideEditorWindows(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 4: invokevirtual #626 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.cancelCompletion:()V - 7: aload_0 - 8: getfield #24 // Field mTextActionWindow:Lio/github/rosemoe/sora/widget/component/EditorTextActionWindow; - 11: invokevirtual #627 // Method io/github/rosemoe/sora/widget/component/EditorTextActionWindow.dismiss:()V - 14: aload_0 - 15: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 18: getfield #22 // Field io/github/rosemoe/sora/widget/EditorTouchEventHandler.mMagnifier:Lio/github/rosemoe/sora/widget/component/Magnifier; - 21: invokevirtual #628 // Method io/github/rosemoe/sora/widget/component/Magnifier.dismiss:()V - 24: return - LineNumberTable: - line 3664: 0 - line 3665: 7 - line 3666: 14 - line 3667: 24 - LocalVariableTable: - Start Length Slot Name Signature - 0 25 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - public void onColorUpdated(int); - descriptor: (I)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: iload_1 - 1: bipush 19 - 3: if_icmpeq 12 - 6: iload_1 - 7: bipush 20 - 9: if_icmpne 27 - 12: aload_0 - 13: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 16: ifnull 26 - 19: aload_0 - 20: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 23: invokevirtual #594 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.applyColorScheme:()V - 26: return - 27: aload_0 - 28: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 31: invokevirtual #258 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateHwRenderer:()V - 34: aload_0 - 35: invokevirtual #187 // Method invalidate:()V - 38: return - LineNumberTable: - line 3679: 0 - line 3680: 12 - line 3681: 19 - line 3682: 26 - line 3684: 27 - line 3685: 34 - line 3686: 38 - LocalVariableTable: - Start Length Slot Name Signature - 0 39 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 39 1 type I - StackMapTable: number_of_entries = 3 - frame_type = 12 /* same */ - frame_type = 13 /* same */ - frame_type = 0 /* same */ - - public void onColorFullUpdate(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 4: ifnull 14 - 7: aload_0 - 8: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 11: invokevirtual #594 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.applyColorScheme:()V - 14: aload_0 - 15: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 18: invokevirtual #258 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateHwRenderer:()V - 21: aload_0 - 22: invokevirtual #187 // Method invalidate:()V - 25: return - LineNumberTable: - line 3692: 0 - line 3693: 7 - line 3694: 14 - line 3695: 21 - line 3696: 25 - LocalVariableTable: - Start Length Slot Name Signature - 0 26 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 1 - frame_type = 14 /* same */ - - protected android.view.inputmethod.InputMethodManager getInputMethodManager(); - descriptor: ()Landroid/view/inputmethod/InputMethodManager; - flags: (0x0004) ACC_PROTECTED - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #141 // Field mInputMethodManager:Landroid/view/inputmethod/InputMethodManager; - 4: areturn - LineNumberTable: - line 3702: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 5 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - protected void onCloseConnection(); - descriptor: ()V - flags: (0x0004) ACC_PROTECTED - Code: - stack=2, locals=1, args_size=1 - 0: aload_0 - 1: aconst_null - 2: invokevirtual #629 // Method setExtracting:(Landroid/view/inputmethod/ExtractedTextRequest;)V - 5: aload_0 - 6: invokevirtual #187 // Method invalidate:()V - 9: return - LineNumberTable: - line 3709: 0 - line 3710: 5 - line 3711: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - protected void onSelectionChanged(int); - descriptor: (I)V - flags: (0x0004) ACC_PROTECTED - Code: - stack=5, locals=2, args_size=2 - 0: aload_0 - 1: new #512 // class io/github/rosemoe/sora/event/SelectionChangeEvent - 4: dup - 5: aload_0 - 6: iload_1 - 7: invokespecial #630 // Method io/github/rosemoe/sora/event/SelectionChangeEvent."":(Lio/github/rosemoe/sora/widget/CodeEditor;I)V - 10: invokevirtual #435 // Method dispatchEvent:(Lio/github/rosemoe/sora/event/Event;)I - 13: pop - 14: return - LineNumberTable: - line 3717: 0 - line 3719: 14 - LocalVariableTable: - Start Length Slot Name Signature - 0 15 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 15 1 cause I - - protected void releaseEdgeEffects(); - descriptor: ()V - flags: (0x0004) ACC_PROTECTED - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: getfield #158 // Field mHorizontalGlow:Landroid/widget/EdgeEffect; - 4: invokevirtual #631 // Method android/widget/EdgeEffect.onRelease:()V - 7: aload_0 - 8: getfield #157 // Field mVerticalGlow:Landroid/widget/EdgeEffect; - 11: invokevirtual #631 // Method android/widget/EdgeEffect.onRelease:()V - 14: return - LineNumberTable: - line 3722: 0 - line 3723: 7 - line 3724: 14 - LocalVariableTable: - Start Length Slot Name Signature - 0 15 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - protected void onDraw(android.graphics.Canvas); - descriptor: (Landroid/graphics/Canvas;)V - flags: (0x0004) ACC_PROTECTED - Code: - stack=3, locals=2, args_size=2 - 0: aload_0 - 1: aload_1 - 2: invokespecial #632 // Method android/view/View.onDraw:(Landroid/graphics/Canvas;)V - 5: aload_0 - 6: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 9: aload_1 - 10: invokevirtual #633 // Method io/github/rosemoe/sora/widget/EditorPainter.draw:(Landroid/graphics/Canvas;)V - 13: aload_0 - 14: getfield #634 // Field mLastCursorState:Z - 17: aload_0 - 18: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 21: getfield #635 // Field io/github/rosemoe/sora/widget/CursorBlink.visibility:Z - 24: if_icmpne 40 - 27: aload_0 - 28: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 31: invokevirtual #437 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.getScroller:()Landroid/widget/OverScroller; - 34: invokevirtual #636 // Method android/widget/OverScroller.isFinished:()Z - 37: ifne 86 - 40: aload_0 - 41: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 44: getfield #22 // Field io/github/rosemoe/sora/widget/EditorTouchEventHandler.mMagnifier:Lio/github/rosemoe/sora/widget/component/Magnifier; - 47: invokevirtual #637 // Method io/github/rosemoe/sora/widget/component/Magnifier.isShowing:()Z - 50: ifeq 86 - 53: aload_0 - 54: aload_0 - 55: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 58: getfield #635 // Field io/github/rosemoe/sora/widget/CursorBlink.visibility:Z - 61: putfield #634 // Field mLastCursorState:Z - 64: aload_0 - 65: aload_0 - 66: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 69: getfield #22 // Field io/github/rosemoe/sora/widget/EditorTouchEventHandler.mMagnifier:Lio/github/rosemoe/sora/widget/component/Magnifier; - 72: dup - 73: invokestatic #184 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; - 76: pop - 77: invokedynamic #638, 0 // InvokeDynamic #0:run:(Lio/github/rosemoe/sora/widget/component/Magnifier;)Ljava/lang/Runnable; - 82: invokevirtual #215 // Method post:(Ljava/lang/Runnable;)Z - 85: pop - 86: return - LineNumberTable: - line 3731: 0 - line 3733: 5 - line 3736: 13 - line 3737: 53 - line 3738: 64 - line 3740: 86 - LocalVariableTable: - Start Length Slot Name Signature - 0 87 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 87 1 canvas Landroid/graphics/Canvas; - StackMapTable: number_of_entries = 2 - frame_type = 40 /* same */ - frame_type = 45 /* same */ - - public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo(); - descriptor: ()Landroid/view/accessibility/AccessibilityNodeInfo; - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=1 - 0: aload_0 - 1: invokespecial #639 // Method android/view/View.createAccessibilityNodeInfo:()Landroid/view/accessibility/AccessibilityNodeInfo; - 4: astore_1 - 5: aload_1 - 6: aload_0 - 7: invokevirtual #357 // Method isEditable:()Z - 10: invokevirtual #640 // Method android/view/accessibility/AccessibilityNodeInfo.setEditable:(Z)V - 13: aload_1 - 14: aload_0 - 15: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 18: invokevirtual #385 // Method io/github/rosemoe/sora/text/Cursor.getLeft:()I - 21: aload_0 - 22: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 25: invokevirtual #202 // Method io/github/rosemoe/sora/text/Cursor.getRight:()I - 28: invokevirtual #641 // Method android/view/accessibility/AccessibilityNodeInfo.setTextSelection:(II)V - 31: aload_1 - 32: iconst_1 - 33: invokevirtual #642 // Method android/view/accessibility/AccessibilityNodeInfo.setScrollable:(Z)V - 36: aload_1 - 37: iconst_1 - 38: invokevirtual #644 // Method android/view/accessibility/AccessibilityNodeInfo.setInputType:(I)V - 41: aload_1 - 42: iconst_1 - 43: invokevirtual #645 // Method android/view/accessibility/AccessibilityNodeInfo.setMultiLine:(Z)V - 46: aload_1 - 47: aload_0 - 48: invokevirtual #192 // Method getText:()Lio/github/rosemoe/sora/text/Content; - 51: invokevirtual #646 // Method io/github/rosemoe/sora/text/Content.toStringBuilder:()Ljava/lang/StringBuilder; - 54: invokevirtual #647 // Method android/view/accessibility/AccessibilityNodeInfo.setText:(Ljava/lang/CharSequence;)V - 57: aload_1 - 58: iconst_1 - 59: invokevirtual #648 // Method android/view/accessibility/AccessibilityNodeInfo.setLongClickable:(Z)V - 62: aload_1 - 63: getstatic #649 // Field android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction.ACTION_COPY:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - 66: invokevirtual #650 // Method android/view/accessibility/AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V - 69: aload_1 - 70: getstatic #651 // Field android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction.ACTION_CUT:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - 73: invokevirtual #650 // Method android/view/accessibility/AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V - 76: aload_1 - 77: getstatic #652 // Field android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction.ACTION_PASTE:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - 80: invokevirtual #650 // Method android/view/accessibility/AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V - 83: aload_1 - 84: getstatic #653 // Field android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction.ACTION_SET_TEXT:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - 87: invokevirtual #650 // Method android/view/accessibility/AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V - 90: aload_1 - 91: getstatic #654 // Field android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction.ACTION_SCROLL_FORWARD:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - 94: invokevirtual #650 // Method android/view/accessibility/AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V - 97: aload_1 - 98: getstatic #655 // Field android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction.ACTION_SCROLL_BACKWARD:Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction; - 101: invokevirtual #650 // Method android/view/accessibility/AccessibilityNodeInfo.addAction:(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V - 104: aload_1 - 105: areturn - LineNumberTable: - line 3744: 0 - line 3745: 5 - line 3746: 13 - line 3747: 31 - line 3748: 36 - line 3749: 41 - line 3750: 46 - line 3751: 57 - line 3752: 62 - line 3753: 69 - line 3754: 76 - line 3755: 83 - line 3756: 90 - line 3757: 97 - line 3758: 104 - LocalVariableTable: - Start Length Slot Name Signature - 0 106 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 5 101 1 node Landroid/view/accessibility/AccessibilityNodeInfo; - - public boolean performAccessibilityAction(int, android.os.Bundle); - descriptor: (ILandroid/os/Bundle;)Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=3, args_size=3 - 0: iload_1 - 1: lookupswitch { // 6 - 4096: 97 - 8192: 91 - 16384: 60 - 32768: 72 - 65536: 66 - 2097152: 78 - default: 103 - } - 60: aload_0 - 61: invokevirtual #555 // Method copyText:()V - 64: iconst_1 - 65: ireturn - 66: aload_0 - 67: invokevirtual #557 // Method cutText:()V - 70: iconst_1 - 71: ireturn - 72: aload_0 - 73: invokevirtual #656 // Method pasteText:()V - 76: iconst_1 - 77: ireturn - 78: aload_0 - 79: aload_2 - 80: ldc_w #658 // String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE - 83: invokevirtual #659 // Method android/os/Bundle.getCharSequence:(Ljava/lang/String;)Ljava/lang/CharSequence; - 86: invokevirtual #161 // Method setText:(Ljava/lang/CharSequence;)V - 89: iconst_1 - 90: ireturn - 91: aload_0 - 92: invokevirtual #660 // Method movePageDown:()V - 95: iconst_1 - 96: ireturn - 97: aload_0 - 98: invokevirtual #661 // Method movePageUp:()V - 101: iconst_1 - 102: ireturn - 103: aload_0 - 104: iload_1 - 105: aload_2 - 106: invokespecial #662 // Method android/view/View.performAccessibilityAction:(ILandroid/os/Bundle;)Z - 109: ireturn - LineNumberTable: - line 3763: 0 - line 3765: 60 - line 3766: 64 - line 3768: 66 - line 3769: 70 - line 3771: 72 - line 3772: 76 - line 3774: 78 - line 3775: 89 - line 3777: 91 - line 3778: 95 - line 3780: 97 - line 3781: 101 - line 3783: 103 - LocalVariableTable: - Start Length Slot Name Signature - 0 110 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 110 1 action I - 0 110 2 arguments Landroid/os/Bundle; - StackMapTable: number_of_entries = 7 - frame_type = 60 /* same */ - frame_type = 5 /* same */ - frame_type = 5 /* same */ - frame_type = 5 /* same */ - frame_type = 12 /* same */ - frame_type = 5 /* same */ - frame_type = 5 /* same */ - - public boolean dispatchTouchEvent(android.view.MotionEvent); - descriptor: (Landroid/view/MotionEvent;)Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=4, args_size=2 - 0: aload_1 - 1: invokevirtual #663 // Method android/view/MotionEvent.getX:()F - 4: f2i - 5: istore_2 - 6: aload_1 - 7: invokevirtual #664 // Method android/view/MotionEvent.getAction:()I - 10: lookupswitch { // 2 - 0: 36 - 2: 61 - default: 117 - } - 36: aload_0 - 37: iload_2 - 38: putfield #5 // Field mDownX:I - 41: aload_0 - 42: getfield #454 // Field mForceHorizontalScrollable:Z - 45: ifeq 117 - 48: aload_0 - 49: invokevirtual #455 // Method getParent:()Landroid/view/ViewParent; - 52: iconst_1 - 53: invokeinterface #456, 2 // InterfaceMethod android/view/ViewParent.requestDisallowInterceptTouchEvent:(Z)V - 58: goto 117 - 61: iload_2 - 62: aload_0 - 63: getfield #5 // Field mDownX:I - 66: isub - 67: istore_3 - 68: aload_0 - 69: getfield #454 // Field mForceHorizontalScrollable:Z - 72: ifeq 117 - 75: iload_3 - 76: ifle 89 - 79: aload_0 - 80: invokevirtual #367 // Method getScroller:()Landroid/widget/OverScroller; - 83: invokevirtual #488 // Method android/widget/OverScroller.getCurrX:()I - 86: ifeq 107 - 89: iload_3 - 90: ifge 117 - 93: aload_0 - 94: invokevirtual #367 // Method getScroller:()Landroid/widget/OverScroller; - 97: invokevirtual #488 // Method android/widget/OverScroller.getCurrX:()I - 100: aload_0 - 101: invokevirtual #423 // Method getScrollMaxX:()I - 104: if_icmpne 117 - 107: aload_0 - 108: invokevirtual #455 // Method getParent:()Landroid/view/ViewParent; - 111: iconst_0 - 112: invokeinterface #456, 2 // InterfaceMethod android/view/ViewParent.requestDisallowInterceptTouchEvent:(Z)V - 117: aload_0 - 118: aload_1 - 119: invokespecial #665 // Method android/view/View.dispatchTouchEvent:(Landroid/view/MotionEvent;)Z - 122: ireturn - LineNumberTable: - line 3788: 0 - line 3789: 6 - line 3791: 36 - line 3792: 41 - line 3793: 48 - line 3797: 61 - line 3798: 68 - line 3799: 75 - line 3800: 94 - line 3801: 107 - line 3806: 117 - LocalVariableTable: - Start Length Slot Name Signature - 68 49 3 deltaX I - 0 123 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 123 1 event Landroid/view/MotionEvent; - 6 117 2 x I - StackMapTable: number_of_entries = 5 - frame_type = 252 /* append */ - offset_delta = 36 - locals = [ int ] - frame_type = 24 /* same */ - frame_type = 252 /* append */ - offset_delta = 27 - locals = [ int ] - frame_type = 17 /* same */ - frame_type = 250 /* chop */ - offset_delta = 9 - - public boolean onCheckIsTextEditor(); - descriptor: ()Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=1, args_size=1 - 0: aload_0 - 1: invokevirtual #596 // Method isEnabled:()Z - 4: ifeq 18 - 7: aload_0 - 8: invokevirtual #357 // Method isEditable:()Z - 11: ifeq 18 - 14: iconst_1 - 15: goto 19 - 18: iconst_0 - 19: ireturn - LineNumberTable: - line 3811: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 20 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - StackMapTable: number_of_entries = 2 - frame_type = 18 /* same */ - frame_type = 64 /* same_locals_1_stack_item */ - stack = [ int ] - - public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo); - descriptor: (Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection; - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: aload_0 - 1: invokevirtual #357 // Method isEditable:()Z - 4: ifeq 14 - 7: aload_0 - 8: invokevirtual #596 // Method isEnabled:()Z - 11: ifne 16 - 14: aconst_null - 15: areturn - 16: aload_1 - 17: aload_0 - 18: getfield #459 // Field mInputType:I - 21: ifeq 31 - 24: aload_0 - 25: getfield #459 // Field mInputType:I - 28: goto 34 - 31: ldc_w #667 // int 131073 - 34: putfield #668 // Field android/view/inputmethod/EditorInfo.inputType:I - 37: aload_1 - 38: aload_0 - 39: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 42: ifnull 55 - 45: aload_0 - 46: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 49: invokevirtual #385 // Method io/github/rosemoe/sora/text/Cursor.getLeft:()I - 52: goto 56 - 55: iconst_0 - 56: putfield #669 // Field android/view/inputmethod/EditorInfo.initialSelStart:I - 59: aload_1 - 60: aload_0 - 61: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 64: ifnull 77 - 67: aload_0 - 68: invokevirtual #417 // Method getCursor:()Lio/github/rosemoe/sora/text/Cursor; - 71: invokevirtual #202 // Method io/github/rosemoe/sora/text/Cursor.getRight:()I - 74: goto 78 - 77: iconst_0 - 78: putfield #670 // Field android/view/inputmethod/EditorInfo.initialSelEnd:I - 81: aload_1 - 82: aload_0 - 83: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 86: iconst_0 - 87: invokevirtual #671 // Method io/github/rosemoe/sora/widget/EditorInputConnection.getCursorCapsMode:(I)I - 90: putfield #672 // Field android/view/inputmethod/EditorInfo.initialCapsMode:I - 93: aload_0 - 94: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 97: getfield #673 // Field io/github/rosemoe/sora/widget/DirectAccessProps.allowFullscreen:Z - 100: ifne 110 - 103: aload_1 - 104: ldc_w #674 // int 301989888 - 107: putfield #675 // Field android/view/inputmethod/EditorInfo.imeOptions:I - 110: aload_0 - 111: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 114: invokevirtual #676 // Method io/github/rosemoe/sora/widget/EditorInputConnection.reset:()V - 117: aload_0 - 118: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 121: invokevirtual #572 // Method io/github/rosemoe/sora/text/Content.resetBatchEdit:()V - 124: aload_0 - 125: aconst_null - 126: invokevirtual #629 // Method setExtracting:(Landroid/view/inputmethod/ExtractedTextRequest;)V - 129: aload_0 - 130: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 133: areturn - LineNumberTable: - line 3816: 0 - line 3817: 14 - line 3819: 16 - line 3820: 37 - line 3821: 59 - line 3822: 81 - line 3826: 93 - line 3827: 103 - line 3830: 110 - line 3831: 117 - line 3832: 124 - line 3833: 129 - LocalVariableTable: - Start Length Slot Name Signature - 0 134 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 134 1 outAttrs Landroid/view/inputmethod/EditorInfo; - StackMapTable: number_of_entries = 9 - frame_type = 14 /* same */ - frame_type = 1 /* same */ - frame_type = 78 /* same_locals_1_stack_item */ - stack = [ class android/view/inputmethod/EditorInfo ] - frame_type = 255 /* full_frame */ - offset_delta = 2 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class android/view/inputmethod/EditorInfo ] - stack = [ class android/view/inputmethod/EditorInfo, int ] - frame_type = 84 /* same_locals_1_stack_item */ - stack = [ class android/view/inputmethod/EditorInfo ] - frame_type = 255 /* full_frame */ - offset_delta = 0 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class android/view/inputmethod/EditorInfo ] - stack = [ class android/view/inputmethod/EditorInfo, int ] - frame_type = 84 /* same_locals_1_stack_item */ - stack = [ class android/view/inputmethod/EditorInfo ] - frame_type = 255 /* full_frame */ - offset_delta = 0 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class android/view/inputmethod/EditorInfo ] - stack = [ class android/view/inputmethod/EditorInfo, int ] - frame_type = 31 /* same */ - - public boolean onTouchEvent(android.view.MotionEvent); - descriptor: (Landroid/view/MotionEvent;)Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=7, args_size=2 - 0: aload_0 - 1: invokevirtual #596 // Method isEnabled:()Z - 4: ifne 9 - 7: iconst_0 - 8: ireturn - 9: aload_0 - 10: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 13: invokevirtual #677 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.handlingMotions:()Z - 16: istore_2 - 17: aload_0 - 18: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 21: aload_1 - 22: invokevirtual #678 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.onTouchEvent:(Landroid/view/MotionEvent;)Z - 25: istore_3 - 26: aload_0 - 27: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 30: invokevirtual #677 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.handlingMotions:()Z - 33: istore 4 - 35: iconst_0 - 36: istore 5 - 38: aload_0 - 39: getfield #127 // Field mScaleDetector:Landroid/view/ScaleGestureDetector; - 42: aload_1 - 43: invokevirtual #679 // Method android/view/ScaleGestureDetector.onTouchEvent:(Landroid/view/MotionEvent;)Z - 46: istore 6 - 48: iload 4 - 50: ifne 67 - 53: iload_2 - 54: ifne 67 - 57: aload_0 - 58: getfield #123 // Field mBasicDetector:Landroid/view/GestureDetector; - 61: aload_1 - 62: invokevirtual #680 // Method android/view/GestureDetector.onTouchEvent:(Landroid/view/MotionEvent;)Z - 65: istore 5 - 67: aload_1 - 68: invokevirtual #664 // Method android/view/MotionEvent.getAction:()I - 71: iconst_1 - 72: if_icmpne 89 - 75: aload_0 - 76: getfield #157 // Field mVerticalGlow:Landroid/widget/EdgeEffect; - 79: invokevirtual #631 // Method android/widget/EdgeEffect.onRelease:()V - 82: aload_0 - 83: getfield #158 // Field mHorizontalGlow:Landroid/widget/EdgeEffect; - 86: invokevirtual #631 // Method android/widget/EdgeEffect.onRelease:()V - 89: iload 6 - 91: ifne 103 - 94: iload 5 - 96: ifne 103 - 99: iload_3 - 100: ifeq 107 - 103: iconst_1 - 104: goto 108 - 107: iconst_0 - 108: ireturn - LineNumberTable: - line 3839: 0 - line 3840: 7 - line 3842: 9 - line 3843: 17 - line 3844: 26 - line 3845: 35 - line 3846: 38 - line 3847: 48 - line 3848: 57 - line 3850: 67 - line 3851: 75 - line 3852: 82 - line 3854: 89 - LocalVariableTable: - Start Length Slot Name Signature - 0 109 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 109 1 event Landroid/view/MotionEvent; - 17 92 2 handlingBefore Z - 26 83 3 res Z - 35 74 4 handling Z - 38 71 5 res2 Z - 48 61 6 res3 Z - StackMapTable: number_of_entries = 6 - frame_type = 9 /* same */ - frame_type = 255 /* full_frame */ - offset_delta = 57 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class android/view/MotionEvent, int, int, int, int, int ] - stack = [] - frame_type = 21 /* same */ - frame_type = 13 /* same */ - frame_type = 3 /* same */ - frame_type = 64 /* same_locals_1_stack_item */ - stack = [ int ] - RuntimeInvisibleAnnotations: - 0: #1216(#1217=[s#1558]) - android.annotation.SuppressLint( - value=["ClickableViewAccessibility"] - ) - - public boolean onKeyDown(int, android.view.KeyEvent); - descriptor: (ILandroid/view/KeyEvent;)Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=3, args_size=3 - 0: aload_0 - 1: getfield #16 // Field mKeyEventHandler:Lio/github/rosemoe/sora/widget/EditorKeyEventHandler; - 4: iload_1 - 5: aload_2 - 6: invokevirtual #682 // Method io/github/rosemoe/sora/widget/EditorKeyEventHandler.onKeyDown:(ILandroid/view/KeyEvent;)Z - 9: ireturn - LineNumberTable: - line 3859: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 keyCode I - 0 10 2 event Landroid/view/KeyEvent; - - public boolean onKeyUp(int, android.view.KeyEvent); - descriptor: (ILandroid/view/KeyEvent;)Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=3, args_size=3 - 0: aload_0 - 1: getfield #16 // Field mKeyEventHandler:Lio/github/rosemoe/sora/widget/EditorKeyEventHandler; - 4: iload_1 - 5: aload_2 - 6: invokevirtual #683 // Method io/github/rosemoe/sora/widget/EditorKeyEventHandler.onKeyUp:(ILandroid/view/KeyEvent;)Z - 9: ireturn - LineNumberTable: - line 3864: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 keyCode I - 0 10 2 event Landroid/view/KeyEvent; - - public boolean onKeyMultiple(int, int, android.view.KeyEvent); - descriptor: (IILandroid/view/KeyEvent;)Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=4, args_size=4 - 0: aload_0 - 1: getfield #16 // Field mKeyEventHandler:Lio/github/rosemoe/sora/widget/EditorKeyEventHandler; - 4: iload_1 - 5: iload_2 - 6: aload_3 - 7: invokevirtual #684 // Method io/github/rosemoe/sora/widget/EditorKeyEventHandler.onKeyMultiple:(IILandroid/view/KeyEvent;)Z - 10: ireturn - LineNumberTable: - line 3869: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 11 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 11 1 keyCode I - 0 11 2 repeatCount I - 0 11 3 event Landroid/view/KeyEvent; - - boolean onSuperKeyDown(int, android.view.KeyEvent); - descriptor: (ILandroid/view/KeyEvent;)Z - flags: (0x0000) - Code: - stack=3, locals=3, args_size=3 - 0: aload_0 - 1: iload_1 - 2: aload_2 - 3: invokespecial #685 // Method android/view/View.onKeyDown:(ILandroid/view/KeyEvent;)Z - 6: ireturn - LineNumberTable: - line 3873: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 7 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 7 1 keyCode I - 0 7 2 event Landroid/view/KeyEvent; - - boolean onSuperKeyUp(int, android.view.KeyEvent); - descriptor: (ILandroid/view/KeyEvent;)Z - flags: (0x0000) - Code: - stack=3, locals=3, args_size=3 - 0: aload_0 - 1: iload_1 - 2: aload_2 - 3: invokespecial #686 // Method android/view/View.onKeyUp:(ILandroid/view/KeyEvent;)Z - 6: ireturn - LineNumberTable: - line 3877: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 7 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 7 1 keyCode I - 0 7 2 event Landroid/view/KeyEvent; - - boolean onSuperKeyMultiple(int, int, android.view.KeyEvent); - descriptor: (IILandroid/view/KeyEvent;)Z - flags: (0x0000) - Code: - stack=4, locals=4, args_size=4 - 0: aload_0 - 1: iload_1 - 2: iload_2 - 3: aload_3 - 4: invokespecial #687 // Method android/view/View.onKeyMultiple:(IILandroid/view/KeyEvent;)Z - 7: ireturn - LineNumberTable: - line 3881: 0 - LocalVariableTable: - Start Length Slot Name Signature - 0 8 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 8 1 keyCode I - 0 8 2 repeatCount I - 0 8 3 event Landroid/view/KeyEvent; - - protected void onMeasure(int, int); - descriptor: (II)V - flags: (0x0004) ACC_PROTECTED - Code: - stack=3, locals=4, args_size=3 - 0: iconst_0 - 1: istore_3 - 2: iload_1 - 3: invokestatic #688 // Method android/view/View$MeasureSpec.getMode:(I)I - 6: ldc_w #690 // int -2147483648 - 9: if_icmpeq 19 - 12: iload_1 - 13: invokestatic #688 // Method android/view/View$MeasureSpec.getMode:(I)I - 16: ifne 32 - 19: iload_1 - 20: invokestatic #691 // Method android/view/View$MeasureSpec.getSize:(I)I - 23: ldc_w #692 // int 1073741824 - 26: invokestatic #693 // Method android/view/View$MeasureSpec.makeMeasureSpec:(II)I - 29: istore_1 - 30: iconst_1 - 31: istore_3 - 32: iload_2 - 33: invokestatic #688 // Method android/view/View$MeasureSpec.getMode:(I)I - 36: ldc_w #690 // int -2147483648 - 39: if_icmpeq 49 - 42: iload_2 - 43: invokestatic #688 // Method android/view/View$MeasureSpec.getMode:(I)I - 46: ifne 62 - 49: iload_2 - 50: invokestatic #691 // Method android/view/View$MeasureSpec.getSize:(I)I - 53: ldc_w #692 // int 1073741824 - 56: invokestatic #693 // Method android/view/View$MeasureSpec.makeMeasureSpec:(II)I - 59: istore_2 - 60: iconst_1 - 61: istore_3 - 62: iload_3 - 63: ifeq 75 - 66: ldc #47 // String CodeEditor - 68: ldc_w #694 // String onMeasure():CodeEditor does not support wrap_content mode when measuring.It will just fill the whole space. - 71: invokestatic #254 // Method android/util/Log.w:(Ljava/lang/String;Ljava/lang/String;)I - 74: pop - 75: aload_0 - 76: iload_1 - 77: iload_2 - 78: invokespecial #695 // Method android/view/View.onMeasure:(II)V - 81: return - LineNumberTable: - line 3886: 0 - line 3888: 2 - line 3889: 19 - line 3890: 30 - line 3893: 32 - line 3894: 49 - line 3895: 60 - line 3897: 62 - line 3898: 66 - line 3900: 75 - line 3901: 81 - LocalVariableTable: - Start Length Slot Name Signature - 0 82 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 82 1 widthMeasureSpec I - 0 82 2 heightMeasureSpec I - 2 80 3 warn Z - StackMapTable: number_of_entries = 5 - frame_type = 252 /* append */ - offset_delta = 19 - locals = [ int ] - frame_type = 12 /* same */ - frame_type = 16 /* same */ - frame_type = 12 /* same */ - frame_type = 12 /* same */ - - public boolean onGenericMotionEvent(android.view.MotionEvent); - descriptor: (Landroid/view/MotionEvent;)Z - flags: (0x0001) ACC_PUBLIC - Code: - stack=6, locals=4, args_size=2 - 0: aload_1 - 1: invokevirtual #664 // Method android/view/MotionEvent.getAction:()I - 4: bipush 8 - 6: if_icmpne 57 - 9: aload_1 - 10: iconst_2 - 11: invokevirtual #697 // Method android/view/MotionEvent.isFromSource:(I)Z - 14: ifeq 57 - 17: aload_1 - 18: bipush 9 - 20: invokevirtual #698 // Method android/view/MotionEvent.getAxisValue:(I)F - 23: fneg - 24: fstore_2 - 25: aload_1 - 26: bipush 10 - 28: invokevirtual #698 // Method android/view/MotionEvent.getAxisValue:(I)F - 31: fneg - 32: fstore_3 - 33: aload_0 - 34: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 37: aload_1 - 38: aload_1 - 39: fload_3 - 40: aload_0 - 41: getfield #64 // Field mVerticalScrollFactor:F - 44: fmul - 45: fload_2 - 46: aload_0 - 47: getfield #64 // Field mVerticalScrollFactor:F - 50: fmul - 51: invokevirtual #699 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.onScroll:(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z - 54: pop - 55: iconst_1 - 56: ireturn - 57: aload_0 - 58: aload_1 - 59: invokespecial #700 // Method android/view/View.onGenericMotionEvent:(Landroid/view/MotionEvent;)Z - 62: ireturn - LineNumberTable: - line 3905: 0 - line 3906: 17 - line 3907: 25 - line 3908: 33 - line 3909: 55 - line 3911: 57 - LocalVariableTable: - Start Length Slot Name Signature - 25 32 2 v_scroll F - 33 24 3 h_scroll F - 0 63 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 63 1 event Landroid/view/MotionEvent; - StackMapTable: number_of_entries = 1 - frame_type = 57 /* same */ - - protected void onSizeChanged(int, int, int, int); - descriptor: (IIII)V - flags: (0x0004) ACC_PROTECTED - Code: - stack=5, locals=5, args_size=5 - 0: aload_0 - 1: iload_1 - 2: iload_2 - 3: iload_3 - 4: iload 4 - 6: invokespecial #701 // Method android/view/View.onSizeChanged:(IIII)V - 9: aload_0 - 10: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 13: iload_1 - 14: iload_2 - 15: iload_3 - 16: iload 4 - 18: invokevirtual #702 // Method io/github/rosemoe/sora/widget/EditorPainter.onSizeChanged:(IIII)V - 21: aload_0 - 22: invokevirtual #703 // Method getVerticalEdgeEffect:()Landroid/widget/EdgeEffect; - 25: iload_1 - 26: iload_2 - 27: invokevirtual #704 // Method android/widget/EdgeEffect.setSize:(II)V - 30: aload_0 - 31: invokevirtual #705 // Method getHorizontalEdgeEffect:()Landroid/widget/EdgeEffect; - 34: iload_2 - 35: iload_1 - 36: invokevirtual #704 // Method android/widget/EdgeEffect.setSize:(II)V - 39: aload_0 - 40: invokevirtual #703 // Method getVerticalEdgeEffect:()Landroid/widget/EdgeEffect; - 43: invokevirtual #706 // Method android/widget/EdgeEffect.finish:()V - 46: aload_0 - 47: invokevirtual #705 // Method getHorizontalEdgeEffect:()Landroid/widget/EdgeEffect; - 50: invokevirtual #706 // Method android/widget/EdgeEffect.finish:()V - 53: aload_0 - 54: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 57: ifnull 72 - 60: aload_0 - 61: invokevirtual #189 // Method isWordwrap:()Z - 64: ifeq 79 - 67: iload_1 - 68: iload_3 - 69: if_icmpeq 79 - 72: aload_0 - 73: invokevirtual #261 // Method createLayout:()V - 76: goto 136 - 79: aload_0 - 80: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 83: aload_0 - 84: invokevirtual #44 // Method getOffsetX:()I - 87: aload_0 - 88: invokevirtual #423 // Method getScrollMaxX:()I - 91: if_icmple 107 - 94: aload_0 - 95: invokevirtual #423 // Method getScrollMaxX:()I - 98: aload_0 - 99: invokevirtual #44 // Method getOffsetX:()I - 102: isub - 103: i2f - 104: goto 108 - 107: fconst_0 - 108: aload_0 - 109: invokevirtual #45 // Method getOffsetY:()I - 112: aload_0 - 113: invokevirtual #424 // Method getScrollMaxY:()I - 116: if_icmple 132 - 119: aload_0 - 120: invokevirtual #424 // Method getScrollMaxY:()I - 123: aload_0 - 124: invokevirtual #45 // Method getOffsetY:()I - 127: isub - 128: i2f - 129: goto 133 - 132: fconst_0 - 133: invokevirtual #356 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.scrollBy:(FF)V - 136: aload_0 - 137: iconst_0 - 138: putfield #707 // Field verticalAbsorb:Z - 141: aload_0 - 142: iconst_0 - 143: putfield #708 // Field horizontalAbsorb:Z - 146: iload 4 - 148: iload_2 - 149: if_icmple 166 - 152: aload_0 - 153: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 156: getfield #709 // Field io/github/rosemoe/sora/widget/DirectAccessProps.adjustToSelectionOnResize:Z - 159: ifeq 166 - 162: aload_0 - 163: invokevirtual #498 // Method ensureSelectionVisible:()V - 166: return - LineNumberTable: - line 3916: 0 - line 3917: 9 - line 3918: 21 - line 3919: 30 - line 3920: 39 - line 3921: 46 - line 3922: 53 - line 3923: 72 - line 3925: 79 - line 3927: 136 - line 3928: 141 - line 3929: 146 - line 3930: 162 - line 3932: 166 - LocalVariableTable: - Start Length Slot Name Signature - 0 167 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 167 1 w I - 0 167 2 h I - 0 167 3 oldWidth I - 0 167 4 oldHeight I - StackMapTable: number_of_entries = 8 - frame_type = 251 /* same_frame_extended */ - offset_delta = 72 - frame_type = 6 /* same */ - frame_type = 91 /* same_locals_1_stack_item */ - stack = [ class io/github/rosemoe/sora/widget/EditorTouchEventHandler ] - frame_type = 255 /* full_frame */ - offset_delta = 0 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, int, int, int ] - stack = [ class io/github/rosemoe/sora/widget/EditorTouchEventHandler, float ] - frame_type = 255 /* full_frame */ - offset_delta = 23 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, int, int, int ] - stack = [ class io/github/rosemoe/sora/widget/EditorTouchEventHandler, float ] - frame_type = 255 /* full_frame */ - offset_delta = 0 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, int, int, int ] - stack = [ class io/github/rosemoe/sora/widget/EditorTouchEventHandler, float, float ] - frame_type = 2 /* same */ - frame_type = 29 /* same */ - - protected void onDetachedFromWindow(); - descriptor: ()V - flags: (0x0004) ACC_PROTECTED - Code: - stack=2, locals=1, args_size=1 - 0: aload_0 - 1: invokespecial #710 // Method android/view/View.onDetachedFromWindow:()V - 4: aload_0 - 5: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 8: iconst_0 - 9: putfield #213 // Field io/github/rosemoe/sora/widget/CursorBlink.valid:Z - 12: aload_0 - 13: aload_0 - 14: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 17: invokevirtual #711 // Method removeCallbacks:(Ljava/lang/Runnable;)Z - 20: pop - 21: return - LineNumberTable: - line 3936: 0 - line 3937: 4 - line 3938: 12 - line 3939: 21 - LocalVariableTable: - Start Length Slot Name Signature - 0 22 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - - protected void onFocusChanged(boolean, int, android.graphics.Rect); - descriptor: (ZILandroid/graphics/Rect;)V - flags: (0x0004) ACC_PROTECTED - Code: - stack=4, locals=4, args_size=4 - 0: aload_0 - 1: iload_1 - 2: iload_2 - 3: aload_3 - 4: invokespecial #712 // Method android/view/View.onFocusChanged:(ZILandroid/graphics/Rect;)V - 7: iload_1 - 8: ifeq 55 - 11: aload_0 - 12: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 15: aload_0 - 16: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 19: getfield #211 // Field io/github/rosemoe/sora/widget/CursorBlink.period:I - 22: ifle 29 - 25: iconst_1 - 26: goto 30 - 29: iconst_0 - 30: putfield #213 // Field io/github/rosemoe/sora/widget/CursorBlink.valid:Z - 33: aload_0 - 34: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 37: getfield #213 // Field io/github/rosemoe/sora/widget/CursorBlink.valid:Z - 40: ifeq 101 - 43: aload_0 - 44: aload_0 - 45: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 48: invokevirtual #215 // Method post:(Ljava/lang/Runnable;)Z - 51: pop - 52: goto 101 - 55: aload_0 - 56: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 59: iconst_0 - 60: putfield #213 // Field io/github/rosemoe/sora/widget/CursorBlink.valid:Z - 63: aload_0 - 64: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 67: iconst_0 - 68: putfield #635 // Field io/github/rosemoe/sora/widget/CursorBlink.visibility:Z - 71: aload_0 - 72: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 75: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 78: aload_0 - 79: getfield #24 // Field mTextActionWindow:Lio/github/rosemoe/sora/widget/component/EditorTextActionWindow; - 82: invokevirtual #627 // Method io/github/rosemoe/sora/widget/component/EditorTextActionWindow.dismiss:()V - 85: aload_0 - 86: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 89: invokevirtual #713 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.hideInsertHandle:()V - 92: aload_0 - 93: aload_0 - 94: getfield #208 // Field mCursorBlink:Lio/github/rosemoe/sora/widget/CursorBlink; - 97: invokevirtual #711 // Method removeCallbacks:(Ljava/lang/Runnable;)Z - 100: pop - 101: aload_0 - 102: invokevirtual #187 // Method invalidate:()V - 105: return - LineNumberTable: - line 3943: 0 - line 3944: 7 - line 3945: 11 - line 3946: 33 - line 3947: 43 - line 3950: 55 - line 3951: 63 - line 3952: 71 - line 3953: 78 - line 3954: 85 - line 3955: 92 - line 3957: 101 - line 3958: 105 - LocalVariableTable: - Start Length Slot Name Signature - 0 106 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 106 1 gainFocus Z - 0 106 2 direction I - 0 106 3 previouslyFocusedRect Landroid/graphics/Rect; - StackMapTable: number_of_entries = 4 - frame_type = 93 /* same_locals_1_stack_item */ - stack = [ class io/github/rosemoe/sora/widget/CursorBlink ] - frame_type = 255 /* full_frame */ - offset_delta = 0 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, int, int, class android/graphics/Rect ] - stack = [ class io/github/rosemoe/sora/widget/CursorBlink, int ] - frame_type = 24 /* same */ - frame_type = 45 /* same */ - RuntimeInvisibleParameterAnnotations: - parameter 0: - parameter 1: - parameter 2: - 0: #1030() - androidx.annotation.Nullable - - public void computeScroll(); - descriptor: ()V - flags: (0x0001) ACC_PUBLIC - Code: - stack=4, locals=3, args_size=1 - 0: aload_0 - 1: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 4: invokevirtual #437 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.getScroller:()Landroid/widget/OverScroller; - 7: astore_1 - 8: aload_1 - 9: invokevirtual #714 // Method android/widget/OverScroller.computeScrollOffset:()Z - 12: ifeq 364 - 15: aload_1 - 16: invokevirtual #636 // Method android/widget/OverScroller.isFinished:()Z - 19: ifne 128 - 22: aload_1 - 23: invokevirtual #715 // Method android/widget/OverScroller.getStartX:()I - 26: aload_1 - 27: invokevirtual #716 // Method android/widget/OverScroller.getFinalX:()I - 30: if_icmpne 44 - 33: aload_1 - 34: invokevirtual #717 // Method android/widget/OverScroller.getStartY:()I - 37: aload_1 - 38: invokevirtual #718 // Method android/widget/OverScroller.getFinalY:()I - 41: if_icmpeq 128 - 44: aload_0 - 45: aload_1 - 46: invokevirtual #716 // Method android/widget/OverScroller.getFinalX:()I - 49: i2f - 50: putfield #719 // Field scrollerFinalX:F - 53: aload_0 - 54: aload_1 - 55: invokevirtual #718 // Method android/widget/OverScroller.getFinalY:()I - 58: i2f - 59: putfield #720 // Field scrollerFinalY:F - 62: aload_0 - 63: aload_1 - 64: invokevirtual #715 // Method android/widget/OverScroller.getStartX:()I - 67: aload_1 - 68: invokevirtual #716 // Method android/widget/OverScroller.getFinalX:()I - 71: isub - 72: invokestatic #721 // Method java/lang/Math.abs:(I)I - 75: i2f - 76: aload_0 - 77: invokevirtual #722 // Method getDpUnit:()F - 80: ldc #38 // float 5.0f - 82: fmul - 83: fcmpl - 84: ifle 91 - 87: iconst_1 - 88: goto 92 - 91: iconst_0 - 92: putfield #708 // Field horizontalAbsorb:Z - 95: aload_0 - 96: aload_1 - 97: invokevirtual #717 // Method android/widget/OverScroller.getStartY:()I - 100: aload_1 - 101: invokevirtual #718 // Method android/widget/OverScroller.getFinalY:()I - 104: isub - 105: invokestatic #721 // Method java/lang/Math.abs:(I)I - 108: i2f - 109: aload_0 - 110: invokevirtual #722 // Method getDpUnit:()F - 113: ldc #38 // float 5.0f - 115: fmul - 116: fcmpl - 117: ifle 124 - 120: iconst_1 - 121: goto 125 - 124: iconst_0 - 125: putfield #707 // Field verticalAbsorb:Z - 128: aload_1 - 129: invokevirtual #488 // Method android/widget/OverScroller.getCurrX:()I - 132: ifgt 184 - 135: aload_0 - 136: getfield #719 // Field scrollerFinalX:F - 139: fconst_0 - 140: fcmpg - 141: ifgt 184 - 144: aload_0 - 145: getfield #158 // Field mHorizontalGlow:Landroid/widget/EdgeEffect; - 148: invokevirtual #723 // Method android/widget/EdgeEffect.isFinished:()Z - 151: ifeq 184 - 154: aload_0 - 155: getfield #708 // Field horizontalAbsorb:Z - 158: ifeq 184 - 161: aload_0 - 162: getfield #158 // Field mHorizontalGlow:Landroid/widget/EdgeEffect; - 165: aload_1 - 166: invokevirtual #724 // Method android/widget/OverScroller.getCurrVelocity:()F - 169: f2i - 170: invokevirtual #725 // Method android/widget/EdgeEffect.onAbsorb:(I)V - 173: aload_0 - 174: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 177: iconst_0 - 178: putfield #726 // Field io/github/rosemoe/sora/widget/EditorTouchEventHandler.glowLeftOrRight:Z - 181: goto 244 - 184: aload_0 - 185: invokevirtual #423 // Method getScrollMaxX:()I - 188: istore_2 - 189: aload_1 - 190: invokevirtual #488 // Method android/widget/OverScroller.getCurrX:()I - 193: iload_2 - 194: if_icmplt 244 - 197: aload_0 - 198: getfield #719 // Field scrollerFinalX:F - 201: iload_2 - 202: i2f - 203: fcmpl - 204: iflt 244 - 207: aload_0 - 208: getfield #158 // Field mHorizontalGlow:Landroid/widget/EdgeEffect; - 211: invokevirtual #723 // Method android/widget/EdgeEffect.isFinished:()Z - 214: ifeq 244 - 217: aload_0 - 218: getfield #708 // Field horizontalAbsorb:Z - 221: ifeq 244 - 224: aload_0 - 225: getfield #158 // Field mHorizontalGlow:Landroid/widget/EdgeEffect; - 228: aload_1 - 229: invokevirtual #724 // Method android/widget/OverScroller.getCurrVelocity:()F - 232: f2i - 233: invokevirtual #725 // Method android/widget/EdgeEffect.onAbsorb:(I)V - 236: aload_0 - 237: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 240: iconst_1 - 241: putfield #726 // Field io/github/rosemoe/sora/widget/EditorTouchEventHandler.glowLeftOrRight:Z - 244: aload_1 - 245: invokevirtual #489 // Method android/widget/OverScroller.getCurrY:()I - 248: ifgt 300 - 251: aload_0 - 252: getfield #720 // Field scrollerFinalY:F - 255: fconst_0 - 256: fcmpg - 257: ifgt 300 - 260: aload_0 - 261: getfield #157 // Field mVerticalGlow:Landroid/widget/EdgeEffect; - 264: invokevirtual #723 // Method android/widget/EdgeEffect.isFinished:()Z - 267: ifeq 300 - 270: aload_0 - 271: getfield #707 // Field verticalAbsorb:Z - 274: ifeq 300 - 277: aload_0 - 278: getfield #157 // Field mVerticalGlow:Landroid/widget/EdgeEffect; - 281: aload_1 - 282: invokevirtual #724 // Method android/widget/OverScroller.getCurrVelocity:()F - 285: f2i - 286: invokevirtual #725 // Method android/widget/EdgeEffect.onAbsorb:(I)V - 289: aload_0 - 290: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 293: iconst_0 - 294: putfield #727 // Field io/github/rosemoe/sora/widget/EditorTouchEventHandler.glowTopOrBottom:Z - 297: goto 360 - 300: aload_0 - 301: invokevirtual #424 // Method getScrollMaxY:()I - 304: istore_2 - 305: aload_1 - 306: invokevirtual #489 // Method android/widget/OverScroller.getCurrY:()I - 309: iload_2 - 310: if_icmplt 360 - 313: aload_0 - 314: getfield #720 // Field scrollerFinalY:F - 317: iload_2 - 318: i2f - 319: fcmpl - 320: iflt 360 - 323: aload_0 - 324: getfield #157 // Field mVerticalGlow:Landroid/widget/EdgeEffect; - 327: invokevirtual #723 // Method android/widget/EdgeEffect.isFinished:()Z - 330: ifeq 360 - 333: aload_0 - 334: getfield #707 // Field verticalAbsorb:Z - 337: ifeq 360 - 340: aload_0 - 341: getfield #157 // Field mVerticalGlow:Landroid/widget/EdgeEffect; - 344: aload_1 - 345: invokevirtual #724 // Method android/widget/OverScroller.getCurrVelocity:()F - 348: f2i - 349: invokevirtual #725 // Method android/widget/EdgeEffect.onAbsorb:(I)V - 352: aload_0 - 353: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 356: iconst_1 - 357: putfield #727 // Field io/github/rosemoe/sora/widget/EditorTouchEventHandler.glowTopOrBottom:Z - 360: aload_0 - 361: invokevirtual #728 // Method postInvalidateOnAnimation:()V - 364: return - LineNumberTable: - line 3967: 0 - line 3968: 8 - line 3969: 15 - line 3970: 44 - line 3971: 53 - line 3972: 62 - line 3973: 95 - line 3975: 128 - line 3976: 161 - line 3977: 173 - line 3979: 184 - line 3980: 189 - line 3981: 224 - line 3982: 236 - line 3985: 244 - line 3986: 277 - line 3987: 289 - line 3989: 300 - line 3990: 305 - line 3991: 340 - line 3992: 352 - line 3995: 360 - line 3997: 364 - LocalVariableTable: - Start Length Slot Name Signature - 189 55 2 max I - 305 55 2 max I - 0 365 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 8 357 1 scroller Landroid/widget/OverScroller; - StackMapTable: number_of_entries = 11 - frame_type = 252 /* append */ - offset_delta = 44 - locals = [ class android/widget/OverScroller ] - frame_type = 110 /* same_locals_1_stack_item */ - stack = [ class io/github/rosemoe/sora/widget/CodeEditor ] - frame_type = 255 /* full_frame */ - offset_delta = 0 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class android/widget/OverScroller ] - stack = [ class io/github/rosemoe/sora/widget/CodeEditor, int ] - frame_type = 95 /* same_locals_1_stack_item */ - stack = [ class io/github/rosemoe/sora/widget/CodeEditor ] - frame_type = 255 /* full_frame */ - offset_delta = 0 - locals = [ class io/github/rosemoe/sora/widget/CodeEditor, class android/widget/OverScroller ] - stack = [ class io/github/rosemoe/sora/widget/CodeEditor, int ] - frame_type = 2 /* same */ - frame_type = 55 /* same */ - frame_type = 59 /* same */ - frame_type = 55 /* same */ - frame_type = 59 /* same */ - frame_type = 3 /* same */ - - public void beforeReplace(io.github.rosemoe.sora.text.Content); - descriptor: (Lio/github/rosemoe/sora/text/Content;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: iconst_1 - 2: putfield #133 // Field mWait:Z - 5: getstatic #59 // Field android/os/Build$VERSION.SDK_INT:I - 8: bipush 29 - 10: if_icmplt 21 - 13: aload_0 - 14: getfield #79 // Field mRenderer:Lio/github/rosemoe/sora/widget/HwAcceleratedRenderer; - 17: aload_1 - 18: invokevirtual #729 // Method io/github/rosemoe/sora/widget/HwAcceleratedRenderer.beforeReplace:(Lio/github/rosemoe/sora/text/Content;)V - 21: aload_0 - 22: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 25: aload_1 - 26: invokeinterface #730, 2 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.beforeReplace:(Lio/github/rosemoe/sora/text/Content;)V - 31: return - LineNumberTable: - line 4001: 0 - line 4002: 5 - line 4003: 13 - line 4005: 21 - line 4006: 31 - LocalVariableTable: - Start Length Slot Name Signature - 0 32 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 32 1 content Lio/github/rosemoe/sora/text/Content; - StackMapTable: number_of_entries = 1 - frame_type = 21 /* same */ - - public void afterInsert(io.github.rosemoe.sora.text.Content, int, int, int, int, java.lang.CharSequence); - descriptor: (Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=8, locals=10, args_size=7 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #223 // Method io/github/rosemoe/sora/widget/EditorPainter.updateTimestamp:()V - 7: aload_0 - 8: getfield #58 // Field mStyleDelegate:Lio/github/rosemoe/sora/widget/EditorStyleDelegate; - 11: invokevirtual #731 // Method io/github/rosemoe/sora/widget/EditorStyleDelegate.onTextChange:()V - 14: aload_0 - 15: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 18: invokevirtual #201 // Method io/github/rosemoe/sora/text/Content.getIndexer:()Lio/github/rosemoe/sora/text/Indexer; - 21: iload_2 - 22: iload_3 - 23: invokeinterface #583, 3 // InterfaceMethod io/github/rosemoe/sora/text/Indexer.getCharPosition:(II)Lio/github/rosemoe/sora/text/CharPosition; - 28: astore 7 - 30: aload_0 - 31: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 34: invokevirtual #201 // Method io/github/rosemoe/sora/text/Content.getIndexer:()Lio/github/rosemoe/sora/text/Indexer; - 37: iload 4 - 39: iload 5 - 41: invokeinterface #583, 3 // InterfaceMethod io/github/rosemoe/sora/text/Indexer.getCharPosition:(II)Lio/github/rosemoe/sora/text/CharPosition; - 46: astore 8 - 48: iload_2 - 49: istore 9 - 51: iload 9 - 53: iload 4 - 55: if_icmpgt 86 - 58: iload 9 - 60: aload_0 - 61: invokevirtual #278 // Method getLineCount:()I - 64: if_icmpge 86 - 67: aload_0 - 68: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 71: iload 9 - 73: invokevirtual #281 // Method io/github/rosemoe/sora/text/Content.getLine:(I)Lio/github/rosemoe/sora/text/ContentLine; - 76: aconst_null - 77: putfield #282 // Field io/github/rosemoe/sora/text/ContentLine.widthCache:[F - 80: iinc 9, 1 - 83: goto 51 - 86: aload_0 - 87: getfield #237 // Field mStyles:Lio/github/rosemoe/sora/lang/styling/Styles; - 90: ifnull 104 - 93: aload_0 - 94: getfield #237 // Field mStyles:Lio/github/rosemoe/sora/lang/styling/Styles; - 97: aload 7 - 99: aload 8 - 101: invokevirtual #732 // Method io/github/rosemoe/sora/lang/styling/Styles.adjustOnInsert:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - 104: aload_0 - 105: getfield #238 // Field mDiagnostics:Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - 108: ifnull 128 - 111: aload_0 - 112: getfield #238 // Field mDiagnostics:Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - 115: aload 7 - 117: getfield #446 // Field io/github/rosemoe/sora/text/CharPosition.index:I - 120: aload 8 - 122: getfield #446 // Field io/github/rosemoe/sora/text/CharPosition.index:I - 125: invokevirtual #733 // Method io/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer.shiftOnInsert:(II)V - 128: goto 144 - 131: astore 9 - 133: ldc #47 // String CodeEditor - 135: ldc_w #734 // String Update failure - 138: aload 9 - 140: invokestatic #410 // Method android/util/Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I - 143: pop - 144: getstatic #59 // Field android/os/Build$VERSION.SDK_INT:I - 147: bipush 29 - 149: if_icmplt 168 - 152: aload_0 - 153: getfield #79 // Field mRenderer:Lio/github/rosemoe/sora/widget/HwAcceleratedRenderer; - 156: aload_1 - 157: iload_2 - 158: iload_3 - 159: iload 4 - 161: iload 5 - 163: aload 6 - 165: invokevirtual #735 // Method io/github/rosemoe/sora/widget/HwAcceleratedRenderer.afterInsert:(Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - 168: aload_0 - 169: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 172: aload_1 - 173: iload_2 - 174: iload_3 - 175: iload 4 - 177: iload 5 - 179: aload 6 - 181: invokeinterface #736, 7 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.afterInsert:(Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - 186: aload_0 - 187: invokevirtual #519 // Method updateCursor:()V - 190: aload_0 - 191: iconst_0 - 192: putfield #133 // Field mWait:Z - 195: aload_0 - 196: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 199: invokevirtual #737 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.isEnabled:()Z - 202: ifeq 280 - 205: aload_0 - 206: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 209: invokevirtual #738 // Method io/github/rosemoe/sora/text/Content.isUndoOrRedo:()Z - 212: ifne 280 - 215: aload_0 - 216: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 219: getfield #522 // Field io/github/rosemoe/sora/widget/EditorInputConnection.mComposingText:Lio/github/rosemoe/sora/widget/ComposingText; - 222: invokevirtual #523 // Method io/github/rosemoe/sora/widget/ComposingText.isComposing:()Z - 225: ifeq 238 - 228: aload_0 - 229: getfield #87 // Field mProps:Lio/github/rosemoe/sora/widget/DirectAccessProps; - 232: getfield #739 // Field io/github/rosemoe/sora/widget/DirectAccessProps.autoCompletionOnComposing:Z - 235: ifeq 259 - 238: iload 5 - 240: ifeq 259 - 243: iload_2 - 244: iload 4 - 246: if_icmpne 259 - 249: aload_0 - 250: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 253: invokevirtual #509 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.requireCompletion:()V - 256: goto 266 - 259: aload_0 - 260: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 263: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 266: aload_0 - 267: aload_0 - 268: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 271: invokevirtual #375 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.isShowing:()Z - 274: invokevirtual #360 // Method updateCompletionWindowPosition:(Z)V - 277: goto 287 - 280: aload_0 - 281: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 284: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 287: aload_0 - 288: invokevirtual #361 // Method updateCursorAnchor:()F - 291: pop - 292: aload_0 - 293: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 296: invokevirtual #258 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateHwRenderer:()V - 299: aload_0 - 300: invokevirtual #498 // Method ensureSelectionVisible:()V - 303: aload_0 - 304: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 307: invokeinterface #232, 1 // InterfaceMethod io/github/rosemoe/sora/lang/Language.getAnalyzeManager:()Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - 312: aload 7 - 314: aload 8 - 316: aload 6 - 318: invokeinterface #740, 4 // InterfaceMethod io/github/rosemoe/sora/lang/analysis/AnalyzeManager.insert:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - 323: aload_0 - 324: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 327: invokevirtual #713 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.hideInsertHandle:()V - 330: aload_0 - 331: iconst_1 - 332: invokevirtual #527 // Method onSelectionChanged:(I)V - 335: aload_0 - 336: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 339: invokevirtual #194 // Method io/github/rosemoe/sora/text/Cursor.isSelected:()Z - 342: ifne 386 - 345: aload_0 - 346: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 349: getfield #522 // Field io/github/rosemoe/sora/widget/EditorInputConnection.mComposingText:Lio/github/rosemoe/sora/widget/ComposingText; - 352: invokevirtual #523 // Method io/github/rosemoe/sora/widget/ComposingText.isComposing:()Z - 355: ifne 386 - 358: aload_0 - 359: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 362: invokevirtual #524 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.shouldRejectComposing:()Z - 365: ifne 386 - 368: aload_0 - 369: getfield #105 // Field mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - 372: invokeinterface #525, 1 // InterfaceMethod io/github/rosemoe/sora/widget/style/CursorAnimator.markEndPos:()V - 377: aload_0 - 378: getfield #105 // Field mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - 381: invokeinterface #526, 1 // InterfaceMethod io/github/rosemoe/sora/widget/style/CursorAnimator.start:()V - 386: aload_0 - 387: new #580 // class io/github/rosemoe/sora/event/ContentChangeEvent - 390: dup - 391: aload_0 - 392: iconst_2 - 393: aload 7 - 395: aload 8 - 397: aload 6 - 399: invokespecial #584 // Method io/github/rosemoe/sora/event/ContentChangeEvent."":(Lio/github/rosemoe/sora/widget/CodeEditor;ILio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - 402: invokevirtual #435 // Method dispatchEvent:(Lio/github/rosemoe/sora/event/Event;)I - 405: pop - 406: return - Exception table: - from to target type - 86 128 131 Class java/lang/Exception - LineNumberTable: - line 4010: 0 - line 4011: 7 - line 4012: 14 - line 4013: 30 - line 4014: 48 - line 4015: 67 - line 4014: 80 - line 4020: 86 - line 4021: 93 - line 4023: 104 - line 4024: 111 - line 4028: 128 - line 4026: 131 - line 4027: 133 - line 4030: 144 - line 4031: 152 - line 4033: 168 - line 4036: 186 - line 4037: 190 - line 4040: 195 - line 4041: 215 - line 4042: 249 - line 4044: 259 - line 4046: 266 - line 4048: 280 - line 4052: 287 - line 4053: 292 - line 4054: 299 - line 4056: 303 - line 4057: 323 - line 4058: 330 - line 4059: 335 - line 4060: 368 - line 4061: 377 - line 4063: 386 - line 4064: 406 - LocalVariableTable: - Start Length Slot Name Signature - 51 35 9 i I - 133 11 9 e Ljava/lang/Exception; - 0 407 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 407 1 content Lio/github/rosemoe/sora/text/Content; - 0 407 2 startLine I - 0 407 3 startColumn I - 0 407 4 endLine I - 0 407 5 endColumn I - 0 407 6 insertedContent Ljava/lang/CharSequence; - 30 377 7 start Lio/github/rosemoe/sora/text/CharPosition; - 48 359 8 end Lio/github/rosemoe/sora/text/CharPosition; - StackMapTable: number_of_entries = 13 - frame_type = 254 /* append */ - offset_delta = 51 - locals = [ class io/github/rosemoe/sora/text/CharPosition, class io/github/rosemoe/sora/text/CharPosition, int ] - frame_type = 250 /* chop */ - offset_delta = 34 - frame_type = 17 /* same */ - frame_type = 23 /* same */ - frame_type = 66 /* same_locals_1_stack_item */ - stack = [ class java/lang/Exception ] - frame_type = 12 /* same */ - frame_type = 23 /* same */ - frame_type = 251 /* same_frame_extended */ - offset_delta = 69 - frame_type = 20 /* same */ - frame_type = 6 /* same */ - frame_type = 13 /* same */ - frame_type = 6 /* same */ - frame_type = 251 /* same_frame_extended */ - offset_delta = 98 - - public void afterDelete(io.github.rosemoe.sora.text.Content, int, int, int, int, java.lang.CharSequence); - descriptor: (Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=8, locals=10, args_size=7 - 0: aload_0 - 1: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 4: invokevirtual #223 // Method io/github/rosemoe/sora/widget/EditorPainter.updateTimestamp:()V - 7: aload_0 - 8: getfield #58 // Field mStyleDelegate:Lio/github/rosemoe/sora/widget/EditorStyleDelegate; - 11: invokevirtual #731 // Method io/github/rosemoe/sora/widget/EditorStyleDelegate.onTextChange:()V - 14: aload_0 - 15: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 18: invokevirtual #201 // Method io/github/rosemoe/sora/text/Content.getIndexer:()Lio/github/rosemoe/sora/text/Indexer; - 21: iload_2 - 22: iload_3 - 23: invokeinterface #583, 3 // InterfaceMethod io/github/rosemoe/sora/text/Indexer.getCharPosition:(II)Lio/github/rosemoe/sora/text/CharPosition; - 28: astore 7 - 30: aload 7 - 32: invokevirtual #562 // Method io/github/rosemoe/sora/text/CharPosition.fromThis:()Lio/github/rosemoe/sora/text/CharPosition; - 35: astore 8 - 37: aload 8 - 39: iload 5 - 41: putfield #205 // Field io/github/rosemoe/sora/text/CharPosition.column:I - 44: aload 8 - 46: iload 4 - 48: putfield #204 // Field io/github/rosemoe/sora/text/CharPosition.line:I - 51: aload 8 - 53: aload 7 - 55: getfield #446 // Field io/github/rosemoe/sora/text/CharPosition.index:I - 58: aload 6 - 60: invokeinterface #404, 1 // InterfaceMethod java/lang/CharSequence.length:()I - 65: iadd - 66: putfield #446 // Field io/github/rosemoe/sora/text/CharPosition.index:I - 69: iload_2 - 70: istore 9 - 72: iload 9 - 74: iload_2 - 75: iconst_1 - 76: iadd - 77: if_icmpgt 108 - 80: iload 9 - 82: aload_0 - 83: invokevirtual #278 // Method getLineCount:()I - 86: if_icmpge 108 - 89: aload_0 - 90: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 93: iload 9 - 95: invokevirtual #281 // Method io/github/rosemoe/sora/text/Content.getLine:(I)Lio/github/rosemoe/sora/text/ContentLine; - 98: aconst_null - 99: putfield #282 // Field io/github/rosemoe/sora/text/ContentLine.widthCache:[F - 102: iinc 9, 1 - 105: goto 72 - 108: aload_0 - 109: getfield #237 // Field mStyles:Lio/github/rosemoe/sora/lang/styling/Styles; - 112: ifnull 126 - 115: aload_0 - 116: getfield #237 // Field mStyles:Lio/github/rosemoe/sora/lang/styling/Styles; - 119: aload 7 - 121: aload 8 - 123: invokevirtual #741 // Method io/github/rosemoe/sora/lang/styling/Styles.adjustOnDelete:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - 126: aload_0 - 127: getfield #238 // Field mDiagnostics:Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - 130: ifnull 150 - 133: aload_0 - 134: getfield #238 // Field mDiagnostics:Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - 137: aload 7 - 139: getfield #446 // Field io/github/rosemoe/sora/text/CharPosition.index:I - 142: aload 8 - 144: getfield #446 // Field io/github/rosemoe/sora/text/CharPosition.index:I - 147: invokevirtual #742 // Method io/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer.shiftOnDelete:(II)V - 150: goto 166 - 153: astore 9 - 155: ldc #47 // String CodeEditor - 157: ldc_w #734 // String Update failure - 160: aload 9 - 162: invokestatic #410 // Method android/util/Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I - 165: pop - 166: getstatic #59 // Field android/os/Build$VERSION.SDK_INT:I - 169: bipush 29 - 171: if_icmplt 190 - 174: aload_0 - 175: getfield #79 // Field mRenderer:Lio/github/rosemoe/sora/widget/HwAcceleratedRenderer; - 178: aload_1 - 179: iload_2 - 180: iload_3 - 181: iload 4 - 183: iload 5 - 185: aload 6 - 187: invokevirtual #743 // Method io/github/rosemoe/sora/widget/HwAcceleratedRenderer.afterDelete:(Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - 190: aload_0 - 191: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 194: aload_1 - 195: iload_2 - 196: iload_3 - 197: iload 4 - 199: iload 5 - 201: aload 6 - 203: invokeinterface #744, 7 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.afterDelete:(Lio/github/rosemoe/sora/text/Content;IIIILjava/lang/CharSequence;)V - 208: aload_0 - 209: invokevirtual #519 // Method updateCursor:()V - 212: aload_0 - 213: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 216: invokevirtual #737 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.isEnabled:()Z - 219: ifeq 293 - 222: aload_0 - 223: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 226: invokevirtual #738 // Method io/github/rosemoe/sora/text/Content.isUndoOrRedo:()Z - 229: ifne 293 - 232: aload_0 - 233: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 236: getfield #522 // Field io/github/rosemoe/sora/widget/EditorInputConnection.mComposingText:Lio/github/rosemoe/sora/widget/ComposingText; - 239: invokevirtual #523 // Method io/github/rosemoe/sora/widget/ComposingText.isComposing:()Z - 242: ifne 300 - 245: aload_0 - 246: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 249: invokevirtual #375 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.isShowing:()Z - 252: ifeq 300 - 255: iload_2 - 256: iload 4 - 258: if_icmpne 269 - 261: iload_3 - 262: iload 5 - 264: iconst_1 - 265: isub - 266: if_icmpeq 279 - 269: aload_0 - 270: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 273: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 276: goto 300 - 279: aload_0 - 280: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 283: invokevirtual #509 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.requireCompletion:()V - 286: aload_0 - 287: invokevirtual #183 // Method updateCompletionWindowPosition:()V - 290: goto 300 - 293: aload_0 - 294: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 297: invokevirtual #239 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.hide:()V - 300: aload_0 - 301: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 304: invokevirtual #258 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateHwRenderer:()V - 307: aload_0 - 308: getfield #133 // Field mWait:Z - 311: ifne 330 - 314: aload_0 - 315: invokevirtual #361 // Method updateCursorAnchor:()F - 318: pop - 319: aload_0 - 320: invokevirtual #498 // Method ensureSelectionVisible:()V - 323: aload_0 - 324: getfield #21 // Field mEventHandler:Lio/github/rosemoe/sora/widget/EditorTouchEventHandler; - 327: invokevirtual #713 // Method io/github/rosemoe/sora/widget/EditorTouchEventHandler.hideInsertHandle:()V - 330: aload_0 - 331: getfield #316 // Field mCursor:Lio/github/rosemoe/sora/text/Cursor; - 334: invokevirtual #194 // Method io/github/rosemoe/sora/text/Cursor.isSelected:()Z - 337: ifne 388 - 340: aload_0 - 341: getfield #133 // Field mWait:Z - 344: ifne 388 - 347: aload_0 - 348: getfield #153 // Field mConnection:Lio/github/rosemoe/sora/widget/EditorInputConnection; - 351: getfield #522 // Field io/github/rosemoe/sora/widget/EditorInputConnection.mComposingText:Lio/github/rosemoe/sora/widget/ComposingText; - 354: invokevirtual #523 // Method io/github/rosemoe/sora/widget/ComposingText.isComposing:()Z - 357: ifne 388 - 360: aload_0 - 361: getfield #19 // Field mCompletionWindow:Lio/github/rosemoe/sora/widget/component/EditorAutoCompletion; - 364: invokevirtual #524 // Method io/github/rosemoe/sora/widget/component/EditorAutoCompletion.shouldRejectComposing:()Z - 367: ifne 388 - 370: aload_0 - 371: getfield #105 // Field mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - 374: invokeinterface #525, 1 // InterfaceMethod io/github/rosemoe/sora/widget/style/CursorAnimator.markEndPos:()V - 379: aload_0 - 380: getfield #105 // Field mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - 383: invokeinterface #526, 1 // InterfaceMethod io/github/rosemoe/sora/widget/style/CursorAnimator.start:()V - 388: aload_0 - 389: getfield #229 // Field mLanguage:Lio/github/rosemoe/sora/lang/Language; - 392: invokeinterface #232, 1 // InterfaceMethod io/github/rosemoe/sora/lang/Language.getAnalyzeManager:()Lio/github/rosemoe/sora/lang/analysis/AnalyzeManager; - 397: aload 7 - 399: aload 8 - 401: aload 6 - 403: invokeinterface #745, 4 // InterfaceMethod io/github/rosemoe/sora/lang/analysis/AnalyzeManager.delete:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - 408: aload_0 - 409: iconst_1 - 410: invokevirtual #527 // Method onSelectionChanged:(I)V - 413: aload_0 - 414: new #580 // class io/github/rosemoe/sora/event/ContentChangeEvent - 417: dup - 418: aload_0 - 419: iconst_3 - 420: aload 7 - 422: aload 8 - 424: aload 6 - 426: invokespecial #584 // Method io/github/rosemoe/sora/event/ContentChangeEvent."":(Lio/github/rosemoe/sora/widget/CodeEditor;ILio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - 429: invokevirtual #435 // Method dispatchEvent:(Lio/github/rosemoe/sora/event/Event;)I - 432: pop - 433: return - Exception table: - from to target type - 108 150 153 Class java/lang/Exception - LineNumberTable: - line 4068: 0 - line 4069: 7 - line 4070: 14 - line 4071: 30 - line 4072: 37 - line 4073: 44 - line 4074: 51 - line 4076: 69 - line 4077: 89 - line 4076: 102 - line 4081: 108 - line 4082: 115 - line 4084: 126 - line 4085: 133 - line 4089: 150 - line 4087: 153 - line 4088: 155 - line 4091: 166 - line 4092: 174 - line 4094: 190 - line 4096: 208 - line 4098: 212 - line 4099: 232 - line 4100: 255 - line 4101: 269 - line 4103: 279 - line 4104: 286 - line 4108: 293 - line 4112: 300 - line 4113: 307 - line 4114: 314 - line 4115: 319 - line 4116: 323 - line 4118: 330 - line 4119: 370 - line 4120: 379 - line 4122: 388 - line 4123: 408 - line 4124: 413 - line 4125: 433 - LocalVariableTable: - Start Length Slot Name Signature - 72 36 9 i I - 155 11 9 e Ljava/lang/Exception; - 0 434 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 434 1 content Lio/github/rosemoe/sora/text/Content; - 0 434 2 startLine I - 0 434 3 startColumn I - 0 434 4 endLine I - 0 434 5 endColumn I - 0 434 6 deletedContent Ljava/lang/CharSequence; - 30 404 7 start Lio/github/rosemoe/sora/text/CharPosition; - 37 397 8 end Lio/github/rosemoe/sora/text/CharPosition; - StackMapTable: number_of_entries = 13 - frame_type = 254 /* append */ - offset_delta = 72 - locals = [ class io/github/rosemoe/sora/text/CharPosition, class io/github/rosemoe/sora/text/CharPosition, int ] - frame_type = 250 /* chop */ - offset_delta = 35 - frame_type = 17 /* same */ - frame_type = 23 /* same */ - frame_type = 66 /* same_locals_1_stack_item */ - stack = [ class java/lang/Exception ] - frame_type = 12 /* same */ - frame_type = 23 /* same */ - frame_type = 251 /* same_frame_extended */ - offset_delta = 78 - frame_type = 9 /* same */ - frame_type = 13 /* same */ - frame_type = 6 /* same */ - frame_type = 29 /* same */ - frame_type = 57 /* same */ - - public void beforeModification(io.github.rosemoe.sora.text.Content); - descriptor: (Lio/github/rosemoe/sora/text/Content;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=1, locals=2, args_size=2 - 0: aload_0 - 1: getfield #105 // Field mCursorAnimator:Lio/github/rosemoe/sora/widget/style/CursorAnimator; - 4: invokeinterface #516, 1 // InterfaceMethod io/github/rosemoe/sora/widget/style/CursorAnimator.markStartPos:()V - 9: return - LineNumberTable: - line 4129: 0 - line 4130: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 content Lio/github/rosemoe/sora/text/Content; - - public void onFormatFail(java.lang.Throwable); - descriptor: (Ljava/lang/Throwable;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=2, args_size=2 - 0: aload_0 - 1: aload_0 - 2: aload_1 - 3: invokedynamic #746, 0 // InvokeDynamic #1:run:(Lio/github/rosemoe/sora/widget/CodeEditor;Ljava/lang/Throwable;)Ljava/lang/Runnable; - 8: invokevirtual #215 // Method post:(Ljava/lang/Runnable;)Z - 11: pop - 12: aload_0 - 13: aconst_null - 14: putfield #442 // Field mFormatThread:Lio/github/rosemoe/sora/text/FormatThread; - 17: return - LineNumberTable: - line 4134: 0 - line 4135: 12 - line 4136: 17 - LocalVariableTable: - Start Length Slot Name Signature - 0 18 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 18 1 throwable Ljava/lang/Throwable; - - public void onRemove(io.github.rosemoe.sora.text.Content, io.github.rosemoe.sora.text.ContentLine); - descriptor: (Lio/github/rosemoe/sora/text/Content;Lio/github/rosemoe/sora/text/ContentLine;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=3, args_size=3 - 0: aload_0 - 1: getfield #41 // Field mLayout:Lio/github/rosemoe/sora/widget/layout/Layout; - 4: aload_1 - 5: aload_2 - 6: invokeinterface #747, 3 // InterfaceMethod io/github/rosemoe/sora/widget/layout/Layout.onRemove:(Lio/github/rosemoe/sora/text/Content;Lio/github/rosemoe/sora/text/ContentLine;)V - 11: return - LineNumberTable: - line 4140: 0 - line 4141: 11 - LocalVariableTable: - Start Length Slot Name Signature - 0 12 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 12 1 content Lio/github/rosemoe/sora/text/Content; - 0 12 2 line Lio/github/rosemoe/sora/text/ContentLine; - - public void onFormatSucceed(java.lang.CharSequence, java.lang.CharSequence); - descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=3, locals=3, args_size=3 - 0: aload_0 - 1: aconst_null - 2: putfield #442 // Field mFormatThread:Lio/github/rosemoe/sora/text/FormatThread; - 5: aload_1 - 6: aload_0 - 7: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 10: if_acmpne 29 - 13: aload_2 - 14: ifnull 29 - 17: aload_0 - 18: aload_0 - 19: aload_2 - 20: invokedynamic #748, 0 // InvokeDynamic #2:run:(Lio/github/rosemoe/sora/widget/CodeEditor;Ljava/lang/CharSequence;)Ljava/lang/Runnable; - 25: invokevirtual #215 // Method post:(Ljava/lang/Runnable;)Z - 28: pop - 29: return - LineNumberTable: - line 4145: 0 - line 4146: 5 - line 4147: 17 - line 4156: 29 - LocalVariableTable: - Start Length Slot Name Signature - 0 30 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 30 1 originalText Ljava/lang/CharSequence; - 0 30 2 newText Ljava/lang/CharSequence; - StackMapTable: number_of_entries = 1 - frame_type = 29 /* same */ - - public void onFormatSucceed(java.lang.CharSequence, java.lang.CharSequence, io.github.rosemoe.sora.text.CharPosition, io.github.rosemoe.sora.text.CharPosition); - descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=5, locals=5, args_size=5 - 0: aload_0 - 1: aconst_null - 2: putfield #442 // Field mFormatThread:Lio/github/rosemoe/sora/text/FormatThread; - 5: aload_1 - 6: aload_0 - 7: getfield #197 // Field mText:Lio/github/rosemoe/sora/text/Content; - 10: if_acmpne 32 - 13: aload_2 - 14: ifnull 32 - 17: aload_0 - 18: aload_0 - 19: aload_3 - 20: aload 4 - 22: aload_2 - 23: invokedynamic #749, 0 // InvokeDynamic #3:run:(Lio/github/rosemoe/sora/widget/CodeEditor;Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)Ljava/lang/Runnable; - 28: invokevirtual #215 // Method post:(Ljava/lang/Runnable;)Z - 31: pop - 32: return - LineNumberTable: - line 4160: 0 - line 4161: 5 - line 4162: 17 - line 4171: 32 - LocalVariableTable: - Start Length Slot Name Signature - 0 33 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 33 1 originalText Ljava/lang/CharSequence; - 0 33 2 replaceText Ljava/lang/CharSequence; - 0 33 3 start Lio/github/rosemoe/sora/text/CharPosition; - 0 33 4 end Lio/github/rosemoe/sora/text/CharPosition; - StackMapTable: number_of_entries = 1 - frame_type = 32 /* same */ - - public void setStyles(io.github.rosemoe.sora.lang.styling.Styles); - descriptor: (Lio/github/rosemoe/sora/lang/styling/Styles;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: aload_1 - 2: putfield #237 // Field mStyles:Lio/github/rosemoe/sora/lang/styling/Styles; - 5: aload_0 - 6: getfield #225 // Field mHighlightCurrentBlock:Z - 9: ifeq 20 - 12: aload_0 - 13: aload_0 - 14: invokevirtual #226 // Method findCursorBlock:()I - 17: putfield #146 // Field mCursorPosition:I - 20: aload_0 - 21: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 24: invokevirtual #258 // Method io/github/rosemoe/sora/widget/EditorPainter.invalidateHwRenderer:()V - 27: aload_0 - 28: getfield #55 // Field mPainter:Lio/github/rosemoe/sora/widget/EditorPainter; - 31: invokevirtual #223 // Method io/github/rosemoe/sora/widget/EditorPainter.updateTimestamp:()V - 34: aload_0 - 35: invokevirtual #187 // Method invalidate:()V - 38: return - LineNumberTable: - line 4175: 0 - line 4176: 5 - line 4177: 12 - line 4179: 20 - line 4180: 27 - line 4181: 34 - line 4182: 38 - LocalVariableTable: - Start Length Slot Name Signature - 0 39 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 39 1 styles Lio/github/rosemoe/sora/lang/styling/Styles; - StackMapTable: number_of_entries = 1 - frame_type = 20 /* same */ - RuntimeInvisibleAnnotations: - 0: #1617() - androidx.annotation.UiThread - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #1030() - androidx.annotation.Nullable - - public void setDiagnostics(io.github.rosemoe.sora.lang.diagnostic.DiagnosticsContainer); - descriptor: (Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer;)V - flags: (0x0001) ACC_PUBLIC - Code: - stack=2, locals=2, args_size=2 - 0: aload_0 - 1: aload_1 - 2: putfield #238 // Field mDiagnostics:Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - 5: aload_0 - 6: invokevirtual #187 // Method invalidate:()V - 9: return - LineNumberTable: - line 4186: 0 - line 4187: 5 - line 4188: 9 - LocalVariableTable: - Start Length Slot Name Signature - 0 10 0 this Lio/github/rosemoe/sora/widget/CodeEditor; - 0 10 1 diagnostics Lio/github/rosemoe/sora/lang/diagnostic/DiagnosticsContainer; - RuntimeInvisibleAnnotations: - 0: #1617() - androidx.annotation.UiThread - RuntimeInvisibleParameterAnnotations: - parameter 0: - 0: #1030() - androidx.annotation.Nullable - - static {}; - descriptor: ()V - flags: (0x0008) ACC_STATIC - Code: - stack=1, locals=0, args_size=0 - 0: ldc #47 // String CodeEditor - 2: invokestatic #752 // Method io/github/rosemoe/sora/util/Logger.instance:(Ljava/lang/String;)Lio/github/rosemoe/sora/util/Logger; - 5: putstatic #753 // Field logger:Lio/github/rosemoe/sora/util/Logger; - 8: return - LineNumberTable: - line 140: 0 -} -SourceFile: "CodeEditor.java" -NestMembers: - io/github/rosemoe/sora/widget/CodeEditor$1SearchActionMode - io/github/rosemoe/sora/widget/CodeEditor$1SearchActionMode$1 -InnerClasses: - #758= #467; // SearchActionMode=class io/github/rosemoe/sora/widget/CodeEditor$1SearchActionMode - public static #837= #128 of #224; // HandleDescriptor=class io/github/rosemoe/sora/widget/style/SelectionHandleStyle$HandleDescriptor of class io/github/rosemoe/sora/widget/style/SelectionHandleStyle - public static final #866= #865 of #2340; // Align=class android/graphics/Paint$Align of class android/graphics/Paint - public static final #875= #107 of #390; // Builder=class android/view/inputmethod/CursorAnchorInfo$Builder of class android/view/inputmethod/CursorAnchorInfo - public static #890= #889 of #2340; // FontMetricsInt=class android/graphics/Paint$FontMetricsInt of class android/graphics/Paint - public static #1330= #1329 of #2356; // Callback=class android/view/ActionMode$Callback of class android/view/ActionMode - public static #1437= #1436 of #2142; // Item=class android/content/ClipData$Item of class android/content/ClipData - public static #1692= #60 of #1690; // VERSION_CODES=class android/os/Build$VERSION_CODES of class android/os/Build - public static final #1700= #65 of #1698; // attr=class android/R$attr of class android/R - public static #2275= #689 of #754; // MeasureSpec=class android/view/View$MeasureSpec of class android/view/View - public static #2338= #756 of #443; // FormatResultReceiver=class io/github/rosemoe/sora/text/FormatThread$FormatResultReceiver of class io/github/rosemoe/sora/text/FormatThread - #1629; // class io/github/rosemoe/sora/widget/CodeEditor$1SearchActionMode$1 - public static #2380= #1688 of #1690; // VERSION=class android/os/Build$VERSION of class android/os/Build - public static final #2400= #1712 of #2398; // string=class io/github/rosemoe/sora/R$string of class io/github/rosemoe/sora/R - public static #2415= #2414 of #121; // OnGestureListener=class android/view/GestureDetector$OnGestureListener of class android/view/GestureDetector - public static #2419= #2418 of #121; // OnDoubleTapListener=class android/view/GestureDetector$OnDoubleTapListener of class android/view/GestureDetector - public static #2422= #2421 of #125; // OnScaleGestureListener=class android/view/ScaleGestureDetector$OnScaleGestureListener of class android/view/ScaleGestureDetector - public static #2502= #1918 of #100; // SearchOptions=class io/github/rosemoe/sora/widget/EditorSearcher$SearchOptions of class io/github/rosemoe/sora/widget/EditorSearcher - public static #2527= #1952 of #1201; // Reader=class io/github/rosemoe/sora/lang/styling/Spans$Reader of class io/github/rosemoe/sora/lang/styling/Spans - public static final #2737= #2241 of #657; // AccessibilityAction=class android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction of class android/view/accessibility/AccessibilityNodeInfo - public static final #2813= #2812 of #2816; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles -BootstrapMethods: - 0: #2229 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; - Method arguments: - #2230 ()V - #2231 REF_invokeVirtual io/github/rosemoe/sora/widget/component/Magnifier.updateDisplay:()V - #2230 ()V - 1: #2229 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; - Method arguments: - #2230 ()V - #2324 REF_invokeSpecial io/github/rosemoe/sora/widget/CodeEditor.lambda$onFormatFail$0:(Ljava/lang/Throwable;)V - #2230 ()V - 2: #2229 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; - Method arguments: - #2230 ()V - #2327 REF_invokeSpecial io/github/rosemoe/sora/widget/CodeEditor.lambda$onFormatSucceed$1:(Ljava/lang/CharSequence;)V - #2230 ()V - 3: #2229 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; - Method arguments: - #2230 ()V - #2329 REF_invokeSpecial io/github/rosemoe/sora/widget/CodeEditor.lambda$onFormatSucceed$2:(Lio/github/rosemoe/sora/text/CharPosition;Lio/github/rosemoe/sora/text/CharPosition;Ljava/lang/CharSequence;)V - #2230 ()V