From c34f614f31195e3646fe337340d6c337a3879c9c Mon Sep 17 00:00:00 2001
From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch>
Date: Wed, 27 Jul 2016 15:00:11 +0200
Subject: [PATCH] Mostly hide fields that can cause ambiguity

---
 src/main/scala/inox/ast/CallGraph.scala    | 2 +-
 src/main/scala/inox/ast/Constructors.scala | 2 +-
 src/main/scala/inox/ast/Definitions.scala  | 3 +--
 src/main/scala/inox/ast/SymbolOps.scala    | 1 -
 src/main/scala/inox/ast/TypeOps.scala      | 2 +-
 5 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/main/scala/inox/ast/CallGraph.scala b/src/main/scala/inox/ast/CallGraph.scala
index 11e39b1c7..5146be4a9 100644
--- a/src/main/scala/inox/ast/CallGraph.scala
+++ b/src/main/scala/inox/ast/CallGraph.scala
@@ -9,7 +9,7 @@ trait CallGraph {
   private[ast] val trees: Trees
   import trees._
   import trees.exprOps._
-  val symbols: Symbols
+  protected val symbols: Symbols
 
   private def collectCallsInPats(fd: FunDef)(p: Pattern): Set[(FunDef, FunDef)] =
     (p match {
diff --git a/src/main/scala/inox/ast/Constructors.scala b/src/main/scala/inox/ast/Constructors.scala
index 4b6781e83..9b11aad35 100644
--- a/src/main/scala/inox/ast/Constructors.scala
+++ b/src/main/scala/inox/ast/Constructors.scala
@@ -13,7 +13,7 @@ trait Constructors {
   private[ast] val trees: Trees
   import trees._
   import trees.exprOps._
-  implicit val symbols: Symbols
+  protected implicit val symbols: Symbols
   import symbols._
 
   /** If `isTuple`:
diff --git a/src/main/scala/inox/ast/Definitions.scala b/src/main/scala/inox/ast/Definitions.scala
index b6d136c2c..1b497884a 100644
--- a/src/main/scala/inox/ast/Definitions.scala
+++ b/src/main/scala/inox/ast/Definitions.scala
@@ -3,7 +3,6 @@
 package inox
 package ast
 
-import scala.reflect._
 import scala.collection.mutable.{Map => MutableMap}
 
 trait Definitions { self: Trees =>
@@ -88,7 +87,7 @@ trait Definitions { self: Trees =>
         with Paths {
 
     private[ast] val trees: self.type = self
-    val symbols: this.type = this
+    protected val symbols: this.type = this
 
     // @nv: this is a hack to reinject `this` into the set of implicits
     // in scope when using the pattern:
diff --git a/src/main/scala/inox/ast/SymbolOps.scala b/src/main/scala/inox/ast/SymbolOps.scala
index 889a31a19..e7d14301d 100644
--- a/src/main/scala/inox/ast/SymbolOps.scala
+++ b/src/main/scala/inox/ast/SymbolOps.scala
@@ -27,7 +27,6 @@ import utils._
 trait SymbolOps extends TreeOps { self: TypeOps =>
   import trees._
   import trees.exprOps._
-  val symbols: Symbols
   import symbols._
 
   /** Computes the negation of a boolean formula, with some simplifications. */
diff --git a/src/main/scala/inox/ast/TypeOps.scala b/src/main/scala/inox/ast/TypeOps.scala
index 44abc861a..8724b6e0e 100644
--- a/src/main/scala/inox/ast/TypeOps.scala
+++ b/src/main/scala/inox/ast/TypeOps.scala
@@ -6,7 +6,7 @@ package ast
 trait TypeOps {
   private[ast] val trees: Trees
   import trees._
-  implicit val symbols: Symbols
+  protected implicit val symbols: Symbols
 
   object typeOps extends GenTreeOps {
     val trees: TypeOps.this.trees.type = TypeOps.this.trees
-- 
GitLab