Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does VB.NET not allow line continuations over commented-out lines?

Tags:

syntax

vb.net

I just had this throw a compilation error while refactoring some legacy (hence VB.NET) unit tests, where I wanted to just comment out one of the sample inputs to MBUnit:

<RowTest> _
'<Row("Something")> _
<Row("SomethingElse")> _

Which gave:

Attribute specifier is not a complete statement. Use a line continuation to apply the 
attribute to the following statement.

Is it actually treating the whitespace/commented-out line as an actual line? Generally, when I gripe about VB.NET, I preface it with, "Now, I wouldn't want to be the guy writing their grammar, but..." This seems like one of those cases where I don't know the answer, if I'm right. But I do know want to know the answer, in this case.

like image 424
Marc Bollinger Avatar asked Jun 25 '10 21:06

Marc Bollinger


1 Answers

Yes, as far as I understand it, the problem is that your first line continuation adds the commented out line as part of the first line, and then the line continuation character on the commented out line is ignored since it's part of a comment so it ends up being:

<RowTest> '<Row("Something")> _  <-- this line continuation character is ignored since it's commented out.
<Row("SomethingElse")> _

What would be needed to support this would be a way to end a comment other than a newline, but as it's usually not a problem and I think it would affect the compiling speed etc quite a bit since it would make it have to parse all comments I suppose it's not seen as worthwhile.

like image 163
Hans Olsson Avatar answered Oct 14 '22 10:10

Hans Olsson