当前位置: 首页>>代码示例>>C#>>正文


C# ErrorNodeList类代码示例

本文整理汇总了C#中ErrorNodeList的典型用法代码示例。如果您正苦于以下问题:C# ErrorNodeList类的具体用法?C# ErrorNodeList怎么用?C# ErrorNodeList使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ErrorNodeList类属于命名空间,在下文中一共展示了ErrorNodeList类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ErrorHandler

  Expression IContractDeserializer.ParseContract (MethodContract mc, string text, ErrorNodeList errs)
  {
    Expression expression = null;
    currentMethodContract = mc;
    currentMethod = null;
    currentType = null;
    if (mc != null){
      currentMethod = mc.DeclaringMethod;
      currentType = currentMethod.DeclaringType;
    }
    try{
      Parser.ParseContract(this.assembly, text, out expression);
    }catch (Exception e){
      ErrorNodeList eList = errs != null ? errs : this.ErrorList;
      if (eList != null){
#if OLDERRORS
        ErrorHandler eh = new ErrorHandler(eList);
        eh.HandleError(mc,System.Compiler.Error.GenericError,"Deserializer error: " + e.Message);
#else
        this.assembly.MetadataImportErrors.Add(e);
#endif
      }
      throw e;
    }
    return expression;
  }
开发者ID:dbremner,项目名称:specsharp,代码行数:26,代码来源:DeserializerParser.cs

示例2: CompileAssemblyFromDomBatch

 public override CompilerResults CompileAssemblyFromDomBatch(CompilerParameters options, CodeCompileUnit[] compilationUnits, ErrorNodeList errorNodes)
 {
     if (options == null) { Debug.Assert(false); return null; }
     this.Options = options;
     int n = compilationUnits == null ? 0 : compilationUnits.Length;
     if (options.OutputAssembly == null || options.OutputAssembly.Length == 0)
     {
         for (int i = 0; i < n; i++)
         {
             CodeSnippetCompileUnit csu = compilationUnits[i] as CodeSnippetCompileUnit;
             if (csu == null || csu.LinePragma == null || csu.LinePragma.FileName == null) continue;
             this.SetOutputFileName(options, csu.LinePragma.FileName);
             break;
         }
     }
     CompilerResults results = new CompilerResults(options.TempFiles);
     AssemblyNode assem = this.CreateAssembly(options, errorNodes);
     Compilation compilation = new Compilation(assem, new CompilationUnitList(n), options, this.GetGlobalScope(assem));
     CodeDomTranslator cdt = new CodeDomTranslator();
     SnippetParser sp = new SnippetParser(this, assem, errorNodes, options);
     for (int i = 0; i < n; i++)
     {
         CompilationUnit cu = cdt.Translate(this, compilationUnits[i], assem, errorNodes);
         sp.Visit(cu);
         compilation.CompilationUnits.Add(cu);
         cu.Compilation = compilation;
     }
     this.CompileParseTree(compilation, errorNodes);
     this.ProcessErrors(options, results, errorNodes);
     if (results.NativeCompilerReturnValue == 0)
         this.SetEntryPoint(compilation, results);
     // The following line is different from the base class method...
     this.SaveOrLoadAssembly(this.targetModule as AssemblyNode, options, results, errorNodes);
     return results;
 }
开发者ID:ZingModelChecker,项目名称:Zing,代码行数:35,代码来源:compiler.cs

示例3: Parse

    //IDebugExpressionEvaluator
    public  HRESULT Parse( 
      [In,MarshalAs(UnmanagedType.LPWStr)]
      string                    pszExpression,
      PARSEFLAGS                  flags,
      uint                        radix,
      out string                  pbstrErrorMessages,
      out uint                    perrorCount,
      out IDebugParsedExpression  ppparsedExpression
      ) 
    {
      
      HRESULT hr = (HRESULT)HResult.S_OK;
      perrorCount = 0;
      pbstrErrorMessages = null;
      ppparsedExpression = null;
      ErrorNodeList errors =  new ErrorNodeList();
      Module symbolTable = new Module();
      Document doc = this.cciEvaluator.ExprCompiler.CreateDocument(null, 1, pszExpression);
      IParser exprParser = this.cciEvaluator.ExprCompiler.CreateParser(doc.Name, doc.LineNumber, doc.Text, symbolTable, errors, null);
      Expression parsedExpression = exprParser.ParseExpression();

      perrorCount = (uint)errors.Count;
      if (perrorCount > 0)
        pbstrErrorMessages = errors[0].GetMessage();
      else
        ppparsedExpression = new BaseParsedExpression(pszExpression, parsedExpression, this);

      return hr;
    }
开发者ID:hesam,项目名称:SketchSharp,代码行数:30,代码来源:DebuggerHelpers.cs

