class Sub extends Main { /// CHECK-START: void Sub.invokeSuperClass() builder (after) /// CHECK-NOT: ClinitCheck publicvoid invokeSuperClass() { // No Class initialization check as Main.<clinit> is trivial. b/62478025 long a = Main.foo;
}
/// CHECK-START: void Sub.invokeItself() builder (after) /// CHECK-NOT: ClinitCheck publicvoid invokeItself() { // No Class initialization check as Sub.<clinit> and Main.<clinit> are trivial. b/62478025 long a = foo;
}
/// CHECK-START: void Sub.invokeSubClass() builder (after) /// CHECK: ClinitCheck publicvoid invokeSubClass() { long a = SubSub.foo;
}
publicstaticlong foo = 42;
}
class SubSub { publicstaticvoid bar() { long a = Main.foo;
} publicstaticlong foo = 42;
}
class NonTrivial { publicstaticlong staticFoo = 42; publiclong instanceFoo;
/// CHECK-START: void NonTrivial.<init>() builder (after) /// CHECK: StaticFieldGet public NonTrivial() { // ClinitCheck is eliminated because this is a constructor and therefore the // corresponding new-instance in the caller must have performed the check.
instanceFoo = staticFoo;
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.