Beispiel #1
0
        /// <summary>
        ///   Fill permanent state information, which will be common across all tactics
        /// </summary>
        /// <param name="program">fresh Dafny program</param>
        private void FillStaticState(Program program)
        {
            Contract.Requires <ArgumentNullException>(program != null);


            foreach (var item in program.DefaultModuleDef.TopLevelDecls)
            {
                var curDecl = item as ClassDecl;
                if (curDecl != null)
                {
                    var temp = new TopLevelClassDeclaration(curDecl.Name);

                    foreach (var member in curDecl.Members)
                    {
                        var tac = member as ITactic;
                        if (tac != null)
                        {
                            temp.Tactics.Add(tac.Name, tac);
                        }
                        else
                        {
                            temp.Members.Add(member.Name, member);
                        }
                    }
                    _topLevelClasses.Add(temp);
                }
                else
                {
                    var dd = item as DatatypeDecl;
                    if (dd != null)
                    {
                        Datatypes.Add(dd.Name, dd);
                    }
                }
            }
        }
Beispiel #2
0
    /// <summary>
    ///   Fill permanent state information, which will be common across all tactics
    /// </summary>
    /// <param name="program">fresh Dafny program</param>
    private void FillStaticState(Program program) {
      Contract.Requires<ArgumentNullException>(program != null);


      foreach (var item in program.DefaultModuleDef.TopLevelDecls) {
        var curDecl = item as ClassDecl;
        if (curDecl != null) {
          var temp = new TopLevelClassDeclaration(curDecl.Name);

          foreach (var member in curDecl.Members) {
            var tac = member as ITactic;
            if (tac != null)
              temp.Tactics.Add(tac.Name, tac);
            else {
              temp.Members.Add(member.Name, member);
            }
          }
          _topLevelClasses.Add(temp);
        } else {
          var dd = item as DatatypeDecl;
          if (dd != null)
            Datatypes.Add(dd.Name, dd);
        }
      }
    }
Beispiel #3
0
 /// <summary>
 ///   Set active the enclosing TopLevelClass
 /// </summary>
 /// <param name="name"></param>
 public void SetTopLevelClass(string name)
 {
     ActiveClass = _topLevelClasses.FirstOrDefault(x => x.Name == name);
 }
Beispiel #4
0
 /// <summary>
 ///   Set active the enclosing TopLevelClass
 /// </summary>
 /// <param name="name"></param>
 public void SetTopLevelClass(string name) {
   ActiveClass = _topLevelClasses.FirstOrDefault(x => x.Name == name);
 }