示例4: Init

 private void Init(){
   ErrorNodeList tempErrors = new ErrorNodeList();
   ErrorHandler tempErrorHandler = new ErrorHandler(tempErrors);
   tempTypeSystem = new TypeSystem(tempErrorHandler);
   // Here we ignore the errors generated by this temporary checker on purpose!
   tempChecker = new Checker(tempErrorHandler, tempTypeSystem, null, null, null);
   if (errorHandler == null) {
     errors = new ErrorNodeList();
     errorHandler = new ErrorHandler(errors);
   }
 }
开发者ID:hesam,项目名称:SketchSharp,代码行数:11,代码来源:Serializer.cs

示例5: Translate

 /// <summary>
 /// Walks the supplied System.CodeDom.CodeCompileUnit and produces a corresponding CompilationUnit.
 /// Enters declarations into the supplied Module and errors into the supplied ErrorNodeList. 
 /// Calls back to the supplied compiler to resolve assembly references and to create appropriate documents for code snippets.
 /// </summary>
 /// <param name="compiler">Called upon to resolve assembly references and to create Documents for snippets.</param>
 /// <param name="compilationUnit">The root of the CodeDOM tree to be translated into an IR CompileUnit.</param>
 /// <param name="targetModule">The module or assembly to which the compilation unit will be compiled.</param>
 /// <param name="errorNodes">Errors in the CodeDOM tree that are found during translation are added to this list.</param>
 /// <returns></returns>
 public CompilationUnit Translate(Compiler compiler, CodeCompileUnit compilationUnit, Module targetModule, ErrorNodeList errorNodes){
   Debug.Assert(compiler != null); 
   Debug.Assert(compilationUnit != null); 
   Debug.Assert(targetModule != null); 
   Debug.Assert(errorNodes != null);
   this.compiler = compiler;
   this.errorNodes = errorNodes;
   this.targetModule = targetModule;
   CodeSnippetCompileUnit cscu = compilationUnit as CodeSnippetCompileUnit;
   CompilationUnit cunit = cscu != null ? new CompilationUnitSnippet() : new CompilationUnit();
   this.Translate(compilationUnit.AssemblyCustomAttributes, targetModule.Attributes);
   StringCollection references = compilationUnit.ReferencedAssemblies;
   if (references != null && references.Count > 0){
     AssemblyReferenceList arefs = targetModule.AssemblyReferences;
     TrivialHashtable alreadyReferencedAssemblies = new TrivialHashtable();
     for (int i = 0, n = arefs.Count; i < n; i++)
       alreadyReferencedAssemblies[arefs[i].Assembly.UniqueKey] = this;
     foreach (string rAssemblyName in references)
       compiler.AddAssemblyReferenceToModule(null, targetModule, rAssemblyName, null, errorNodes, alreadyReferencedAssemblies, false);
   }
   Namespace defaultNamespace = new Namespace(Identifier.Empty, Identifier.Empty, null, null, new NamespaceList(), null);
   NamespaceList nspaceList = defaultNamespace.NestedNamespaces;
   CodeNamespaceCollection nspaces = compilationUnit.Namespaces;
   if (nspaces != null) 
     foreach (CodeNamespace cns in nspaces) 
       nspaceList.Add(this.Translate(cns));
   if (cscu == null) return cunit;
   Document doc = null;
   if (cscu.LinePragma == null)
     doc = compiler.CreateDocument(targetModule.Name, 1, cscu.Value);
   else{
     doc = compiler.CreateDocument(cscu.LinePragma.FileName, cscu.LinePragma.LineNumber, cscu.Value);
     cunit.Name = Identifier.For(cscu.LinePragma.FileName);
   }
   cunit.SourceContext = new SourceContext(doc);
   defaultNamespace.SourceContext = cunit.SourceContext;
   return cunit;
 }
开发者ID:tapicer,项目名称:resource-contracts-.net,代码行数:48,代码来源:CodeDom.cs

示例6: CreateParser

 public IParser CreateParser(string fileName, int lineNumber, DocumentText text, Module symbolTable, ErrorNodeList errorNodes, CompilerParameters options){
   return new XamlParserStub(errorNodes, options as CompilerOptions);
 }
开发者ID:dbremner,项目名称:specsharp,代码行数:3,代码来源:Parser.cs

示例7: Parser

 public Parser(Document document, ErrorNodeList errors, Module symbolTable, SpecSharpCompilerOptions options){
   this.scanner = new Scanner(document, errors, options);
   this.ProcessOptions(options);
   this.errors = errors;
   this.module = symbolTable;
 }
开发者ID:dbremner,项目名称:specsharp,代码行数:6,代码来源:Parser.cs

