5 Imports System, IO = System.Console
6 Imports Microsoft.VisualBasic.Information
11 Dim nodim as integer ' comment out to test explicit
13 Dim octalLit as integer = &O177
14 Dim hexLit as long = &h1F34A6BFL
16 dim singleLit as single = -1.1F
17 dim doubleLit as double = 8e-3
18 dim decimalLit as decimal = 1.1234567890123456789012D
20 dim charLit as char = "?"c
22 dim dateLit as date = #10/23/2003#
24 REM Testing old-fashioned comments
25 Console.WriteLine("OK!") ' Simple comments
27 IO.WriteLine("OK! ""via"" aliased name") ' from alias
28 Console.WriteLine(Microsoft.VisualBasic.Strings.Right("123",1))
29 nodim = 1 ' test for explicit
30 Console.WriteLine("nodim {0}" + _
31 Constants.vbCRLF + "octalLit {1}" + _
32 Constants.vbCRLF + "hexLit {2}" + _
33 Constants.vbCRLF + "singleLit {3}" + _
34 Constants.vbCRLF + "doubleLit {4}" + _
35 Constants.vbCRLF + "decimalLit {5}" + _
36 Constants.vbCRLF + "charLit {6}" + _
37 Constants.vbCRLF + "dateLit {7}", _
38 nodim, octalLit, hexLit, singleLit, doubleLit, decimalLit, charLit, dateLit)
39 Console.WriteLine(123.ToString("g"))
40 WriteOK5.ModuleSub("Qualified")
41 ModuleSub("Unqualified")
43 Another.WriteOK6.ModuleSub("Qualified")
44 ' Another.ModuleSub("SemiQualified") ' FIXME
45 Another.Indirector.WriteIt()
48 Console.WriteLine(Strings.ChrW(64))
50 Console.Write("Positive cases for IsNumeric: ")
51 if (IsNumeric(octalLit) And IsNumeric(hexLit) And IsNumeric(singleLit) And IsNumeric(doubleLit) And IsNumeric(decimalLit) And IsNumeric("123")) then
52 Console.WriteLine("OK")
54 Console.WriteLine("FAILED")
57 Console.Write("Negative cases for IsNumeric: ")
58 if not (IsNumeric(nothing) Or IsNumeric(charLit) or IsNumeric(dateLit) or IsNumeric("123 ABC")) then
59 Console.WriteLine("OK")
61 Console.WriteLine("FAILED")
69 Friend Shared Sub [Sub]() ' Escaped identifier
70 Dim Text as string ' here 'Text' isn't a keyword
71 Dim sometext = "Yeah! Some Text" 'TODO: still case sensitive on identifiers
72 Dim someOtherText as string = "Blah! Some Other Text"
73 ' Const sometext = "Yeah! Some Text" ' FIXME: raises InvalidCastException in yyParse
74 ' Const someOtherText as string = "Blah! Some Other Text" ' FIXME: raises InvalidCastException in yyParse
75 Text = "This is a test!"
76 Console.WriteLine("Sub:OK! - """ & Text & """ " & someText & " " & someOtherText)
85 Public Module WriteOK5
86 Public Sub ModuleSub(Parm As String)
87 Console.WriteLine("ModuleSub:OK! (" & Parm & ")")
93 Public Module WriteOK6
94 Public Sub ModuleSub(Parm As String)
95 Console.WriteLine("Another.ModuleSub:OK! (" & Parm & ")")
99 Public Class Indirector
100 Public Shared Sub WriteIt()
101 ModuleSub("Through WriteIt") ' Must resolve to Another.WriteOK6.ModuleSub