Fix static analyzer warnings

This fixes warnings like:

runtime/arch/*/context_*.h: warning: Call to virtual function during
construction will not dispatch to derived class

These occur because clang can't tell whether these Context subclasses
themselves have subclasses. Since they're effectively final already, the
simplest fix is to mark them as final.

Bug: 32619234
Test: test-art-host. Rebuilt ART with the analyzer to verify that these
issues are gone.
Change-Id: Idcdd8387e16869564999ca318692dfcc90006b8d
diff --git a/runtime/arch/arm/context_arm.h b/runtime/arch/arm/context_arm.h
index 2623ee9..fa9aa46 100644
--- a/runtime/arch/arm/context_arm.h
+++ b/runtime/arch/arm/context_arm.h
@@ -25,7 +25,7 @@
 namespace art {
 namespace arm {
 
-class ArmContext : public Context {
+class ArmContext FINAL : public Context {
  public:
   ArmContext() {
     Reset();
diff --git a/runtime/arch/arm64/context_arm64.h b/runtime/arch/arm64/context_arm64.h
index 105e784..36aded0 100644
--- a/runtime/arch/arm64/context_arm64.h
+++ b/runtime/arch/arm64/context_arm64.h
@@ -25,7 +25,7 @@
 namespace art {
 namespace arm64 {
 
-class Arm64Context : public Context {
+class Arm64Context FINAL : public Context {
  public:
   Arm64Context() {
     Reset();
diff --git a/runtime/arch/x86/context_x86.h b/runtime/arch/x86/context_x86.h
index f482d9f..303dfe3 100644
--- a/runtime/arch/x86/context_x86.h
+++ b/runtime/arch/x86/context_x86.h
@@ -25,7 +25,7 @@
 namespace art {
 namespace x86 {
 
-class X86Context : public Context {
+class X86Context FINAL : public Context {
  public:
   X86Context() {
     Reset();
diff --git a/runtime/arch/x86_64/context_x86_64.h b/runtime/arch/x86_64/context_x86_64.h
index 46f2b63..f8e2845 100644
--- a/runtime/arch/x86_64/context_x86_64.h
+++ b/runtime/arch/x86_64/context_x86_64.h
@@ -25,7 +25,7 @@
 namespace art {
 namespace x86_64 {
 
-class X86_64Context : public Context {
+class X86_64Context FINAL : public Context {
  public:
   X86_64Context() {
     Reset();