示例8: ConstructSymbolTable

    public virtual void ConstructSymbolTable(Compilation compilation, ErrorNodeList errors, TrivialHashtable scopeFor){
      if (compilation == null || scopeFor == null){Debug.Assert(false); return;}
      this.CurrentCompilation = compilation;
      Module symbolTable = compilation.TargetModule = this.CreateModule(compilation.CompilerParameters, errors, compilation);
      Scoper scoper = new Scoper(scopeFor);
      scoper.currentModule = symbolTable;
      ErrorHandler errorHandler = new ErrorHandler(errors);
      Looker looker = new Looker(this.GetGlobalScope(symbolTable), errorHandler, scopeFor);
      // begin change by drunje
      SpecSharpCompilerOptions options = compilation.CompilerParameters as SpecSharpCompilerOptions;
      if (options != null)
        looker.AllowPointersToManagedStructures = options.AllowPointersToManagedStructures;
      // end change by drunje
      looker.currentAssembly = (looker.currentModule = symbolTable) as AssemblyNode;
      looker.ignoreMethodBodies = true;
      Scope globalScope = compilation.GlobalScope = this.GetGlobalScope(symbolTable);

      CompilationUnitList sources = compilation.CompilationUnits;
      if (sources == null) return;
      int n = sources.Count;
      for (int i = 0; i < n; i++){
        CompilationUnitSnippet compilationUnitSnippet = sources[i] as CompilationUnitSnippet;
        if (compilationUnitSnippet == null){Debug.Assert(false); continue;}
        compilationUnitSnippet.ChangedMethod = null;
        Document doc = compilationUnitSnippet.SourceContext.Document;
        if (doc == null || doc.Text == null){Debug.Assert(false); continue;}
        IParserFactory factory = compilationUnitSnippet.ParserFactory;
        if (factory == null){Debug.Assert(false); return;}
        IParser p = factory.CreateParser(doc.Name, doc.LineNumber, doc.Text, symbolTable, errors, compilation.CompilerParameters);
        if (p is ResgenCompilerStub) continue;
        if (p == null){Debug.Assert(false); continue;}
        Parser specSharpParser = p as Parser;
        if (specSharpParser == null)
          p.ParseCompilationUnit(compilationUnitSnippet);
        else
          specSharpParser.ParseCompilationUnit(compilationUnitSnippet, true, false);
        //TODO: this following is a good idea only if the files will not be frequently reparsed from source
        //StringSourceText stringSourceText = doc.Text.TextProvider as StringSourceText;
        //if (stringSourceText != null && stringSourceText.IsSameAsFileContents)
        //  doc.Text.TextProvider = new CollectibleSourceText(doc.Name, doc.Text.Length);
        //else if (doc.Text.TextProvider != null)
        //  doc.Text.TextProvider.MakeCollectible();
      }
      CompilationUnitList compilationUnits = new CompilationUnitList();
      for (int i = 0; i < n; i++){
        CompilationUnit cUnit = sources[i];
        compilationUnits.Add(scoper.VisitCompilationUnit(cUnit));
      }
      for (int i = 0; i < n; i++){
        CompilationUnit cUnit = compilationUnits[i];
        if (cUnit == null) continue;
        looker.VisitCompilationUnit(cUnit);
      }
      //Run resolver over symbol table so that custom attributes on member signatures are known and can be used
      //to error check the the given file.
      TypeSystem typeSystem = new TypeSystem(errorHandler);
      Resolver resolver = new Resolver(errorHandler, typeSystem);
      resolver.currentAssembly = (resolver.currentModule = symbolTable) as AssemblyNode;
      for (int i = 0; i < n; i++) {
        CompilationUnit cUnit = compilationUnits[i];
        if (cUnit == null) continue;
        resolver.VisitCompilationUnit(cUnit);
      }
      this.CurrentCompilation = null;
    }
开发者ID:hesam,项目名称:SketchSharp,代码行数:65,代码来源:Compiler.cs

示例9: ParseAndAnalyzeCompilationUnit

 public abstract void ParseAndAnalyzeCompilationUnit(string fname, string source, int line, int col, ErrorNodeList errors, Compilation compilation, AuthoringSink sink);
开发者ID:hesam,项目名称:SketchSharp,代码行数:1,代码来源:LanguageService.cs

示例10: ReportErrors

 public virtual void ReportErrors(string fileName, ErrorNodeList errors, AuthoringSink sink){
   if (sink == null) return;
   for (int n = errors.Count, i = n-1; i >= 0; i--){ //Scan backwards so that early errors trump later errors
     ErrorNode enode = errors[i];
     if (enode == null || enode.Severity < 0) continue;
     //TODO: suppress warnings of level > set in options
     SourceContext context = enode.SourceContext;
     if (context.Document == null) continue;
     if (context.Document.Name != fileName) continue;
     sink.AddError(enode);
   }
 }
