From 07cee88d1340ba3aaae9c8881c4effc73be83365 Mon Sep 17 00:00:00 2001 From: Nicolas Voirol <voirol.nicolas@gmail.com> Date: Thu, 18 Aug 2016 15:54:29 +0200 Subject: [PATCH] More changed to accomodate stainless --- src/main/scala/inox/ast/CallGraph.scala | 2 +- src/main/scala/inox/ast/Constructors.scala | 2 +- src/main/scala/inox/ast/Definitions.scala | 2 +- src/main/scala/inox/ast/ExprOps.scala | 4 +++- src/main/scala/inox/ast/Trees.scala | 4 ++-- src/main/scala/inox/ast/TypeOps.scala | 2 +- 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/scala/inox/ast/CallGraph.scala b/src/main/scala/inox/ast/CallGraph.scala index ec749fcef..eb0c3f083 100644 --- a/src/main/scala/inox/ast/CallGraph.scala +++ b/src/main/scala/inox/ast/CallGraph.scala @@ -6,7 +6,7 @@ package ast import utils.Graphs._ trait CallGraph { - private[ast] val trees: Trees + protected val trees: Trees import trees._ import trees.exprOps._ protected val symbols: Symbols diff --git a/src/main/scala/inox/ast/Constructors.scala b/src/main/scala/inox/ast/Constructors.scala index c365ba628..664408f30 100644 --- a/src/main/scala/inox/ast/Constructors.scala +++ b/src/main/scala/inox/ast/Constructors.scala @@ -10,7 +10,7 @@ package ast * @define encodingof Encoding of * */ trait Constructors { - private[ast] val trees: Trees + protected val trees: Trees import trees._ import trees.exprOps._ protected implicit val symbols: Symbols diff --git a/src/main/scala/inox/ast/Definitions.scala b/src/main/scala/inox/ast/Definitions.scala index a63f639e8..1ebe9ba27 100644 --- a/src/main/scala/inox/ast/Definitions.scala +++ b/src/main/scala/inox/ast/Definitions.scala @@ -96,7 +96,7 @@ trait Definitions { self: Trees => val classes: Map[Identifier, ClassDef] val functions: Map[Identifier, FunDef] - private[ast] val trees: self.type = self + protected val trees: self.type = self protected val symbols: this.type = this // @nv: this is a hack to reinject `this` into the set of implicits diff --git a/src/main/scala/inox/ast/ExprOps.scala b/src/main/scala/inox/ast/ExprOps.scala index c0583c692..1a32fb14e 100644 --- a/src/main/scala/inox/ast/ExprOps.scala +++ b/src/main/scala/inox/ast/ExprOps.scala @@ -48,7 +48,7 @@ trait ExprOps extends GenTreeOps { case _ => None } (expr) - object VariableExtractor { + protected class VariableExtractor { def unapply(e: Expr): Option[(Set[Variable], Set[Variable])] = e match { case v: Variable => Some((Set(v), Set.empty)) case Let(vd, _, _) => Some((Set.empty, Set(vd.toVariable))) @@ -59,6 +59,8 @@ trait ExprOps extends GenTreeOps { } } + protected val VariableExtractor = new VariableExtractor + /** Returns the set of free variables in an expression */ def variablesOf(expr: Expr): Set[Variable] = { fold[Set[Variable]] { case (e, subs) => diff --git a/src/main/scala/inox/ast/Trees.scala b/src/main/scala/inox/ast/Trees.scala index 2d1aba675..cd1963046 100644 --- a/src/main/scala/inox/ast/Trees.scala +++ b/src/main/scala/inox/ast/Trees.scala @@ -35,11 +35,11 @@ trait Trees override def toString = asString(PrinterOptions.fromContext(InoxContext.printNames)) } - object exprOps extends { + val exprOps: ExprOps { val trees: Trees.this.type } = new { protected val trees: Trees.this.type = Trees.this } with ExprOps - object dsl extends { + val dsl: DSL { val trees: Trees.this.type } = new { protected val trees: Trees.this.type = Trees.this } with DSL diff --git a/src/main/scala/inox/ast/TypeOps.scala b/src/main/scala/inox/ast/TypeOps.scala index c6d1a9721..b24d8e1ae 100644 --- a/src/main/scala/inox/ast/TypeOps.scala +++ b/src/main/scala/inox/ast/TypeOps.scala @@ -4,7 +4,7 @@ package inox package ast trait TypeOps { - private[ast] val trees: Trees + protected val trees: Trees import trees._ protected implicit val symbols: Symbols -- GitLab