Quantcast
Channel: Microsoft "Roslyn" CTP forum
Viewing all articles
Browse latest Browse all 504

Exception : Replace string literal with method call

$
0
0

Hi,

I want to replace a string with method call. For example,

string s="Hello World";

with 

string s =this.GetHelloWorld();

I have created an ExpressionStatementSyntax with the method call in SymbolNode 'newNode'. Now I have the reference to LiteralExpressionSytax "Hello World" in oldNode.

When I try to replace the code using

tree.GetRoot().ReplaceNode(oldNode, newNode), I get the following exception

System.InvalidCastException was unhandled
  HResult=-2147467262
  Message=Unable to cast object of type 'Roslyn.Compilers.CSharp.ExpressionStatementSyntax' to type 'Roslyn.Compilers.CSharp.ExpressionSyntax'.
  Source=Roslyn.Compilers.CSharp
  StackTrace:
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitEqualsValueClause(EqualsValueClauseSyntax node)
       at Roslyn.Compilers.CSharp.EqualsValueClauseSyntax.Accept[TResult](SyntaxVisitor`1 visitor)
       at Roslyn.Compilers.CSharp.SyntaxVisitor`1.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxNodeReplacer.SingleNodeReplacer.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitVariableDeclarator(VariableDeclaratorSyntax node)
       at Roslyn.Compilers.CSharp.VariableDeclaratorSyntax.Accept[TResult](SyntaxVisitor`1 visitor)
       at Roslyn.Compilers.CSharp.SyntaxVisitor`1.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxNodeReplacer.SingleNodeReplacer.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitListElement[TNode](TNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitList[TNode](SeparatedSyntaxList`1 list)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitVariableDeclaration(VariableDeclarationSyntax node)
       at Roslyn.Compilers.CSharp.VariableDeclarationSyntax.Accept[TResult](SyntaxVisitor`1 visitor)
       at Roslyn.Compilers.CSharp.SyntaxVisitor`1.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxNodeReplacer.SingleNodeReplacer.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitLocalDeclarationStatement(LocalDeclarationStatementSyntax node)
       at Roslyn.Compilers.CSharp.LocalDeclarationStatementSyntax.Accept[TResult](SyntaxVisitor`1 visitor)
       at Roslyn.Compilers.CSharp.SyntaxVisitor`1.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxNodeReplacer.SingleNodeReplacer.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitListElement[TNode](TNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitBlock(BlockSyntax node)
       at Roslyn.Compilers.CSharp.BlockSyntax.Accept[TResult](SyntaxVisitor`1 visitor)
       at Roslyn.Compilers.CSharp.SyntaxVisitor`1.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxNodeReplacer.SingleNodeReplacer.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitMethodDeclaration(MethodDeclarationSyntax node)
       at Roslyn.Compilers.CSharp.MethodDeclarationSyntax.Accept[TResult](SyntaxVisitor`1 visitor)
       at Roslyn.Compilers.CSharp.SyntaxVisitor`1.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxNodeReplacer.SingleNodeReplacer.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitListElement[TNode](TNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitClassDeclaration(ClassDeclarationSyntax node)
       at Roslyn.Compilers.CSharp.ClassDeclarationSyntax.Accept[TResult](SyntaxVisitor`1 visitor)
       at Roslyn.Compilers.CSharp.SyntaxVisitor`1.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxNodeReplacer.SingleNodeReplacer.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitListElement[TNode](TNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitNamespaceDeclaration(NamespaceDeclarationSyntax node)
       at Roslyn.Compilers.CSharp.NamespaceDeclarationSyntax.Accept[TResult](SyntaxVisitor`1 visitor)
       at Roslyn.Compilers.CSharp.SyntaxVisitor`1.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxNodeReplacer.SingleNodeReplacer.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitListElement[TNode](TNode node)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitList[TNode](SyntaxList`1 list)
       at Roslyn.Compilers.CSharp.SyntaxRewriter.VisitCompilationUnit(CompilationUnitSyntax node)
       at Roslyn.Compilers.CSharp.CompilationUnitSyntax.Accept[TResult](SyntaxVisitor`1 visitor)
       at Roslyn.Compilers.CSharp.SyntaxVisitor`1.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxNodeReplacer.SingleNodeReplacer.Visit(SyntaxNode node)
       at Roslyn.Compilers.CSharp.SyntaxNodeReplacer.Replace[TRoot,TNode](TRoot root, TNode oldNode, TNode newNode)
       at Roslyn.Compilers.CSharp.SyntaxNode.ReplaceNodeCore(CommonSyntaxNode oldNode, CommonSyntaxNode newNode)
       at Roslyn.Compilers.CommonSyntaxNodeExtensions.ReplaceNode[TRoot,TNode](TRoot root, TNode oldNode, TNode newNode)
       at GDGlobalizationApp.Program.Main(String[] args) in c:\Users\prathulp\Documents\Visual Studio 2012\Projects\GDGlobalizationApp\GDGlobalizationApp\Program.cs:line 27
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: 


Viewing all articles
Browse latest Browse all 504

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>