Use SkylarkSemantics in place of options class in the interpreter

Mainly this just means using getters instead of fields to access option values.

RELNOTES: None
PiperOrigin-RevId: 171101597
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java b/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java
index 95a1c84..07e3e3b 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java
@@ -56,7 +56,7 @@
     }
   }
 
-  private final SkylarkSemanticsOptions semantics;
+  private final SkylarkSemantics semantics;
   private Block block;
   private int loopCount;
 
@@ -137,7 +137,7 @@
 
   @Override
   public void visit(AbstractComprehension node) {
-    if (semantics.incompatibleComprehensionVariablesDoNotLeak) {
+    if (semantics.incompatibleComprehensionVariablesDoNotLeak()) {
       openBlock();
       super.visit(node);
       closeBlock();
@@ -165,7 +165,7 @@
 
   @Override
   public void visit(IfStatement node) {
-    if (semantics.incompatibleDisallowToplevelIfStatement && isTopLevel()) {
+    if (semantics.incompatibleDisallowToplevelIfStatement() && isTopLevel()) {
       throw new ValidationException(
           node.getLocation(),
           "if statements are not allowed at the top level. You may move it inside a function "
@@ -257,7 +257,7 @@
   /** Validates the AST and runs static checks. */
   private void validateAst(List<Statement> statements) {
     // Check that load() statements are on top.
-    if (semantics.incompatibleBzlDisallowLoadAfterStatement) {
+    if (semantics.incompatibleBzlDisallowLoadAfterStatement()) {
       checkLoadAfterStatement(statements);
     }