Make all possible Type methods const

While here, mark inherited virtual methods as override methods.

Bug: 24303749
Test: Compiles, unittests

Change-Id: Ia7114b53e243b8539a6c84e1b96bb68fee5281cd
diff --git a/ast_java.cpp b/ast_java.cpp
index e94ebfb..8a4b64e 100644
--- a/ast_java.cpp
+++ b/ast_java.cpp
@@ -284,7 +284,7 @@
 {
 }
 
-Assignment::Assignment(Variable* l, Expression* r, Type* c)
+Assignment::Assignment(Variable* l, Expression* r, const Type* c)
     :lvalue(l),
      rvalue(r),
      cast(c)