/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Compilers/VisualBasic/Test/Emit/PDB/PDBExternalSourceDirectiveTests.vb
805 строк
30 KB
Julien Couvreur
Warn for multiple blank lines in source (#65451)
17 ноя 2022, 22:55
Не верифицирован
17 ноя 2022, 22:55
a8824e8
Код
Авторство
О чём код?
' Licensed to the .NET Foundation under one or more agreements. ' The .NET Foundation licenses this file to you under the MIT license. ' See the LICENSE file in the project root for more information. Imports Microsoft.CodeAnalysis.Emit Imports Microsoft.CodeAnalysis.Test.Utilities Imports Roslyn.Test.Utilities Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests.PDB Public Class PDBExternalSourceDirectiveTests Inherits BasicTestBase <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> <WorkItem(50611, "https://github.com/dotnet/roslyn/issues/50611")> Public Sub TwoMethodsOnlyOneWithMapping() Dim source = <compilation> <file name="a.vb"> Option Strict On Option Infer Off Option Explicit Off Imports System Imports System.Collections.Generic Class C1 Public Shared Sub FooInvisible() dim str as string = "World!" Console.WriteLine("Hello " & str) End Sub Public Shared Sub Main() Console.WriteLine("Hello World") #ExternalSource("C:\abc\def.vb", 23) Console.WriteLine("Hello World") #End ExternalSource Console.WriteLine("Hello World") End Sub End Class </file> </compilation> Dim compilation = CreateCompilationWithMscorlib40AndVBRuntime(source, TestOptions.DebugExe) ' Care about the fact that there is no file reference to a.vb ' Care about the fact that C1.FooInvisible doesn't include any sequence points compilation.VerifyPdb( <symbols> <files> <file id="1" name="a.vb" language="VB" checksumAlgorithm="SHA1" checksum="70-82-DD-9A-57-B3-BE-57-7E-E8-B4-AE-B8-1E-1B-75-38-9D-13-C9"/> <file id="2" name="C:\abc\def.vb" language="VB"/> </files> <entryPoint declaringType="C1" methodName="Main"/> <methods> <method containingType="C1" name="FooInvisible"> <customDebugInfo> <encLocalSlotMap> <slot kind="0" offset="4"/> </encLocalSlotMap> </customDebugInfo> </method> <method containingType="C1" name="Main"> <sequencePoints> <entry offset="0x0" hidden="true" document="2"/> <entry offset="0x1" hidden="true" document="2"/> <entry offset="0xc" startLine="23" startColumn="9" endLine="23" endColumn="41" document="2"/> <entry offset="0x17" hidden="true" document="2"/> <entry offset="0x22" hidden="true" document="2"/> </sequencePoints> </method> </methods> </symbols>, format:=DebugInformationFormat.PortablePdb) End Sub <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> <WorkItem(50611, "https://github.com/dotnet/roslyn/issues/50611")> Public Sub TwoMethodsOnlyOneWithMultipleMappingsAndRewriting() Dim source = <compilation> <file name="a.vb"> Option Strict On Option Infer Off Option Explicit Off Imports System Imports System.Collections.Generic Class C1 Public Shared Sub FooInvisible() dim str as string = "World!" Console.WriteLine("Hello " & str) End Sub Public Shared Sub Main() Console.WriteLine("Hello World") #ExternalSource("C:\abc\def.vb", 23) Console.WriteLine("Hello World") Console.WriteLine("Hello World") #End ExternalSource #ExternalSource("C:\abc\def2.vb", 42) ' check that there are normal and hidden sequence points with mapping present ' because a for each will be rewritten for each i in new Integer() {1, 2, 3} Console.WriteLine(i) next i #End ExternalSource Console.WriteLine("Hello World") ' hidden sequence points of rewritten statements will survive *iiks*. for each i in new Integer() {1, 2, 3} Console.WriteLine(i) next i End Sub End Class </file> </compilation> Dim compilation = CreateCompilationWithMscorlib40AndVBRuntime(source, TestOptions.DebugExe) ' Care about the fact that C1.FooInvisible doesn't include any sequence points ' Care about the fact that there is no file reference to a.vb compilation.VerifyPdb( <symbols> <files> <file id="1" name="a.vb" language="VB" checksumAlgorithm="SHA1" checksum="DB-A9-94-EF-BC-DF-10-C9-60-0F-C0-C4-9F-E4-77-F9-37-CF-E1-CE"/> <file id="2" name="C:\abc\def.vb" language="VB"/> <file id="3" name="C:\abc\def2.vb" language="VB"/> </files> <entryPoint declaringType="C1" methodName="Main"/> <methods> <method containingType="C1" name="FooInvisible"> <customDebugInfo> <encLocalSlotMap> <slot kind="0" offset="4"/> </encLocalSlotMap> </customDebugInfo> </method> <method containingType="C1" name="Main"> <customDebugInfo> <encLocalSlotMap> <slot kind="0" offset="372"/> <slot kind="6" offset="363"/> <slot kind="8" offset="363"/> <slot kind="1" offset="363"/> <slot kind="6" offset="606"/> <slot kind="8" offset="606"/> <slot kind="1" offset="606"/> </encLocalSlotMap> </customDebugInfo> <sequencePoints> <entry offset="0x0" hidden="true" document="2"/> <entry offset="0x1" hidden="true" document="2"/> <entry offset="0xc" startLine="23" startColumn="9" endLine="23" endColumn="41" document="2"/> <entry offset="0x17" startLine="24" startColumn="9" endLine="24" endColumn="41" document="2"/> <entry offset="0x22" startLine="44" startColumn="9" endLine="44" endColumn="46" document="3"/> <entry offset="0x36" hidden="true" document="3"/> <entry offset="0x41" startLine="45" startColumn="13" endLine="45" endColumn="33" document="3"/> <entry offset="0x4d" startLine="46" startColumn="9" endLine="46" endColumn="15" document="3"/> <entry offset="0x4e" hidden="true" document="3"/> <entry offset="0x52" hidden="true" document="3"/> <entry offset="0x59" hidden="true" document="3"/> <entry offset="0x5c" hidden="true" document="3"/> <entry offset="0x67" hidden="true" document="3"/> <entry offset="0x7d" hidden="true" document="3"/> <entry offset="0x8a" hidden="true" document="3"/> <entry offset="0x96" hidden="true" document="3"/> <entry offset="0x97" hidden="true" document="3"/> <entry offset="0x9d" hidden="true" document="3"/> <entry offset="0xa7" hidden="true" document="3"/> <entry offset="0xab" hidden="true" document="3"/> </sequencePoints> <scope startOffset="0x0" endOffset="0xac"> <local name="i" il_index="0" il_start="0x0" il_end="0xac" attributes="0"/> </scope> </method> </methods> </symbols>, format:=DebugInformationFormat.PortablePdb) End Sub <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> Public Sub EmptyExternalSourceWillBeIgnored() Dim source = <compilation> <file name="a.vb"> Option Strict On Option Infer Off Option Explicit Off Imports System Imports System.Collections.Generic Class C1 Public Shared Sub FooInvisible() dim str as string = "World!" Console.WriteLine("Hello " & str) End Sub Public Shared Sub Main() Console.WriteLine("Hello World") #ExternalSource("C:\abc\def.vb", 23) #End ExternalSource Console.WriteLine("Hello World") End Sub End Class </file> </compilation> Dim compilation = CreateCompilationWithMscorlib40AndVBRuntime(source, TestOptions.DebugExe) compilation.VerifyPdb( <symbols> <files> <file id="1" name="a.vb" language="VB" checksumAlgorithm="SHA1" checksum="EE-47-B3-F6-59-FA-0D-E8-DF-B2-26-6A-7D-82-D3-52-3E-0C-36-E1"/> </files> <entryPoint declaringType="C1" methodName="Main"/> <methods> <method containingType="C1" name="FooInvisible"> <customDebugInfo> <encLocalSlotMap> <slot kind="0" offset="4"/> </encLocalSlotMap> </customDebugInfo> <sequencePoints> <entry offset="0x0" startLine="9" startColumn="5" endLine="9" endColumn="37" document="1"/> <entry offset="0x1" startLine="10" startColumn="13" endLine="10" endColumn="37" document="1"/> <entry offset="0x7" startLine="11" startColumn="9" endLine="11" endColumn="42" document="1"/> <entry offset="0x18" startLine="12" startColumn="5" endLine="12" endColumn="12" document="1"/> </sequencePoints> <scope startOffset="0x0" endOffset="0x19"> <namespace name="System" importlevel="file"/> <namespace name="System.Collections.Generic" importlevel="file"/> <currentnamespace name=""/> <local name="str" il_index="0" il_start="0x0" il_end="0x19" attributes="0"/> </scope> </method> <method containingType="C1" name="Main"> <sequencePoints> <entry offset="0x0" startLine="14" startColumn="5" endLine="14" endColumn="29" document="1"/> <entry offset="0x1" startLine="15" startColumn="9" endLine="15" endColumn="41" document="1"/> <entry offset="0xc" startLine="20" startColumn="9" endLine="20" endColumn="41" document="1"/> <entry offset="0x17" startLine="21" startColumn="5" endLine="21" endColumn="12" document="1"/> </sequencePoints> <scope startOffset="0x0" endOffset="0x18"> <importsforward declaringType="C1" methodName="FooInvisible"/> </scope> </method> </methods> </symbols>) End Sub <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> Public Sub MultipleEmptyExternalSourceWillBeIgnored() Dim source = <compilation> <file name="a.vb"> Option Strict On Option Infer Off Option Explicit Off Imports System Imports System.Collections.Generic Class C1 Public Shared Sub FooInvisible() dim str as string = "World!" Console.WriteLine("Hello " & str) End Sub Public Shared Sub Main() #ExternalSource("C:\abc\def.vb", 21) #End ExternalSource Console.WriteLine("Hello World") #ExternalSource("C:\abc\def.vb", 22) #End ExternalSource Console.WriteLine("Hello World") #ExternalSource("C:\abc\def.vb", 23) #End ExternalSource End Sub End Class </file> </compilation> Dim compilation = CreateCompilationWithMscorlib40AndVBRuntime(source, TestOptions.DebugExe) compilation.VerifyPdb( <symbols> <files> <file id="1" name="a.vb" language="VB" checksumAlgorithm="SHA1" checksum="B9-85-76-74-1E-E7-27-25-F7-8A-CB-A2-B1-9C-A4-CD-FD-49-8C-B7"/> </files> <entryPoint declaringType="C1" methodName="Main"/> <methods> <method containingType="C1" name="FooInvisible"> <customDebugInfo> <encLocalSlotMap> <slot kind="0" offset="4"/> </encLocalSlotMap> </customDebugInfo> <sequencePoints> <entry offset="0x0" startLine="9" startColumn="5" endLine="9" endColumn="37" document="1"/> <entry offset="0x1" startLine="10" startColumn="13" endLine="10" endColumn="37" document="1"/> <entry offset="0x7" startLine="11" startColumn="9" endLine="11" endColumn="42" document="1"/> <entry offset="0x18" startLine="12" startColumn="5" endLine="12" endColumn="12" document="1"/> </sequencePoints> <scope startOffset="0x0" endOffset="0x19"> <namespace name="System" importlevel="file"/> <namespace name="System.Collections.Generic" importlevel="file"/> <currentnamespace name=""/> <local name="str" il_index="0" il_start="0x0" il_end="0x19" attributes="0"/> </scope> </method> <method containingType="C1" name="Main"> <sequencePoints> <entry offset="0x0" startLine="14" startColumn="5" endLine="14" endColumn="29" document="1"/> <entry offset="0x1" startLine="18" startColumn="9" endLine="18" endColumn="41" document="1"/> <entry offset="0xc" startLine="23" startColumn="9" endLine="23" endColumn="41" document="1"/> <entry offset="0x17" startLine="27" startColumn="5" endLine="27" endColumn="12" document="1"/> </sequencePoints> <scope startOffset="0x0" endOffset="0x18"> <importsforward declaringType="C1" methodName="FooInvisible"/> </scope> </method> </methods> </symbols>) End Sub <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> Public Sub MultipleEmptyExternalSourceWithNonEmptyExternalSource() Dim source = <compilation> <file name="a.vb"> Option Strict On Option Infer Off Option Explicit Off Imports System Imports System.Collections.Generic Class C1 Public Shared Sub FooInvisible() dim str as string = "World!" Console.WriteLine("Hello " & str) End Sub Public Shared Sub Main() #ExternalSource("C:\abc\def.vb", 21) #End ExternalSource Console.WriteLine("Hello World") #ExternalSource("C:\abc\def.vb", 22) #End ExternalSource Console.WriteLine("Hello World") #ExternalSource("C:\abc\def.vb", 23) ' boo! #End ExternalSource End Sub End Class </file> </compilation> Dim compilation = CreateCompilationWithMscorlib40AndVBRuntime(source, TestOptions.DebugExe) ' Care about the fact that there are no sequence points or referenced files compilation.VerifyPdb( <symbols> <files> <file id="1" name="a.vb" language="VB" checksumAlgorithm="SHA1" checksum="B6-80-9E-65-43-38-00-C1-35-7F-AE-D0-60-F2-24-44-A8-11-C2-63"/> </files> <entryPoint declaringType="C1" methodName="Main"/> <methods> <method containingType="C1" name="FooInvisible"> <customDebugInfo> <encLocalSlotMap> <slot kind="0" offset="4"/> </encLocalSlotMap> </customDebugInfo> </method> <method containingType="C1" name="Main" format="windows"> <scope startOffset="0x0" endOffset="0x18"> <namespace name="System" importlevel="file"/> <namespace name="System.Collections.Generic" importlevel="file"/> <currentnamespace name=""/> </scope> </method> </methods> </symbols>, ' Since the CDI is not emitted to Portable PDB it won't be present in the converted Windows PDB. options:=PdbValidationOptions.SkipConversionValidation) End Sub <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> Public Sub MultipleEmptyExternalSourceWithNonEmptyExternalSourceFollowedByEmptyExternalSource() Dim source = <compilation> <file name="a.vb"> Option Strict On Option Infer Off Option Explicit Off Imports System Imports System.Collections.Generic Class C1 Public Shared Sub FooInvisible() dim str as string = "World!" Console.WriteLine("Hello " & str) End Sub Public Shared Sub Main() #ExternalSource("C:\abc\def.vb", 21) #End ExternalSource Console.WriteLine("Hello World") #ExternalSource("C:\abc\def.vb", 22) #End ExternalSource Console.WriteLine("Hello World") #ExternalSource("C:\abc\def.vb", 23) #End ExternalSource Console.WriteLine("Hello World") End Sub End Class </file> </compilation> Dim compilation = CreateCompilationWithMscorlib40AndVBRuntime(source, TestOptions.DebugExe) ' Care about the fact that C1.FooInvisible and C1.Main include no sequence points ' Care about the fact that no files are referenced compilation.VerifyPdb( <symbols> <files> <file id="1" name="a.vb" language="VB" checksumAlgorithm="SHA1" checksum="73-05-84-40-AC-E0-15-63-CC-FE-BD-9A-99-23-AA-BD-24-40-24-44"/> </files> <entryPoint declaringType="C1" methodName="Main"/> <methods> <method containingType="C1" name="FooInvisible"> <customDebugInfo> <encLocalSlotMap> <slot kind="0" offset="4"/> </encLocalSlotMap> </customDebugInfo> </method> <method containingType="C1" name="Main" format="windows"> <scope startOffset="0x0" endOffset="0x23"> <namespace name="System" importlevel="file"/> <namespace name="System.Collections.Generic" importlevel="file"/> <currentnamespace name=""/> </scope> </method> </methods> </symbols>, options:=PdbValidationOptions.SkipConversionValidation) ' When converting from Portable to Windows the PDB writer doesn't create an entry for the Main method ' and thus there Is no entry point record either. End Sub <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> <WorkItem(50611, "https://github.com/dotnet/roslyn/issues/50611")> Public Sub TestPartialClassFieldInitializersWithExternalSource() Dim source = <compilation> <file name="C:\Abc\ACTUAL.vb"> #ExternalSource("C:\abc\def1.vb", 41) Option strict on imports system partial Class C1 public f1 as integer = 23 #End ExternalSource #ExternalSource("C:\abc\def1.vb", 10) Public sub DumpFields() Console.WriteLine(f1) Console.WriteLine(f2) End Sub #End ExternalSource #ExternalSource("C:\abc\def1.vb", 1) Public shared Sub Main(args() as string) Dim c as new C1 c.DumpFields() End sub #End ExternalSource End Class Class InActual public f1 as integer = 23 end Class #ExternalChecksum("C:\abc\def2.vb", "{406EA660-64CF-4C82-B6F0-42D48172A799}", "1234") #ExternalChecksum("BOGUS.vb", "{406EA660-64CF-4C82-B6F0-42D48172A799}", "1234") #ExternalChecksum("C:\Abc\ACTUAL.vb", "{406EA660-64CF-4C82-B6F0-42D48172A799}", "6789") </file> <file name="b.vb"> Option strict on imports system partial Class C1 #ExternalSource("C:\abc\def2.vb", 23) ' more lines to see a different span in the sequence points ... public f2 as integer = 42 #End ExternalSource #ExternalChecksum("BOGUS.vb", "{406EA660-64CF-4C82-B6F0-42D48172A799}", "1234") #ExternalChecksum("C:\Abc\ACTUAL.vb", "{406EA660-64CF-4C82-B6F0-42D48172A799}", "6789") End Class </file> </compilation> Dim compilation = CreateCompilationWithMscorlib40AndVBRuntime(source, TestOptions.DebugExe) ' Care about the fact that InActual.ctor includes no sequence points ' Care about the fact that there is no file reference to ACTUAL.vb compilation.VerifyPdb( <symbols> <files> <file id="1" name="C:\Abc\ACTUAL.vb" language="VB" checksumAlgorithm="SHA1" checksum="27-52-E9-85-5A-AC-31-05-A5-6F-70-40-55-3A-9C-43-D2-07-0D-4B"/> <file id="2" name="b.vb" language="VB" checksumAlgorithm="SHA1" checksum="7F-D8-35-3F-B4-08-17-37-3E-37-30-26-2A-3F-0C-20-6F-48-2A-7A"/> <file id="3" name="C:\abc\def1.vb" language="VB"/> <file id="4" name="C:\abc\def2.vb" language="VB" checksumAlgorithm="406ea660-64cf-4c82-b6f0-42d48172a799" checksum="12-34"/> <file id="5" name="BOGUS.vb" language="VB" checksumAlgorithm="406ea660-64cf-4c82-b6f0-42d48172a799" checksum="12-34"/> </files> <entryPoint declaringType="C1" methodName="Main" parameterNames="args"/> <methods> <method containingType="C1" name=".ctor"> <sequencePoints> <entry offset="0x0" hidden="true" document="3"/> <entry offset="0x7" startLine="46" startColumn="12" endLine="46" endColumn="30" document="3"/> <entry offset="0xf" startLine="27" startColumn="36" endLine="27" endColumn="54" document="4"/> </sequencePoints> </method> <method containingType="C1" name="DumpFields"> <sequencePoints> <entry offset="0x0" startLine="10" startColumn="5" endLine="10" endColumn="28" document="3"/> <entry offset="0x1" startLine="11" startColumn="9" endLine="11" endColumn="30" document="3"/> <entry offset="0xd" startLine="12" startColumn="9" endLine="12" endColumn="30" document="3"/> <entry offset="0x19" startLine="13" startColumn="5" endLine="13" endColumn="12" document="3"/> </sequencePoints> </method> <method containingType="C1" name="Main" parameterNames="args"> <customDebugInfo> <encLocalSlotMap> <slot kind="0" offset="4"/> </encLocalSlotMap> </customDebugInfo> <sequencePoints> <entry offset="0x0" startLine="1" startColumn="5" endLine="1" endColumn="45" document="3"/> <entry offset="0x1" startLine="2" startColumn="13" endLine="2" endColumn="24" document="3"/> <entry offset="0x7" startLine="3" startColumn="9" endLine="3" endColumn="23" document="3"/> <entry offset="0xe" startLine="4" startColumn="5" endLine="4" endColumn="12" document="3"/> </sequencePoints> <scope startOffset="0x0" endOffset="0xf"> <local name="c" il_index="0" il_start="0x0" il_end="0xf" attributes="0"/> </scope> </method> </methods> </symbols>, format:=DebugInformationFormat.PortablePdb) End Sub <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> Public Sub IllegalExternalSourceUsageShouldNotAssert_1() Dim source = <compilation> <file name="a.vb"> Option strict on public Class C1 #ExternalSource("bar1.vb", 41) #ExternalSource("bar1.vb", 41) public shared sub main() End sub #End ExternalSource #End ExternalSource boo End Class </file> </compilation> Dim compilation = CompilationUtils.CreateCompilationWithMscorlib40AndVBRuntime( source, TestOptions.ReleaseExe).VerifyDiagnostics(Diagnostic(ERRID.ERR_NestedExternalSource, "#ExternalSource(""bar1.vb"", 41)"), Diagnostic(ERRID.ERR_EndExternalSource, "#End ExternalSource")) End Sub <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> Public Sub IllegalExternalSourceUsageShouldNotAssert_2() Dim source = <compilation> <file name="a.vb"> Option strict on public Class C1 #End ExternalSource #End ExternalSource public shared sub main() End sub boo End Class </file> </compilation> Dim compilation = CompilationUtils.CreateCompilationWithMscorlib40AndVBRuntime( source, TestOptions.ReleaseExe).VerifyDiagnostics(Diagnostic(ERRID.ERR_EndExternalSource, "#End ExternalSource"), Diagnostic(ERRID.ERR_EndExternalSource, "#End ExternalSource"), Diagnostic(ERRID.ERR_ExpectedDeclaration, "boo")) End Sub <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> Public Sub IllegalExternalSourceUsageShouldNotAssert_3() Dim source = <compilation> <file name="a.vb"> Option strict on public Class C1 #End ExternalSource #ExternalSource("bar1.vb", 23) public shared sub main() End sub boo End Class </file> </compilation> Dim compilation = CompilationUtils.CreateCompilationWithMscorlib40AndVBRuntime( source, TestOptions.ReleaseExe).VerifyDiagnostics(Diagnostic(ERRID.ERR_EndExternalSource, "#End ExternalSource"), Diagnostic(ERRID.ERR_ExpectedEndExternalSource, "#ExternalSource(""bar1.vb"", 23)"), Diagnostic(ERRID.ERR_ExpectedDeclaration, "boo")) End Sub <WorkItem(545302, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/545302")> <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> Public Sub IllegalExternalSourceUsageShouldNotAssert_4() Dim source = <compilation> <file name="a.vb"> Module Program Sub Main() #ExternalSource ("bar1.vb", 23) #ExternalSource ("bar1.vb", 23) System.Console.WriteLine("boo") #End ExternalSource End Sub End Module </file> </compilation> Dim compilation = CompilationUtils.CreateCompilationWithMscorlib40AndVBRuntime( source, TestOptions.ReleaseExe).VerifyDiagnostics(Diagnostic(ERRID.ERR_NestedExternalSource, "#ExternalSource (""bar1.vb"", 23)")) End Sub <WorkItem(545307, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/545307")> <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> Public Sub OverflowLineNumbers() Dim source = <compilation> <file name="a.vb"> Option Strict On Imports System Imports System.Collections.Generic Module Program Public Sub Main() Console.WriteLine("Hello World") #ExternalSource("C:\abc\def.vb", 0) Console.WriteLine("Hello World") #End ExternalSource #ExternalSource("C:\abc\def.vb", 1) Console.WriteLine("Hello World") #End ExternalSource #ExternalSource("C:\abc\def.vb", 2147483647) Console.WriteLine("Hello World") #End ExternalSource #ExternalSource("C:\abc\def.vb", 2147483648) Console.WriteLine("Hello World") #End ExternalSource #ExternalSource("C:\abc\def.vb", 2147483649) Console.WriteLine("Hello World") #End ExternalSource #ExternalSource("C:\abc\def.vb", &hfeefed) Console.WriteLine("Hello World") #End ExternalSource Console.WriteLine("Hello World") End Sub End Module </file> </compilation> Dim compilation = CreateCompilationWithMscorlib40AndVBRuntime(source, TestOptions.DebugExe) ' Care about the fact that there is no document reference to a.vb compilation.VerifyPdb( <symbols> <files> <file id="1" name="C:\abc\def.vb" language="VB"/> <file id="2" name="a.vb" language="VB" checksumAlgorithm="SHA1" checksum="D2-FF-05-F8-B7-A2-25-B0-96-D9-97-2F-05-F8-F0-B5-81-8D-98-1D"/> </files> <entryPoint declaringType="Program" methodName="Main"/> <methods> <method containingType="Program" name="Main"> <sequencePoints> <entry offset="0x0" hidden="true" document="1"/> <entry offset="0x1" hidden="true" document="1"/> <entry offset="0xc" startLine="0" startColumn="9" endLine="0" endColumn="41" document="1"/> <entry offset="0x17" startLine="1" startColumn="9" endLine="1" endColumn="41" document="1"/> <entry offset="0x22" startLine="16777215" startColumn="9" endLine="16777215" endColumn="41" document="1"/> <entry offset="0x2d" startLine="16777215" startColumn="9" endLine="16777215" endColumn="41" document="1"/> <entry offset="0x38" startLine="16777215" startColumn="9" endLine="16777215" endColumn="41" document="1"/> <entry offset="0x43" startLine="16707565" startColumn="9" endLine="16707565" endColumn="41" document="1"/> <entry offset="0x4e" hidden="true" document="1"/> <entry offset="0x59" hidden="true" document="1"/> </sequencePoints> <scope startOffset="0x0" endOffset="0x5a"> <namespace name="System" importlevel="file"/> <namespace name="System.Collections.Generic" importlevel="file"/> <currentnamespace name=""/> </scope> </method> </methods> </symbols>, format:=DebugInformationFormat.Pdb) End Sub <WorkItem(846584, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/846584")> <WorkItem(50611, "https://github.com/dotnet/roslyn/issues/50611")> <ConditionalFact(GetType(WindowsOnly), Reason:=ConditionalSkipReason.NativePdbRequiresDesktop)> Public Sub RelativePathForExternalSource() Dim source = <compilation> <file name="C:\Folder1\Folder2\Test1.vb"> #ExternalChecksum("..\Test2.vb","{406ea660-64cf-4c82-b6f0-42d48172a799}","DB788882721B2B27C90579D5FE2A0418") Class Test1 Sub Main() #ExternalSource("..\Test2.vb",4) Main() #End ExternalSource End Sub End Class </file> </compilation> Dim compilation = CreateCompilationWithMscorlib40AndVBRuntime( source, TestOptions.DebugDll.WithSourceReferenceResolver(SourceFileResolver.Default)) ' Care about the fact that there is no document reference to C:\Folder1\Folder2\Test1.vb compilation.VerifyPdb( <symbols> <files> <file id="1" name="C:\Folder1\Folder2\Test1.vb" language="VB" checksumAlgorithm="SHA1" checksum="B9-49-3D-62-89-9B-B2-2F-B6-72-90-A1-2D-01-11-89-B4-C2-83-B4"/> <file id="2" name="C:\Folder1\Test2.vb" language="VB" checksumAlgorithm="406ea660-64cf-4c82-b6f0-42d48172a799" checksum="DB-78-88-82-72-1B-2B-27-C9-05-79-D5-FE-2A-04-18"/> </files> <methods> <method containingType="Test1" name="Main"> <sequencePoints> <entry offset="0x0" hidden="true" document="2"/> <entry offset="0x1" startLine="4" startColumn="2" endLine="4" endColumn="8" document="2"/> <entry offset="0x8" hidden="true" document="2"/> </sequencePoints> </method> </methods> </symbols>, format:=DebugInformationFormat.PortablePdb) End Sub End Class End Namespace