Revert "Revert "ConstantExpression lazy evaluation""

This reverts commit a549b71629b6bc28ac1d99d34a0f3b3005c90aad.

Reason for revert: mac build issue fixed by adding virtual destructor

Test: builds, hidl_test
Test: builds on mac

Bug: 64532323

Change-Id: I10a142649bc1eb304b267372129e850235004f6e
diff --git a/Scope.h b/Scope.h
index 599182f..6a34a59 100644
--- a/Scope.h
+++ b/Scope.h
@@ -25,6 +25,7 @@
 
 namespace android {
 
+struct ConstantExpression;
 struct Formatter;
 struct Interface;
 struct LocalIdentifier;
@@ -88,6 +89,8 @@
     LocalIdentifier();
     virtual ~LocalIdentifier();
     virtual bool isEnumValue() const;
+
+    virtual ConstantExpression* constExpr() const;
 };
 
 }  // namespace android