Esempio n. 1
0
 public Node VisitXamlSnippet(XamlSnippet snippet){
   Microsoft.XamlCompiler.Compiler xamlCompiler = new Microsoft.XamlCompiler.Compiler(snippet.XamlDocument, this.currentModule, 
     snippet.ErrorHandler, snippet.ParserFactory, snippet.Options);
   CompilationUnit cu = xamlCompiler.GetCompilationUnit();
   if (cu.Nodes != null && cu.Nodes.Length >= 1 && cu.Nodes[0] is Namespace)
     return this.VisitNamespace((Namespace)cu.Nodes[0]);
   else{
     Debug.Assert(false);
     return null;
   }
 }
Esempio n. 2
0
        public Node VisitXamlSnippet(XamlSnippet snippet)
        {
            Microsoft.XamlCompiler.Compiler xamlCompiler = new Microsoft.XamlCompiler.Compiler(snippet.XamlDocument, this.currentModule,
                                                                                               snippet.ErrorHandler, snippet.ParserFactory, snippet.Options);
            CompilationUnit cu = xamlCompiler.GetCompilationUnit();

            if (cu.Nodes != null && cu.Nodes.Length >= 1 && cu.Nodes[0] is Namespace)
            {
                return(this.VisitNamespace((Namespace)cu.Nodes[0]));
            }
            else
            {
                Debug.Assert(false);
                return(null);
            }
        }
Esempio n. 3
0
    public override CompilationUnit ParseCompilationUnit(string fname, string source, ErrorNodeList errors, Compilation compilation, AuthoringSink sink){
      this.parsingStatement = false;
      if (fname == null || source == null || errors == null || compilation == null){Debug.Assert(false); return null;}
      if (compilation != null && compilation.CompilerParameters is SpecSharpCompilerOptions)
        this.allowSpecSharpExtensions = !((SpecSharpCompilerOptions)compilation.CompilerParameters).Compatibility;
      CompilationUnit cu;
#if Xaml
      if (fname.Length > 5 && string.Compare(fname, fname.Length-5, ".xaml", 0, 5, true, CultureInfo.InvariantCulture) == 0){
        Document xamlDocument = Microsoft.XamlCompiler.Compiler.CreateXamlDocument(fname, 1, new DocumentText(source));
        Microsoft.XamlCompiler.ErrorHandler xamlErrorHandler = new Microsoft.XamlCompiler.ErrorHandler(errors);
        Microsoft.XamlCompiler.Compiler xamlCompiler =
          new Microsoft.XamlCompiler.Compiler(xamlDocument, compilation.TargetModule, xamlErrorHandler, new ParserFactory(), compilation.CompilerParameters as CompilerOptions);
        cu = xamlCompiler.GetCompilationUnit();
      }else{
#endif
        Parser p = new Parser(compilation.TargetModule);
        cu = p.ParseCompilationUnit(source, fname, compilation.CompilerParameters, errors, sink);
        if (cu != null) cu.Compilation = compilation;
        this.parsingStatement = p.parsingStatement;
#if Xaml
      }
#endif
      this.partialCompilationUnit = cu;
      return cu;
    }