Note that there are some explanatory texts on larger screens.

plurals
  1. POInvalidProgramException when trying to parse VB.Net code with Roslyn
    text
    copied!<p>I'm trying to parse VB.Net code using Roslyn, but it keeps throwing the <code>InvalidProgramException</code> (Jit compiler encountered a limitation..). A similar code works perfectly with C#.</p> <p>This is my code:</p> <pre class="lang-cs prettyprint-override"><code>var source = "Public Module Module1 \r\n Public Sub X() \r\n End Sub \r\n End Module"; var syntaxTree = Roslyn.Compilers.VisualBasic.SyntaxTree.ParseText(source); var compilation = Roslyn.Compilers.VisualBasic.Compilation.Create("MyCompilation", syntaxTrees: new[] {syntaxTree}); var semanticModel = compilation.GetSemanticModel(syntaxTree); </code></pre> <p>The exception is thrown on the last line.</p> <p><strong>Update</strong> Here's the stack trace:</p> <pre><code>System.InvalidProgramException: JIT Compiler encountered an internal limitation. HResult: -2146233030 в Roslyn.Compilers.VisualBasic.SeparatedSyntaxList`1..ctor(SyntaxNode node, Int32 index) в Roslyn.Compilers.VisualBasic.CompilationUnitSyntax.get_Members() в Roslyn.Compilers.VisualBasic.DeclarationTreeBuilder.VisitCompilationUnit(CompilationUnitSyntax node) в Roslyn.Compilers.VisualBasic.CompilationUnitSyntax.Accept[TResult](SyntaxVisitor`1 visitor) в Roslyn.Compilers.VisualBasic.SyntaxVisitor`1.Visit(SyntaxNode node) в Roslyn.Compilers.VisualBasic.DeclarationTreeBuilder.ForDeclaration(SyntaxNode node) в Roslyn.Compilers.VisualBasic.DeclarationTreeBuilder.ForTree(SyntaxTree tree, ReadOnlyArray`1 rootNamespace, String scriptClassName, Boolean isSubmission) в Roslyn.Compilers.VisualBasic.Compilation.ForTree(SyntaxTree tree, CompilationOptions options, Boolean isSubmission) в Roslyn.Compilers.VisualBasic.Compilation._Closure$__11._Lambda$__59() в System.Lazy`1.CreateValue() в System.Lazy`1.LazyInitValue() в System.Lazy`1.get_Value() в Roslyn.Compilers.VisualBasic.DeclarationTable.GetLatestRootDeclarationIfAny(Boolean includeEmbedded) в Roslyn.Compilers.VisualBasic.DeclarationTable.GetMergedReferenceDirectives() в System.Lazy`1.CreateValue() в System.Lazy`1.LazyInitValue() в System.Lazy`1.get_Value() в Roslyn.Compilers.VisualBasic.DeclarationTable.get_ReferenceDirectives() в Roslyn.Compilers.VisualBasic.Compilation.get_ReferenceDirectives() в Roslyn.Compilers.CommonAssemblyManager`3.GetCompilationReferences(TCompilation compilation, DiagnosticBag diagnostics, List`1 references, IDictionary`2&amp; boundReferenceDirectives, List`1&amp; referenceDirectiveLocations) в Roslyn.Compilers.CommonAssemblyManager`3.ResolveMetadataReferences(TCompilation compilation, List`1 references, IDictionary`2&amp; boundReferenceDirectiveMap, ReadOnlyArray`1&amp; boundReferenceDirectives, List`1 assemblies, List`1 modules, DiagnosticBag diagnostics) в Roslyn.Compilers.VisualBasic.Compilation.AssemblyManager.CreateSourceAssemblyForCompilation(Compilation compilation, Dictionary`2&amp; referencedAssembliesMap, Dictionary`2&amp; referencedModulesMap, IDictionary`2&amp; boundReferenceDirectiveMap, ReadOnlyArray`1&amp; boundReferenceDirectives, SourceAssemblySymbol&amp; assemblySymbol, DiagnosticBag&amp; diagnostics) в Roslyn.Compilers.VisualBasic.Compilation.AssemblyManager.CreateSourceAssemblyForCompilation(Compilation compilation) в Roslyn.Compilers.VisualBasic.Compilation.EnsureSourceAssemblyCreated() в Roslyn.Compilers.VisualBasic.Compilation.get_SourceAssembly() в Roslyn.Compilers.VisualBasic.Compilation.get_Assembly() в Roslyn.Compilers.VisualBasic.Compilation.get_SourceModule() в Roslyn.Compilers.VisualBasic.Compilation.GetSemanticModel(SyntaxTree syntaxTree) </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload