Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Android/art/art/test/161-final-abstract-class/smali/   (Android Betriebssystem Version 17©)  Datei vom 26.5.2026 mit Größe 5 kB image not shown  

Quelle  Main.smali   Sprache: unbekannt

 
Spracherkennung für: .smali vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

# Created with baksmali.

# Java file for reference.

# import java.lang.reflect.InvocationTargetException;
# import java.lang.reflect.Method;
#
# public class Main {
#     public static void main(String[] args) {
#         try {
#             // Make sure that the abstract final class is marked as erroneous.
#             Class.forName("AbstractFinal");
#             System.out.println("UNREACHABLE!");
#         } catch (VerifyError expected) {
#         } catch (Throwable t) {
#             t.printStackTrace(System.out);
#         }
#         try {
#             // Verification of TestClass.test() used to crash when processing
#             // the final abstract (erroneous) class.
#             Class<?> tc = Class.forName("TestClass");
#             Method test = tc.getDeclaredMethod("test");
#             test.invoke(null);
#             System.out.println("UNREACHABLE!");
#         } catch (InvocationTargetException ite) {
#             if (ite.getCause() instanceof InstantiationError) {
#                 System.out.println(
#                     ite.getCause().getClass().getName() + ": " + ite.getCause().getMessage());
#             } else {
#                 ite.printStackTrace(System.out);
#             }
#         } catch (Throwable t) {
#             t.printStackTrace(System.out);
#         }
#     }
# }

.class public LMain;
.super Ljava/lang/Object;
.source "Main.java"


# direct methods
.method public constructor <init>()V
    .registers 1

    .line 20
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static main([Ljava/lang/String;)V
    .registers 4

    .line 24
    :try_start_0
    const-string p0, "AbstractFinal"

    invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;

    .line 25
    sget-object p0, Ljava/lang/System;->out:Ljava/io/PrintStream;

    const-string v0, "UNREACHABLE!"

    invoke-virtual {p0, v0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
    :try_end_c
    .catch Ljava/lang/VerifyError; {:try_start_0 .. :try_end_c} :catch_14
    .catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_c} :catch_d

    goto :goto_15

    .line 27
    :catch_d
    move-exception p0

    .line 28
    sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;

    invoke-virtual {p0, v0}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintStream;)V

    goto :goto_16

    .line 26
    :catch_14
    move-exception p0

    .line 29
    :goto_15
    nop

    .line 33
    :goto_16
    :try_start_16
    const-string p0, "TestClass"

    invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;

    move-result-object p0

    .line 34
    const-string v0, "test"

    const/4 v1, 0x0

    new-array v2, v1, [Ljava/lang/Class;

    invoke-virtual {p0, v0, v2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object p0

    .line 35
    const/4 v0, 0x0

    new-array v1, v1, [Ljava/lang/Object;

    invoke-virtual {p0, v0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    .line 36
    sget-object p0, Ljava/lang/System;->out:Ljava/io/PrintStream;

    const-string v0, "UNREACHABLE!"

    invoke-virtual {p0, v0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
    :try_end_32
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_16 .. :try_end_32} :catch_3a
    .catch Ljava/lang/Throwable; {:try_start_16 .. :try_end_32} :catch_33

    goto :goto_76

    .line 44
    :catch_33
    move-exception p0

    .line 45
    sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;

    invoke-virtual {p0, v0}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintStream;)V

    goto :goto_77

    .line 37
    :catch_3a
    move-exception p0

    .line 38
    invoke-virtual {p0}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v0

    instance-of v0, v0, Ljava/lang/InstantiationError;

    if-eqz v0, :cond_71

    .line 39
    sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    .line 40
    invoke-virtual {p0}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v2, ": "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p0}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object p0

    invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    .line 39
    invoke-virtual {v0, p0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V

    goto :goto_76

    .line 42
    :cond_71
    sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;

    invoke-virtual {p0, v0}, Ljava/lang/reflect/InvocationTargetException;->printStackTrace(Ljava/io/PrintStream;)V

    .line 46
    :goto_76
    nop

    .line 47
    :goto_77
    return-void
.end method

[Dauer der Verarbeitung: 0.13 Sekunden, vorverarbeitet 2026-06-29]