开发者ID:hesam,项目名称:SketchSharp,代码行数:12,代码来源:LanguageService.cs

示例11: ParseSource

 public AuthoringScope ParseSource(string text, int line, int col, string fname, AuthoringSink asink, ParseReason reason){
   this.currentAst = null;
   Compilation compilation = this.GetCompilationFor(fname); 
   Debug.Assert(compilation != null, "no compilation for: "+fname);
   this.currentSymbolTable = compilation.TargetModule;
   switch (reason){
     case ParseReason.CollapsibleRegions:
     case ParseReason.CompleteWord:
     case ParseReason.MatchBraces:
     case ParseReason.HighlightBraces:
     case ParseReason.MemberSelect:
     case ParseReason.MemberSelectExplicit:
     case ParseReason.MethodTip: 
     case ParseReason.QuickInfo:
     case ParseReason.Autos:{
       return this.ParsePartialCompilationUnit(fname, text, line, col, asink, reason);
     }
     case ParseReason.Check:{
       ErrorNodeList errors = new ErrorNodeList();
       this.ParseAndAnalyzeCompilationUnit(fname, text, line, col, errors, compilation, asink);
       this.ReportErrors(fname, errors, asink);
       return this.GetAuthoringScope();
     }
   }
   return null;
 }
开发者ID:hesam,项目名称:SketchSharp,代码行数:26,代码来源:LanguageService.cs

示例12: SaveCompilation

 protected override void SaveCompilation(Compilation compilation, AssemblyNode assem, CompilerParameters options, CompilerResults results, ErrorNodeList errorNodes) {
   CompilerOptions ccioptions = options as CompilerOptions;
   if (ccioptions != null && ccioptions.EmitSourceContextsOnly) {
     SourceContextWriter.Write(compilation, assem, options);
     if (ccioptions.XMLDocFileName != null && ccioptions.XMLDocFileName.Length > 0)
       assem.WriteDocumentation(new StreamWriter(ccioptions.XMLDocFileName));
   }
   else{
     base.SaveCompilation (compilation, assem, options, results, errorNodes);
   }
 }
开发者ID:hesam,项目名称:SketchSharp,代码行数:11,代码来源:Compiler.cs

示例13: ResolveSymbolTable

 public virtual void ResolveSymbolTable(Compilation/*!*/ parsedCompilation, ErrorNodeList/*!*/ errors, out TrivialHashtable scopeFor){
   scopeFor = new TrivialHashtable();
   if (parsedCompilation == null) { Debug.Assert(false); return; }
   if (errors == null){Debug.Assert(false); return;}
   Scoper scoper = new Scoper(scopeFor);
   scoper.currentModule = parsedCompilation.TargetModule;
   scoper.VisitCompilation(parsedCompilation);
   ErrorHandler errorHandler = new ErrorHandler(errors);
   TrivialHashtable ambiguousTypes = new TrivialHashtable();
   TrivialHashtable referencedLabels = new TrivialHashtable();
   Looker looker = new Looker(null, errorHandler, scopeFor, ambiguousTypes, referencedLabels);
   // begin change by drunje
   SpecSharpCompilerOptions options = parsedCompilation.CompilerParameters as SpecSharpCompilerOptions;
   if (options != null)
     looker.AllowPointersToManagedStructures = options.AllowPointersToManagedStructures;
   // end change by drunje
   looker.currentAssembly = (looker.currentModule = parsedCompilation.TargetModule) as AssemblyNode;
   looker.VisitCompilation(parsedCompilation);
 }
开发者ID:hesam,项目名称:SketchSharp,代码行数:19,代码来源:Compiler.cs

示例14: ProcessErrors

 public override void ProcessErrors(CompilerParameters options, CompilerResults results, ErrorNodeList errorNodes)
 {
     if(errorNodes != null &&
       (options is SpecSharpCompilerOptions && 
       ((SpecSharpCompilerOptions)options).RunProgramVerifier))
         errorNodes.Sort(0, errorNodes.Count);  // sort the Boogie errors to make test deterministic
     base.ProcessErrors(options, results, errorNodes);
 }
开发者ID:hesam,项目名称:SketchSharp,代码行数:8,代码来源:Compiler.cs

示例15: XamlParserStub

 public XamlParserStub(ErrorNodeList errorNodes, CompilerOptions options){
   this.errorNodes = errorNodes;
   this.options = options;
 }
开发者ID:dbremner,项目名称:specsharp,代码行数:4,代码来源:Parser.cs


注:本文中的ErrorNodeList类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。