コード例 #1
0
ファイル: Updater.cs プロジェクト: asvishnyakov/CodeContracts
 public virtual TypeMemberSnippet VisitTypeMemberSnippet(TypeMemberSnippet snippet, TypeMemberSnippet changes, TypeMemberSnippet deletions, TypeMemberSnippet insertions){
   this.UpdateSourceContext(snippet, changes);
   return snippet;
 }
コード例 #2
0
ファイル: StandardVisitor.cs プロジェクト: dbremner/specsharp
 public override TypeMemberSnippet VisitTypeMemberSnippet(TypeMemberSnippet snippet){
   if (snippet == null) return null;
   Document doc = snippet.SourceContext.Document;
   if (doc == null) return null;
   string fileName = doc.Name;
   int lineNumber = doc.LineNumber;
   DocumentText sourceText = doc.Text;
   IParserFactory pf = snippet.ParserFactory;
   IParser p;
   if (pf == null)
     p = this.DefaultParserFactory.CreateParser(fileName, lineNumber, sourceText, this.SymbolTable, this.ErrorNodes, this.Options);
   else
     p = pf.CreateParser(fileName, lineNumber, sourceText, this.SymbolTable, this.ErrorNodes, this.Options);
   if (p == null) return null;
   p.ParseTypeMembers(snippet.DeclaringType);
   return null;
 } 
コード例 #3
0
    public virtual Differences VisitTypeMemberSnippet(TypeMemberSnippet snippet1, TypeMemberSnippet snippet2){
      Differences differences = new Differences(snippet1, snippet2);
      if (snippet1 == null || snippet2 == null){
        if (snippet1 != snippet2) differences.NumberOfDifferences++; else differences.NumberOfSimilarities++;
        return differences;
      }
      TypeMemberSnippet changes = (TypeMemberSnippet)snippet2.Clone();
      TypeMemberSnippet deletions = (TypeMemberSnippet)snippet2.Clone();
      TypeMemberSnippet insertions = (TypeMemberSnippet)snippet2.Clone();

      if (snippet1.SourceContext.Document == null || snippet2.SourceContext.Document == null){
        if (snippet1.SourceContext.Document == snippet2.SourceContext.Document) differences.NumberOfSimilarities++; else differences.NumberOfDifferences++;
      }else if (snippet1.SourceContext.Document.Name == snippet2.SourceContext.Document.Name) 
        differences.NumberOfSimilarities++; else differences.NumberOfDifferences++;

      if (differences.NumberOfDifferences == 0){
        differences.Changes = null;
        differences.Deletions = null;
        differences.Insertions = null;
      }else{
        differences.Changes = changes;
        differences.Deletions = deletions;
        differences.Insertions = insertions;
      }
      return differences;
    }
コード例 #4
0
ファイル: Inspector.cs プロジェクト: a780201/CodeContracts
 public virtual void VisitTypeMemberSnippet(TypeMemberSnippet snippet)
 {
 }
コード例 #5
0
ファイル: StandardVisitor.cs プロジェクト: dbremner/specsharp
 public virtual TypeMemberSnippet VisitTypeMemberSnippet(TypeMemberSnippet snippet){
   return snippet;
 }
コード例 #6
0
    /*
    public override TypeAlias VisitTypeAlias(TypeAlias tAlias)
    {
      throw new ApplicationException("unimplemented");
    }
    */

    public override TypeMemberSnippet VisitTypeMemberSnippet(TypeMemberSnippet snippet)
    {
      throw new ApplicationException("unimplemented");
    }
コード例 #7
0
 public virtual TypeMemberSnippet VisitTypeMemberSnippet(TypeMemberSnippet snippet1, TypeMemberSnippet snippet2)
 {
     return snippet1;
 }
コード例 #8
0
 private void Translate(CodeSnippetTypeMember tmSnippet, TypeNode declaringType){
   if (tmSnippet == null) return;
   TypeMemberSnippet snippet = new TypeMemberSnippet();
   snippet.DeclaringType = declaringType;
   Document doc = null;
   if (tmSnippet.LinePragma == null)
     doc = this.compiler.CreateDocument(null, 1, tmSnippet.Text);
   else
     doc = this.compiler.CreateDocument(tmSnippet.LinePragma.FileName, tmSnippet.LinePragma.LineNumber, tmSnippet.Text);
   snippet.SourceContext = new SourceContext(doc);
   declaringType.Members.Add(snippet);
 }
コード例 #9
0
ファイル: Parser.cs プロジェクト: Plankankul/SpecSharp
 public override TypeMemberSnippet VisitTypeMemberSnippet(TypeMemberSnippet snippet)
 {
     System.Compiler.Parser p = this.DefaultCompiler.CreateParser(snippet.SourceContext.Document, this.ErrorNodes);
     p.ParseTypeMembers(snippet.DeclaringType);
     return(null);
 }
コード例 #10
0
        /*
         * public override TypeAlias VisitTypeAlias(TypeAlias tAlias)
         * {
         * throw new ApplicationException("unimplemented");
         * }
         */

        public override TypeMemberSnippet VisitTypeMemberSnippet(TypeMemberSnippet snippet)
        {
            throw new ApplicationException("unimplemented");
        }