├── .gitignore ├── .project ├── .settings └── org.eclipse.core.resources.prefs ├── .travis.yml ├── AUTHORS ├── Makefile.am ├── README.md ├── appveyor.yml ├── ast.model.boo ├── bin ├── .gitignore ├── Boo.Lang.CodeDom.dll ├── Boo.Lang.Compiler.dll ├── Boo.Lang.Extensions.dll ├── Boo.Lang.Interpreter.dll ├── Boo.Lang.Parser.dll ├── Boo.Lang.PatternMatching.dll ├── Boo.Lang.Useful.dll ├── Boo.Lang.dll ├── Boo.Microsoft.Build.Tasks.dll ├── Boo.Microsoft.Build.targets ├── Boo.NAnt.Tasks.dll ├── Makefile.am ├── booc.exe ├── booc.exe.config ├── booc.rsp ├── booi.exe ├── booi.exe.config ├── booish.exe └── booish.exe.config ├── booc ├── booi ├── build-tools ├── .config-build ├── .config-build.ps1 ├── bootstrap ├── bootstrap.ps1 └── versions ├── build.gradle ├── ci ├── ci.ps1 ├── configure.in.in ├── default.build ├── docs ├── BooManifesto.pdf ├── BooManifesto.sxw └── meta-programming.txt ├── examples ├── BuildingLanguages │ └── UsingCSharp │ │ ├── .gitignore │ │ └── Nih │ │ ├── Nih.Tests │ │ ├── CompilerTest.cs │ │ ├── Nih.Tests.csproj │ │ ├── ParserTest.cs │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── Nih.sln │ │ └── Nih │ │ ├── Compiler.cs │ │ ├── Nih.csproj │ │ ├── NihPipeline.cs │ │ ├── Parser.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ └── Runtime.cs ├── asp.net │ ├── Calendar.aspx │ ├── HelloAspNet.aspx │ ├── HelloAspNet.aspx.boo │ ├── InlineBooButtonClick.aspx │ ├── InlineBooExpression.aspx │ ├── InlineBooHelloAspNet.aspx │ ├── Math.asmx │ ├── Math.asmx.boo │ ├── PrettyPrinter.aspx │ ├── PrettyPrinter.aspx.boo │ ├── ScriptRunner.aspx │ ├── ScriptRunner.aspx.boo │ ├── YourName.aspx │ ├── YourName.aspx.boo │ ├── default.build │ └── web.config ├── attributes │ ├── Async │ │ ├── AsyncAttribute.boo │ │ ├── AttributeUsage.boo │ │ └── default.build │ ├── ViewState │ │ ├── AttributeUsage.boo │ │ ├── ViewStateAttribute.boo │ │ └── default.build │ └── coroutine │ │ ├── CoroutineAttribute.boo │ │ ├── coroutine-0.boo │ │ ├── coroutine-1.boo │ │ ├── coroutine-2.boo │ │ ├── coroutine-3.boo │ │ ├── coroutine-4.boo │ │ ├── coroutine-5.boo │ │ ├── spawn-0.boo │ │ └── spawn-1.boo ├── duck-typing │ ├── XmlObject.boo │ ├── ie.boo │ └── multimethods.boo ├── gac │ ├── GacLibrary │ │ ├── GacLibrary.snk │ │ └── GacType.boo │ ├── PrivateLibrary │ │ └── PrivateType.boo │ ├── default.build │ └── test │ │ └── test.boo ├── gtk │ ├── gsv.boo │ ├── gsvshell.boo │ ├── gtk.boo │ └── gtkshell.boo ├── macros │ ├── PerformTransaction │ │ ├── MacroUsage.boo │ │ ├── PerformTransactionMacro.boo │ │ └── default.build │ ├── With │ │ ├── MacroUsage.boo │ │ ├── WithMacro.boo │ │ └── default.build │ ├── alias │ │ ├── AliasMacro.boo │ │ ├── MacroUsage.boo │ │ └── default.build │ ├── ifdef.boo │ └── trace │ │ ├── TraceService.boo │ │ └── trace.boo ├── meta-programming │ └── PetDSL.boo ├── misc │ ├── FormatterServices.boo │ ├── GetOptions.boo │ ├── ObjectConstruction.boo │ ├── arrayperformance.boo │ ├── arrayperformance.cs │ ├── arrayperformance.java │ ├── arrayperformance.py │ ├── ast-to-string.boo │ ├── ast-to-xml.boo │ ├── ast.boo │ ├── ast2.boo │ ├── async.boo │ ├── buttonclick1.boo │ ├── changelog.boo │ ├── client.boo │ ├── closure-serialization.boo │ ├── coroutines.boo │ ├── countries.boo │ ├── countries.xml │ ├── customcollection.boo │ ├── download.boo │ ├── dsl-1.boo │ ├── dump.boo │ ├── fibonacci.boo │ ├── firstline.boo │ ├── functor.boo │ ├── grep.boo │ ├── helloforms.boo │ ├── helloforms2.boo │ ├── helloforms3.boo │ ├── lines.boo │ ├── listoperations.boo │ ├── lscope.boo │ ├── now.boo │ ├── propertygrid.boo │ ├── replace.boo │ ├── rgrep.boo │ ├── run-ast-without-compiler.boo │ ├── run-ast.boo │ ├── run.boo │ ├── selectElements.boo │ ├── serialize.boo │ ├── serializearray.boo │ ├── server.boo │ ├── showcompilersteps.boo │ ├── sincos.boo │ ├── stacktrace.boo │ ├── toolbar1.boo │ ├── toolbar2.boo │ ├── ugly.boo │ ├── ugly.cs │ ├── ugly.py │ ├── vectors.boo │ ├── vgrep.boo │ ├── vgrep2.boo │ ├── wget.boo │ ├── whichserver.boo │ ├── winforms.boo │ ├── wrapLines.boo │ ├── xml.boo │ └── xmllogdata.boo ├── pipeline │ ├── AutoImport │ │ ├── client.boo │ │ ├── globals.boo │ │ └── main.boo │ ├── EverybodyLovesDucks.boo │ ├── Extensibilidade.sxw │ ├── Extensibilidade.txt │ ├── HelloPipeline │ │ ├── default.build │ │ └── src │ │ │ ├── HelloPipeline.boo │ │ │ └── HelloWorld.boo │ ├── NoPrimitives.boo │ ├── StyleChecker │ │ ├── Example.boo │ │ ├── StyleChecker.boo │ │ └── default.build │ └── Trace │ │ ├── HelloWorld.boo │ │ ├── TracePipeline.boo │ │ └── default.build ├── prevalence │ └── tasks.boo ├── remoting │ ├── client.boo │ ├── default.build │ ├── library.boo │ └── server.boo ├── sharpdevelop │ └── pascalcase.boo ├── silverlight │ └── tetris │ │ ├── AppManifest.xaml │ │ └── Tetris.boo └── svnutils │ ├── default.build │ └── src │ ├── svn.boo │ ├── svn_changed.boo │ ├── svn_ignore.boo │ ├── svn_ignore_all.boo │ └── svn_locals.boo ├── extras ├── BooTemplate │ └── default.build ├── DEBIAN │ ├── control │ ├── postinst │ └── prerm ├── Gendarme.Rules.Abstract │ ├── DependenciesMacro.boo │ └── DependencyCheckingRule.boo ├── Gendarme.Rules.Boo │ └── BooDependenciesCheckingRule.boo ├── Makefile.am ├── SharpDevelop │ └── BooBinding │ │ ├── Boo.Empty.xft │ │ ├── Boo.EmptyClass.xft │ │ ├── Boo.Form.xft │ │ ├── Boo.xshd │ │ ├── BooBinding.addin │ │ ├── BooBinding.cmbx │ │ ├── ConsoleProject.xpt │ │ ├── FormsProject.xpt │ │ ├── Library.xpt │ │ ├── default.build │ │ ├── icons │ │ ├── BitmapResources.txtres │ │ ├── Boo.File.EmptyFile.png │ │ ├── Boo.File.Form.png │ │ ├── Boo.FileIcon.png │ │ ├── Boo.Project.EmptyProject.png │ │ ├── Boo.Project.Form.png │ │ ├── Boo.ProjectIcon.png │ │ └── ResAsm.cs │ │ └── src │ │ ├── AssemblyInfo.boo │ │ ├── BooAmbience.boo │ │ ├── BooBinding.prjx │ │ ├── BooCompiler.boo │ │ ├── BooDesigner.boo │ │ ├── BooProject.boo │ │ ├── BooRefactory.boo │ │ ├── BooVisitor.boo │ │ ├── BooishView.boo │ │ ├── CodeCompletion │ │ ├── BooParser.boo │ │ ├── ExpressionFinder.boo │ │ ├── ExpressionTypeVisitor.boo │ │ ├── Resolver.boo │ │ ├── ReturnType.boo │ │ ├── Tree.boo │ │ ├── TypeMembers.boo │ │ ├── VariableLookupVisitor.boo │ │ └── Visitor.boo │ │ ├── CodeDomVisitor.boo │ │ ├── CompilerManager.boo │ │ ├── CompilerParameters.boo │ │ ├── ConvertCommand.boo │ │ ├── ExecutionManager.boo │ │ ├── FormattingStrategy.boo │ │ ├── LanguageBinding.boo │ │ └── OptionsPanel.boo ├── bisect.sh ├── boo-completion.bash ├── boo-jedit41.xml ├── boo-jedit42.xml ├── boo-mime-info.xml ├── boo.keys ├── boo.lang ├── boo.mime ├── boo.nanorc ├── boo.pc.in ├── boo.vim ├── boo.xml ├── booc.in ├── booi.in ├── booish.gui │ ├── default.build │ └── src │ │ ├── CodeCompletionData.boo │ │ ├── InteractiveInterpreterControl.boo │ │ ├── MainForm.boo │ │ ├── booish.gui.cmbx │ │ └── booish.gui.prjx ├── booish.in ├── boox │ ├── BooExplorer.Common │ │ ├── BooExplorer.Common.cmbx │ │ ├── BooExplorer.Common.prjx │ │ └── CodeCompletion.boo │ ├── COPYING │ ├── README.TXT │ ├── booxg │ │ ├── ApplicationResources.boo │ │ ├── BooEditor.boo │ │ ├── BooSourceView.boo │ │ ├── DocumentOutline.boo │ │ ├── MainWindow.boo │ │ └── booxg.boo │ ├── booxw │ │ ├── default.build │ │ ├── scripts │ │ │ └── AutomaticClose.int │ │ ├── src │ │ │ ├── AssemblyInfo.boo │ │ │ ├── BooEditor.boo │ │ │ ├── BooFoldingStrategy.boo │ │ │ ├── BooFormattingStrategy.boo │ │ │ ├── BooxSettings.boo │ │ │ ├── BooxTextAreaControl.boo │ │ │ ├── CodeCompletionData.boo │ │ │ ├── CompileHelper.boo │ │ │ ├── DocumentOutline.boo │ │ │ ├── ITextInterceptor.boo │ │ │ ├── InteractiveConsole.boo │ │ │ ├── MainForm.boo │ │ │ ├── OutputPane.boo │ │ │ ├── PromptDialog.boo │ │ │ ├── TaskList.boo │ │ │ ├── TextManipulator.boo │ │ │ ├── boox.boo │ │ │ ├── booxw.cmbx │ │ │ └── booxw.prjx │ │ └── todo.txt │ ├── default.build │ └── resources │ │ ├── ClassBrowserIcons │ │ ├── InternalClass.png │ │ ├── InternalEnum.png │ │ ├── InternalField.png │ │ ├── InternalInterface.png │ │ ├── InternalMethod.png │ │ ├── InternalProperty.png │ │ ├── PrivateClass.png │ │ ├── PrivateEnum.png │ │ ├── PrivateField.png │ │ ├── PrivateInterface.png │ │ ├── PrivateMethod.png │ │ ├── PrivateProperty.png │ │ ├── ProtectedClass.png │ │ ├── ProtectedEnum.png │ │ ├── ProtectedField.png │ │ ├── ProtectedInterface.png │ │ ├── ProtectedMethod.png │ │ ├── ProtectedProperty.png │ │ ├── class.png │ │ ├── enum.png │ │ ├── event.png │ │ ├── field.png │ │ ├── interface.png │ │ ├── method.png │ │ ├── namespace.png │ │ └── property.png │ │ └── boo.ico ├── common-properties.build ├── genchangelog.boo ├── gendarme.ignore ├── install-gtksourceview-mode ├── makedeb.build ├── man │ ├── booc.1 │ ├── booi.1 │ └── booish.1 ├── rules.xml ├── suse-install-gtksourceview-mode └── template.config.in ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── il ├── il.bat ├── lib ├── antlr-2.7.5 │ ├── INSTALL.txt │ ├── LICENSE.txt │ ├── Makefile.in │ ├── README.txt │ ├── aclocal.m4 │ ├── antlr-2.7.5.jar │ ├── antlr │ │ ├── ANTLRError.java │ │ ├── ANTLRException.java │ │ ├── ANTLRGrammarParseBehavior.java │ │ ├── ANTLRHashString.java │ │ ├── ANTLRLexer.java │ │ ├── ANTLRParser.java │ │ ├── ANTLRStringBuffer.java │ │ ├── ANTLRTokdefLexer.java │ │ ├── ANTLRTokdefParser.java │ │ ├── ANTLRTokdefParserTokenTypes.java │ │ ├── ANTLRTokenTypes.java │ │ ├── ASTFactory.java │ │ ├── ASTIterator.java │ │ ├── ASTNULLType.java │ │ ├── ASTPair.java │ │ ├── ASTVisitor.java │ │ ├── ActionElement.java │ │ ├── ActionTransInfo.java │ │ ├── Alternative.java │ │ ├── AlternativeBlock.java │ │ ├── AlternativeElement.java │ │ ├── BaseAST.java │ │ ├── BlockContext.java │ │ ├── BlockEndElement.java │ │ ├── BlockWithImpliedExitPath.java │ │ ├── BooBlockFinishingInfo.java │ │ ├── BooCharFormatter.java │ │ ├── BooCodeGenerator.java │ │ ├── BooNameSpace.java │ │ ├── ByteBuffer.java │ │ ├── CSharpBlockFinishingInfo.java │ │ ├── CSharpCharFormatter.java │ │ ├── CSharpCodeGenerator.java │ │ ├── CSharpNameSpace.java │ │ ├── CharBuffer.java │ │ ├── CharFormatter.java │ │ ├── CharLiteralElement.java │ │ ├── CharQueue.java │ │ ├── CharRangeElement.java │ │ ├── CharScanner.java │ │ ├── CharStreamException.java │ │ ├── CharStreamIOException.java │ │ ├── CodeGenerator.java │ │ ├── CommonAST.java │ │ ├── CommonASTWithHiddenTokens.java │ │ ├── CommonHiddenStreamToken.java │ │ ├── CommonToken.java │ │ ├── CppBlockFinishingInfo.java │ │ ├── CppCharFormatter.java │ │ ├── CppCodeGenerator.java │ │ ├── DefaultFileLineFormatter.java │ │ ├── DefaultToolErrorHandler.java │ │ ├── DefineGrammarSymbols.java │ │ ├── DiagnosticCodeGenerator.java │ │ ├── DocBookCodeGenerator.java │ │ ├── DumpASTVisitor.java │ │ ├── ExceptionHandler.java │ │ ├── ExceptionSpec.java │ │ ├── FileCopyException.java │ │ ├── FileLineFormatter.java │ │ ├── Grammar.java │ │ ├── GrammarAnalyzer.java │ │ ├── GrammarAtom.java │ │ ├── GrammarElement.java │ │ ├── GrammarSymbol.java │ │ ├── HTMLCodeGenerator.java │ │ ├── ImportVocabTokenManager.java │ │ ├── InputBuffer.java │ │ ├── JavaBlockFinishingInfo.java │ │ ├── JavaCharFormatter.java │ │ ├── JavaCodeGenerator.java │ │ ├── LLkAnalyzer.java │ │ ├── LLkGrammarAnalyzer.java │ │ ├── LLkParser.java │ │ ├── LexerGrammar.java │ │ ├── LexerSharedInputState.java │ │ ├── Lookahead.java │ │ ├── MakeGrammar.java │ │ ├── Makefile.in │ │ ├── MismatchedCharException.java │ │ ├── MismatchedTokenException.java │ │ ├── NameSpace.java │ │ ├── NoViableAltException.java │ │ ├── NoViableAltForCharException.java │ │ ├── OneOrMoreBlock.java │ │ ├── ParseTree.java │ │ ├── ParseTreeRule.java │ │ ├── ParseTreeToken.java │ │ ├── Parser.java │ │ ├── ParserGrammar.java │ │ ├── ParserSharedInputState.java │ │ ├── PreservingFileWriter.java │ │ ├── PythonBlockFinishingInfo.java │ │ ├── PythonCharFormatter.java │ │ ├── PythonCodeGenerator.java │ │ ├── RecognitionException.java │ │ ├── RuleBlock.java │ │ ├── RuleEndElement.java │ │ ├── RuleRefElement.java │ │ ├── RuleSymbol.java │ │ ├── SemanticException.java │ │ ├── SimpleTokenManager.java │ │ ├── StringLiteralElement.java │ │ ├── StringLiteralSymbol.java │ │ ├── StringUtils.java │ │ ├── SynPredBlock.java │ │ ├── Token.java │ │ ├── TokenBuffer.java │ │ ├── TokenManager.java │ │ ├── TokenQueue.java │ │ ├── TokenRangeElement.java │ │ ├── TokenRefElement.java │ │ ├── TokenStream.java │ │ ├── TokenStreamBasicFilter.java │ │ ├── TokenStreamException.java │ │ ├── TokenStreamHiddenTokenFilter.java │ │ ├── TokenStreamIOException.java │ │ ├── TokenStreamRecognitionException.java │ │ ├── TokenStreamRetryException.java │ │ ├── TokenStreamRewriteEngine.java │ │ ├── TokenStreamSelector.java │ │ ├── TokenSymbol.java │ │ ├── TokenWithIndex.java │ │ ├── Tool.java │ │ ├── ToolErrorHandler.java │ │ ├── TreeBlockContext.java │ │ ├── TreeElement.java │ │ ├── TreeParser.java │ │ ├── TreeParserSharedInputState.java │ │ ├── TreeSpecifierNode.java │ │ ├── TreeWalkerGrammar.java │ │ ├── Version.java │ │ ├── Version.java.in │ │ ├── WildcardElement.java │ │ ├── ZeroOrMoreBlock.java │ │ ├── actions │ │ │ ├── cpp │ │ │ │ ├── ActionLexer.java │ │ │ │ ├── ActionLexerTokenTypes.java │ │ │ │ └── action.g │ │ │ ├── csharp │ │ │ │ ├── ActionLexer.java │ │ │ │ ├── ActionLexerTokenTypes.java │ │ │ │ └── action.g │ │ │ ├── java │ │ │ │ ├── ActionLexer.java │ │ │ │ ├── ActionLexerTokenTypes.java │ │ │ │ └── action.g │ │ │ └── python │ │ │ │ ├── ActionLexer.java │ │ │ │ ├── ActionLexerTokenTypes.java │ │ │ │ ├── CodeLexer.java │ │ │ │ ├── CodeLexerTokenTypes.java │ │ │ │ ├── action.g │ │ │ │ └── code.g │ │ ├── antlr.g │ │ ├── antlr.javaproj │ │ ├── antlr.sln │ │ ├── build │ │ │ ├── ANTLR.java │ │ │ ├── StreamScarfer.java │ │ │ └── Tool.java │ │ ├── collections │ │ │ ├── AST.java │ │ │ ├── ASTEnumeration.java │ │ │ ├── Enumerator.java │ │ │ ├── List.java │ │ │ ├── Stack.java │ │ │ └── impl │ │ │ │ ├── ASTArray.java │ │ │ │ ├── ASTEnumerator.java │ │ │ │ ├── BitSet.java │ │ │ │ ├── IndexedVector.java │ │ │ │ ├── IntRange.java │ │ │ │ ├── LLCell.java │ │ │ │ ├── LLEnumeration.java │ │ │ │ ├── LList.java │ │ │ │ ├── Vector.java │ │ │ │ ├── VectorEnumeration.java │ │ │ │ └── VectorEnumerator.java │ │ ├── debug │ │ │ ├── DebuggingCharScanner.java │ │ │ ├── DebuggingInputBuffer.java │ │ │ ├── DebuggingParser.java │ │ │ ├── Event.java │ │ │ ├── GuessingEvent.java │ │ │ ├── InputBufferAdapter.java │ │ │ ├── InputBufferEvent.java │ │ │ ├── InputBufferEventSupport.java │ │ │ ├── InputBufferListener.java │ │ │ ├── InputBufferReporter.java │ │ │ ├── LLkDebuggingParser.java │ │ │ ├── ListenerBase.java │ │ │ ├── MessageAdapter.java │ │ │ ├── MessageEvent.java │ │ │ ├── MessageListener.java │ │ │ ├── NewLineEvent.java │ │ │ ├── NewLineListener.java │ │ │ ├── ParseTreeDebugParser.java │ │ │ ├── ParserAdapter.java │ │ │ ├── ParserController.java │ │ │ ├── ParserEventSupport.java │ │ │ ├── ParserListener.java │ │ │ ├── ParserMatchAdapter.java │ │ │ ├── ParserMatchEvent.java │ │ │ ├── ParserMatchListener.java │ │ │ ├── ParserReporter.java │ │ │ ├── ParserTokenAdapter.java │ │ │ ├── ParserTokenEvent.java │ │ │ ├── ParserTokenListener.java │ │ │ ├── SemanticPredicateAdapter.java │ │ │ ├── SemanticPredicateEvent.java │ │ │ ├── SemanticPredicateListener.java │ │ │ ├── SyntacticPredicateAdapter.java │ │ │ ├── SyntacticPredicateEvent.java │ │ │ ├── SyntacticPredicateListener.java │ │ │ ├── TraceAdapter.java │ │ │ ├── TraceEvent.java │ │ │ ├── TraceListener.java │ │ │ ├── Tracer.java │ │ │ └── misc │ │ │ │ ├── ASTFrame.java │ │ │ │ ├── JTreeASTModel.java │ │ │ │ └── JTreeASTPanel.java │ │ ├── preprocessor │ │ │ ├── Grammar.java │ │ │ ├── GrammarFile.java │ │ │ ├── Hierarchy.java │ │ │ ├── Option.java │ │ │ ├── Preprocessor.java │ │ │ ├── PreprocessorLexer.java │ │ │ ├── PreprocessorTokenTypes.java │ │ │ ├── Rule.java │ │ │ ├── Tool.java │ │ │ └── preproc.g │ │ └── tokdef.g │ ├── config.log │ ├── configure │ ├── configure.in │ ├── doc │ │ ├── ANTLRException.gif │ │ ├── Makefile.in │ │ ├── closure.gif │ │ ├── cpp-runtime.html │ │ ├── csharp-runtime.html │ │ ├── err.html │ │ ├── glossary.html │ │ ├── hidden.stream.gif │ │ ├── index.html │ │ ├── inheritance.html │ │ ├── j-guru-blue.jpg │ │ ├── jguru-logo.gif │ │ ├── lexer.html │ │ ├── lexer.to.parser.tokens.gif │ │ ├── logo.gif │ │ ├── metalang.html │ │ ├── optional.gif │ │ ├── options.html │ │ ├── posclosure.gif │ │ ├── python-runtime.html │ │ ├── runtime.html │ │ ├── sor.html │ │ ├── stream.perspectives.gif │ │ ├── stream.selector.gif │ │ ├── stream.splitter.gif │ │ ├── streams.html │ │ ├── subrule.gif │ │ ├── trees.html │ │ └── vocab.html │ ├── examples │ │ ├── Makefile.in │ │ ├── boo │ │ │ └── calc │ │ │ │ ├── calc.boo │ │ │ │ ├── calc.g │ │ │ │ └── default.build │ │ ├── cpp │ │ │ ├── ASTsupport │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ └── test.g │ │ │ ├── HTML │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── html.g │ │ │ │ └── test.html │ │ │ ├── IDL │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── idl.g │ │ │ │ └── test.idl │ │ │ ├── Makefile.in │ │ │ ├── calc │ │ │ │ ├── Main.cpp │ │ │ │ ├── Main2.cpp │ │ │ │ ├── Main3.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── calc.g │ │ │ │ └── test.in │ │ │ ├── cleanup.ksh │ │ │ ├── exprAST │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── expr.g │ │ │ │ ├── test.in │ │ │ │ └── test2.in │ │ │ ├── filter │ │ │ │ ├── Makefile.in │ │ │ │ ├── Test.cpp │ │ │ │ ├── t.g │ │ │ │ └── test.html │ │ │ ├── filterWithRule │ │ │ │ ├── Makefile.in │ │ │ │ ├── Test.cpp │ │ │ │ ├── t.g │ │ │ │ └── t.html │ │ │ ├── flexLexer │ │ │ │ ├── LexTokenStream.cpp │ │ │ │ ├── LexTokenStream.hpp │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── T.java │ │ │ │ ├── java.g │ │ │ │ ├── java.l │ │ │ │ └── java.tree.g │ │ │ ├── heteroAST │ │ │ │ ├── BinaryOperatorAST.hpp │ │ │ │ ├── CalcAST.hpp │ │ │ │ ├── INTNode.hpp │ │ │ │ ├── MULTNode.hpp │ │ │ │ ├── Main.cpp │ │ │ │ ├── PLUSNode.hpp │ │ │ │ ├── calc.g │ │ │ │ └── test.in │ │ │ ├── imagNodeAST │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── simple.in │ │ │ │ ├── test.in │ │ │ │ └── treewalk.g │ │ │ ├── includeFile │ │ │ │ ├── Main.cpp │ │ │ │ ├── Main.hpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── P.g │ │ │ │ ├── incl.h │ │ │ │ ├── subincl.h │ │ │ │ └── test.c │ │ │ ├── inherit.tinyc │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── input.c │ │ │ │ ├── runtest.bat │ │ │ │ └── subc.g │ │ │ ├── java │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── java.g │ │ │ │ ├── java.tree.g │ │ │ │ └── tests │ │ │ │ │ ├── E.java │ │ │ │ │ └── T.java │ │ │ ├── lexRewrite │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── rewrite.g │ │ │ │ └── test.in │ │ │ ├── multiLexer │ │ │ │ ├── CommonTokenTypes.txt │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── javadoclex.g │ │ │ │ ├── javadocparse.g │ │ │ │ ├── javalex.g │ │ │ │ ├── javaparse.g │ │ │ │ └── test.in │ │ │ ├── multiParser │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── lexer.g │ │ │ │ ├── parser1.g │ │ │ │ ├── parser2.g │ │ │ │ └── test.in │ │ │ ├── parseBinary │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── data │ │ │ │ └── data.g │ │ │ ├── preserveWhiteSpace │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── instr.g │ │ │ │ ├── readme.txt │ │ │ │ └── test.in │ │ │ ├── tinyc │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── input.c │ │ │ │ ├── lexer.g │ │ │ │ └── tinyc.g │ │ │ ├── tokenStreamRewrite │ │ │ │ ├── Makefile.in │ │ │ │ ├── input.c │ │ │ │ ├── main.cpp │ │ │ │ └── tinyc.g │ │ │ ├── transform │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── calc.g │ │ │ │ └── test.in │ │ │ ├── treewalk │ │ │ │ ├── Main.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── MyAST.h │ │ │ │ ├── simple.in │ │ │ │ ├── test.in │ │ │ │ └── treewalk.g │ │ │ └── unicode │ │ │ │ ├── Makefile.in │ │ │ │ ├── MismatchedUnicodeCharException.cpp │ │ │ │ ├── MismatchedUnicodeCharException.hpp │ │ │ │ ├── UnicodeCharBuffer.hpp │ │ │ │ ├── UnicodeCharScanner.hpp │ │ │ │ ├── main.cpp │ │ │ │ ├── test.in │ │ │ │ └── unicode.g │ │ ├── csharp │ │ │ ├── ASTsupport │ │ │ │ ├── ASTSupport.build │ │ │ │ ├── ASTType49.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── MyAST.cs │ │ │ │ ├── TestASTFactory.cs │ │ │ │ ├── csccbug.cs │ │ │ │ ├── shiplist │ │ │ │ ├── t.bat │ │ │ │ └── test.g │ │ │ ├── HTML │ │ │ │ ├── HTML.build │ │ │ │ ├── Main.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── html.g │ │ │ │ ├── shiplist │ │ │ │ └── test.html │ │ │ ├── IDL │ │ │ │ ├── IDL.build │ │ │ │ ├── Main.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── idl.g │ │ │ │ ├── shiplist │ │ │ │ └── test.idl │ │ │ ├── Makefile.in │ │ │ ├── ParseTreeDebug │ │ │ │ ├── Makefile.in │ │ │ │ ├── ParseTreeDebug.build │ │ │ │ ├── Test.cs │ │ │ │ ├── decl.c │ │ │ │ ├── input.c │ │ │ │ └── tinyc.g │ │ │ ├── TokenStreamRewrite │ │ │ │ ├── GenHdr.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── TokenStreamRewrite.build │ │ │ │ ├── input.c │ │ │ │ └── tinyc.g │ │ │ ├── calc │ │ │ │ ├── Calc.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── calc.build │ │ │ │ ├── calc.g │ │ │ │ ├── shiplist │ │ │ │ └── test.in │ │ │ ├── columns │ │ │ │ ├── Makefile.in │ │ │ │ ├── columns.build │ │ │ │ ├── csccbug.cs │ │ │ │ ├── shiplist │ │ │ │ ├── test.in │ │ │ │ └── track.g │ │ │ ├── cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── cpp.build │ │ │ │ ├── cpp.g │ │ │ │ ├── cpp.in │ │ │ │ ├── incl.h │ │ │ │ └── subincl.h │ │ │ ├── csccbug.cs │ │ │ ├── exprAST │ │ │ │ ├── Main.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── expr.g │ │ │ │ ├── exprAST.build │ │ │ │ ├── shiplist │ │ │ │ ├── test.in │ │ │ │ └── test2.in │ │ │ ├── filter │ │ │ │ ├── Makefile.in │ │ │ │ ├── Test.cs │ │ │ │ ├── filter.build │ │ │ │ ├── shiplist │ │ │ │ ├── t.g │ │ │ │ └── test.html │ │ │ ├── filterWithRule │ │ │ │ ├── Makefile.in │ │ │ │ ├── Test.cs │ │ │ │ ├── Test.java │ │ │ │ ├── filterWithRule.build │ │ │ │ ├── shiplist │ │ │ │ ├── t.g │ │ │ │ └── t.html │ │ │ ├── heteroAST │ │ │ │ ├── BinaryOperatorAST.cs │ │ │ │ ├── CalcAST.cs │ │ │ │ ├── INTNode.cs │ │ │ │ ├── MULTNode.cs │ │ │ │ ├── Main.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── PLUSNode.cs │ │ │ │ ├── calc.g │ │ │ │ ├── heteroAST.build │ │ │ │ ├── shiplist │ │ │ │ └── test.in │ │ │ ├── imagNodeAST │ │ │ │ ├── Main.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── imagNodeAST.build │ │ │ │ ├── shiplist │ │ │ │ ├── simple.in │ │ │ │ ├── test.in │ │ │ │ └── treewalk.g │ │ │ ├── includeFile │ │ │ │ ├── Main.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── P.g │ │ │ │ ├── incl.h │ │ │ │ ├── includeFile.build │ │ │ │ ├── shiplist │ │ │ │ ├── subincl.h │ │ │ │ └── test.c │ │ │ ├── inherit.tinyc │ │ │ │ ├── Main.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── inherit.tinyc.build │ │ │ │ ├── input.c │ │ │ │ ├── runtest.bat │ │ │ │ ├── runtest.sh │ │ │ │ ├── shiplist │ │ │ │ └── subc.g │ │ │ ├── java │ │ │ │ ├── JavaParser.csproj │ │ │ │ ├── Main.cs │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── T.java │ │ │ │ ├── java.build │ │ │ │ ├── java.g │ │ │ │ ├── java.tree.g │ │ │ │ ├── shiplist │ │ │ │ └── tests │ │ │ │ │ ├── E.java │ │ │ │ │ ├── Main.java │ │ │ │ │ └── T.java │ │ │ ├── multiLexer │ │ │ │ ├── Main.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── javadoclex.g │ │ │ │ ├── javadocparse.g │ │ │ │ ├── javalex.g │ │ │ │ ├── javaparse.g │ │ │ │ ├── multiLexer.build │ │ │ │ ├── shiplist │ │ │ │ └── test.in │ │ │ ├── parseBinary │ │ │ │ ├── Main.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── MkData.cs │ │ │ │ ├── data │ │ │ │ ├── data.g │ │ │ │ ├── parseBinary.build │ │ │ │ ├── runtests.bat │ │ │ │ └── shiplist │ │ │ ├── preserveWhiteSpace │ │ │ │ ├── InstrMain.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── instr.g │ │ │ │ ├── preserveWhiteSpace.build │ │ │ │ ├── readme.txt │ │ │ │ ├── shiplist │ │ │ │ └── test.in │ │ │ ├── tinyc │ │ │ │ ├── Makefile.in │ │ │ │ ├── input.c │ │ │ │ ├── lexer.g │ │ │ │ ├── shiplist │ │ │ │ ├── tinyc.build │ │ │ │ └── tinyc.g │ │ │ └── unicode │ │ │ │ ├── Makefile.in │ │ │ │ ├── csccbug.cs │ │ │ │ ├── shiplist │ │ │ │ ├── test.in │ │ │ │ ├── unicode.build │ │ │ │ └── unicode.g │ │ ├── java │ │ │ ├── ASTsupport │ │ │ │ ├── ASTType49.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── MyAST.java │ │ │ │ ├── TestASTFactory.java │ │ │ │ ├── shiplist │ │ │ │ ├── t.bat │ │ │ │ └── test.g │ │ │ ├── HTML │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── html.g │ │ │ │ ├── shiplist │ │ │ │ └── test.html │ │ │ ├── IDL │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── idl.g │ │ │ │ ├── shiplist │ │ │ │ └── test.idl │ │ │ ├── Makefile.in │ │ │ ├── calc │ │ │ │ ├── Calc.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── calc.g │ │ │ │ ├── shiplist │ │ │ │ └── test.in │ │ │ ├── columns │ │ │ │ ├── Makefile.in │ │ │ │ ├── shiplist │ │ │ │ ├── test.in │ │ │ │ └── track.g │ │ │ ├── cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── cpp.g │ │ │ │ ├── cpp.in │ │ │ │ ├── incl.h │ │ │ │ └── subincl.h │ │ │ ├── exprAST │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── expr.g │ │ │ │ ├── shiplist │ │ │ │ ├── test.in │ │ │ │ └── test2.in │ │ │ ├── filter │ │ │ │ ├── Makefile.in │ │ │ │ ├── Test.java │ │ │ │ ├── shiplist │ │ │ │ ├── t.g │ │ │ │ └── test.html │ │ │ ├── filterWithRule │ │ │ │ ├── Makefile.in │ │ │ │ ├── Test.java │ │ │ │ ├── shiplist │ │ │ │ ├── t.g │ │ │ │ └── t.html │ │ │ ├── heteroAST │ │ │ │ ├── BinaryOperatorAST.java │ │ │ │ ├── CalcAST.java │ │ │ │ ├── INTNode.java │ │ │ │ ├── MULTNode.java │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── PLUSNode.java │ │ │ │ ├── calc.g │ │ │ │ ├── shiplist │ │ │ │ └── test.in │ │ │ ├── imagNodeAST │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── shiplist │ │ │ │ ├── simple.in │ │ │ │ ├── test.in │ │ │ │ └── treewalk.g │ │ │ ├── includeFile │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── P.g │ │ │ │ ├── incl.h │ │ │ │ ├── shiplist │ │ │ │ ├── subincl.h │ │ │ │ └── test.c │ │ │ ├── inherit.tinyc │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── input.c │ │ │ │ ├── runtest.bat │ │ │ │ ├── runtest.sh │ │ │ │ ├── shiplist │ │ │ │ └── subc.g │ │ │ ├── java │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── java.g │ │ │ │ ├── java.tree.g │ │ │ │ ├── shiplist │ │ │ │ └── tests │ │ │ │ │ ├── E.java │ │ │ │ │ └── T.java │ │ │ ├── lexRewrite │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── rewrite.g │ │ │ │ ├── shiplist │ │ │ │ └── test.in │ │ │ ├── linkChecker │ │ │ │ ├── LinkChecker.java │ │ │ │ ├── LinkListener.java │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── links.g │ │ │ │ ├── shiplist │ │ │ │ └── test.html │ │ │ ├── multiLexer │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── javadoclex.g │ │ │ │ ├── javadocparse.g │ │ │ │ ├── javalex.g │ │ │ │ ├── javaparse.g │ │ │ │ ├── shiplist │ │ │ │ └── test.in │ │ │ ├── parseBinary │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── MkData.java │ │ │ │ ├── data │ │ │ │ ├── data.g │ │ │ │ └── shiplist │ │ │ ├── pascal │ │ │ │ ├── ArrayType.java │ │ │ │ ├── Constant.java │ │ │ │ ├── Field.java │ │ │ │ ├── Function.java │ │ │ │ ├── IntegerConstant.java │ │ │ │ ├── IntegerType.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── PascalAST.java │ │ │ │ ├── PascalLexer.java │ │ │ │ ├── PascalParser.java │ │ │ │ ├── PascalTokenTypes.java │ │ │ │ ├── PascalTreeParserSuper.java │ │ │ │ ├── PascalTreeParserSuperTokenTypes.java │ │ │ │ ├── Procedure.java │ │ │ │ ├── RealConstant.java │ │ │ │ ├── RealType.java │ │ │ │ ├── RecordType.java │ │ │ │ ├── ScalarType.java │ │ │ │ ├── Scope.java │ │ │ │ ├── Symbol.java │ │ │ │ ├── SymbolTable.java │ │ │ │ ├── SymtabPhase.java │ │ │ │ ├── SymtabPhaseTokenTypes.java │ │ │ │ ├── TypeSpecifier.java │ │ │ │ ├── Unit.java │ │ │ │ ├── UserDefinedType.java │ │ │ │ ├── Variable.java │ │ │ │ ├── pascal.g │ │ │ │ ├── pascal.tree.g │ │ │ │ ├── shiplist │ │ │ │ ├── symtab.g │ │ │ │ └── test │ │ │ │ │ ├── P_0_1.PAS │ │ │ │ │ ├── P_3_1.PAS │ │ │ │ │ ├── P_4_1.PAS │ │ │ │ │ ├── P_4_2.PAS │ │ │ │ │ ├── P_4_3.PAS │ │ │ │ │ ├── P_4_4.PAS │ │ │ │ │ ├── P_4_5.PAS │ │ │ │ │ ├── P_8_2.PAS │ │ │ │ │ └── big.pas │ │ │ ├── preserveWhiteSpace │ │ │ │ ├── InstrMain.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── instr.g │ │ │ │ ├── readme.txt │ │ │ │ ├── shiplist │ │ │ │ └── test.in │ │ │ ├── tinybasic │ │ │ │ ├── Context.java │ │ │ │ ├── DTArray1D.java │ │ │ │ ├── DTArray2D.java │ │ │ │ ├── DTArray3D.java │ │ │ │ ├── DTCodeType.java │ │ │ │ ├── DTDataType.java │ │ │ │ ├── DTDataTypeProxy.java │ │ │ │ ├── DTExecException.java │ │ │ │ ├── DTExitModuleException.java │ │ │ │ ├── DTFloat.java │ │ │ │ ├── DTFunction.java │ │ │ │ ├── DTInteger.java │ │ │ │ ├── DTString.java │ │ │ │ ├── DTSubroutine.java │ │ │ │ ├── FunctionScope.java │ │ │ │ ├── GlobalScope.java │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── ProgramScope.java │ │ │ │ ├── README.txt │ │ │ │ ├── Scope.java │ │ │ │ ├── SubroutineScope.java │ │ │ │ ├── TinyBasic.g │ │ │ │ ├── TinyBasicTreeWalker.g │ │ │ │ ├── shiplist │ │ │ │ ├── try.bas │ │ │ │ ├── try1.bas │ │ │ │ └── try2.bas │ │ │ ├── tinyc │ │ │ │ ├── Makefile.in │ │ │ │ ├── input.c │ │ │ │ ├── lexer.g │ │ │ │ ├── shiplist │ │ │ │ └── tinyc.g │ │ │ ├── transform │ │ │ │ ├── Calc.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── calc.g │ │ │ │ ├── shiplist │ │ │ │ └── test.in │ │ │ ├── treewalk │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── shiplist │ │ │ │ ├── simple.in │ │ │ │ ├── test.in │ │ │ │ └── treewalk.g │ │ │ ├── unicode.IDENTs │ │ │ │ ├── Debug.java │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── ShowString.java │ │ │ │ ├── StreamConverter.java │ │ │ │ ├── Unicode.g │ │ │ │ ├── Unicode.readme │ │ │ │ ├── font.properties │ │ │ │ ├── shiplist │ │ │ │ └── test.in │ │ │ ├── unicode │ │ │ │ ├── Makefile.in │ │ │ │ ├── shiplist │ │ │ │ ├── test.in │ │ │ │ └── unicode.g │ │ │ └── xml │ │ │ │ ├── Main.java │ │ │ │ ├── Makefile.in │ │ │ │ ├── test.xml │ │ │ │ └── xml.g │ │ └── python │ │ │ ├── ASTsupport │ │ │ ├── Makefile.in │ │ │ ├── astsupport.g │ │ │ └── astsupport.py │ │ │ ├── HTML │ │ │ ├── Makefile.in │ │ │ ├── html.g │ │ │ └── html.in │ │ │ ├── IDL │ │ │ ├── Makefile.in │ │ │ ├── idl.g │ │ │ ├── idl.in │ │ │ └── idl.py │ │ │ ├── Makefile.in │ │ │ ├── asn1 │ │ │ ├── Makefile.in │ │ │ ├── asn1.g │ │ │ ├── asn1.in │ │ │ ├── asn1.py │ │ │ └── asn1tokens.txt │ │ │ ├── calc │ │ │ ├── Makefile.in │ │ │ ├── calc.g │ │ │ ├── calc.in │ │ │ └── calc.py │ │ │ ├── columns │ │ │ ├── Makefile.in │ │ │ ├── columns.g │ │ │ └── columns.in │ │ │ ├── cpp │ │ │ ├── Makefile.in │ │ │ ├── cpp.g │ │ │ ├── cpp.in │ │ │ ├── incl.h │ │ │ └── subincl.h │ │ │ ├── exprAST │ │ │ ├── Makefile.in │ │ │ ├── expr.g │ │ │ ├── expr.in │ │ │ ├── expr.py │ │ │ └── expr2.in │ │ │ ├── filter │ │ │ ├── Makefile.in │ │ │ ├── filter.g │ │ │ └── filter.in │ │ │ ├── filterWithRule │ │ │ ├── Makefile.in │ │ │ ├── rulefilter.g │ │ │ └── rulefilter.in │ │ │ ├── heteroAST │ │ │ ├── Makefile.in │ │ │ ├── hetero.g │ │ │ ├── hetero.in │ │ │ └── hetero.py │ │ │ ├── imagNodeAST │ │ │ ├── Makefile.in │ │ │ ├── imagnode.g │ │ │ ├── imagnode.in │ │ │ └── imagnode.py │ │ │ ├── includeFile │ │ │ ├── Makefile.in │ │ │ ├── incfile.g │ │ │ ├── incfile.in │ │ │ ├── incfile.py │ │ │ ├── incl.h │ │ │ └── subincl.h │ │ │ ├── inherit.tinyc │ │ │ ├── Makefile.in │ │ │ ├── inherit.g │ │ │ ├── inherit.in │ │ │ └── inherit.py │ │ │ ├── java │ │ │ ├── Makefile.in │ │ │ ├── java.g │ │ │ ├── java.in │ │ │ ├── java.py │ │ │ └── java_w.g │ │ │ ├── lexRewrite │ │ │ ├── Makefile.in │ │ │ ├── rewrite.g │ │ │ ├── rewrite.in │ │ │ └── rewrite.py │ │ │ ├── lexerTester │ │ │ ├── LT1test.py │ │ │ ├── LT2test.py │ │ │ ├── LT3test.py │ │ │ ├── LT4test.py │ │ │ ├── LT5test.py │ │ │ ├── Makefile.in │ │ │ ├── lexertester.g │ │ │ ├── shiplist │ │ │ ├── simplelexer1.g │ │ │ ├── simplelexer2.g │ │ │ ├── simplelexer3.g │ │ │ ├── simplelexer4.g │ │ │ ├── simplelexer5.g │ │ │ └── test.in │ │ │ ├── linkChecker │ │ │ ├── LinkChecker.py │ │ │ ├── Makefile.in │ │ │ ├── links.g │ │ │ └── test.html │ │ │ ├── multiLexer │ │ │ ├── Makefile.in │ │ │ ├── javadoc_l.g │ │ │ ├── javadoc_p.g │ │ │ ├── multilex.in │ │ │ ├── multilex.py │ │ │ ├── multilex.tok │ │ │ ├── multilex_l.g │ │ │ └── multilex_p.g │ │ │ ├── multiParser │ │ │ ├── Makefile.in │ │ │ ├── lexer.g │ │ │ ├── multiparser.in │ │ │ ├── multiparser.py │ │ │ ├── parser1.g │ │ │ └── parser2.g │ │ │ ├── parseBinary │ │ │ ├── Makefile.in │ │ │ ├── binary.g │ │ │ ├── binary.in │ │ │ └── binary.py │ │ │ ├── pascal │ │ │ ├── Makefile.in │ │ │ ├── pascal.g │ │ │ ├── pascal.in │ │ │ ├── pascal.py │ │ │ └── pascalw.g │ │ │ ├── preserveWhiteSpace │ │ │ ├── Makefile.in │ │ │ ├── keepws.g │ │ │ ├── keepws.in │ │ │ └── keepws.py │ │ │ ├── tinybasic │ │ │ ├── Makefile.in │ │ │ ├── basic.g │ │ │ ├── basic.in │ │ │ ├── basic.py │ │ │ ├── basic1.in │ │ │ ├── basic2.in │ │ │ └── basic_w.g │ │ │ ├── tinyc │ │ │ ├── Makefile.in │ │ │ ├── tinyc.in │ │ │ ├── tinyc_l.g │ │ │ └── tinyc_p.g │ │ │ ├── transform │ │ │ ├── Makefile.in │ │ │ ├── transform.g │ │ │ ├── transform.in │ │ │ └── transform.py │ │ │ ├── treewalk │ │ │ ├── Makefile.in │ │ │ ├── treewalk.g │ │ │ ├── treewalk.in │ │ │ └── treewalk.py │ │ │ ├── unicode.IDENTs │ │ │ ├── Makefile.in │ │ │ ├── ident.g │ │ │ ├── ident.in │ │ │ └── ident.py │ │ │ ├── unicode │ │ │ ├── Makefile.in │ │ │ ├── unicode.g │ │ │ ├── unicode.in │ │ │ └── unicode.py │ │ │ └── xml │ │ │ ├── Makefile.in │ │ │ ├── xml.g │ │ │ ├── xml.in │ │ │ └── xml.py │ ├── extras │ │ ├── antlr-jedit.xml │ │ ├── antlr-mode.el │ │ ├── antlr-x.y.z.README │ │ └── setup.hint │ ├── lib │ │ ├── Makefile.in │ │ ├── antlr.astframe.dll │ │ ├── antlr.runtime.dll │ │ ├── cpp │ │ │ ├── AUTHORS │ │ │ ├── ChangeLog │ │ │ ├── Makefile.in │ │ │ ├── README │ │ │ ├── TODO │ │ │ ├── antlr │ │ │ │ ├── ANTLRException.hpp │ │ │ │ ├── ANTLRUtil.hpp │ │ │ │ ├── AST.hpp │ │ │ │ ├── ASTArray.hpp │ │ │ │ ├── ASTFactory.hpp │ │ │ │ ├── ASTNULLType.hpp │ │ │ │ ├── ASTPair.hpp │ │ │ │ ├── ASTRefCount.hpp │ │ │ │ ├── BaseAST.hpp │ │ │ │ ├── BitSet.hpp │ │ │ │ ├── CharBuffer.hpp │ │ │ │ ├── CharInputBuffer.hpp │ │ │ │ ├── CharScanner.hpp │ │ │ │ ├── CharStreamException.hpp │ │ │ │ ├── CharStreamIOException.hpp │ │ │ │ ├── CircularQueue.hpp │ │ │ │ ├── CommonAST.hpp │ │ │ │ ├── CommonASTWithHiddenTokens.hpp │ │ │ │ ├── CommonHiddenStreamToken.hpp │ │ │ │ ├── CommonToken.hpp │ │ │ │ ├── IOException.hpp │ │ │ │ ├── InputBuffer.hpp │ │ │ │ ├── LLkParser.hpp │ │ │ │ ├── LexerSharedInputState.hpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── MismatchedCharException.hpp │ │ │ │ ├── MismatchedTokenException.hpp │ │ │ │ ├── NoViableAltException.hpp │ │ │ │ ├── NoViableAltForCharException.hpp │ │ │ │ ├── Parser.hpp │ │ │ │ ├── ParserSharedInputState.hpp │ │ │ │ ├── RecognitionException.hpp │ │ │ │ ├── RefCount.hpp │ │ │ │ ├── SemanticException.hpp │ │ │ │ ├── String.hpp │ │ │ │ ├── Token.hpp │ │ │ │ ├── TokenBuffer.hpp │ │ │ │ ├── TokenRefCount.hpp │ │ │ │ ├── TokenStream.hpp │ │ │ │ ├── TokenStreamBasicFilter.hpp │ │ │ │ ├── TokenStreamException.hpp │ │ │ │ ├── TokenStreamHiddenTokenFilter.hpp │ │ │ │ ├── TokenStreamIOException.hpp │ │ │ │ ├── TokenStreamRecognitionException.hpp │ │ │ │ ├── TokenStreamRetryException.hpp │ │ │ │ ├── TokenStreamRewriteEngine.hpp │ │ │ │ ├── TokenStreamSelector.hpp │ │ │ │ ├── TokenWithIndex.hpp │ │ │ │ ├── TreeParser.hpp │ │ │ │ ├── TreeParserSharedInputState.hpp │ │ │ │ └── config.hpp │ │ │ ├── contrib │ │ │ │ └── bcb4 │ │ │ │ │ ├── README │ │ │ │ │ ├── antlr.bpr │ │ │ │ │ └── antlr.cpp │ │ │ ├── doxygen.cfg │ │ │ ├── scripts │ │ │ │ ├── cr_stripper.sh │ │ │ │ └── make_change_log.tcl │ │ │ └── src │ │ │ │ ├── ANTLRUtil.cpp │ │ │ │ ├── ASTFactory.cpp │ │ │ │ ├── ASTNULLType.cpp │ │ │ │ ├── ASTRefCount.cpp │ │ │ │ ├── BaseAST.cpp │ │ │ │ ├── BitSet.cpp │ │ │ │ ├── CharBuffer.cpp │ │ │ │ ├── CharScanner.cpp │ │ │ │ ├── CommonAST.cpp │ │ │ │ ├── CommonASTWithHiddenTokens.cpp │ │ │ │ ├── CommonHiddenStreamToken.cpp │ │ │ │ ├── CommonToken.cpp │ │ │ │ ├── InputBuffer.cpp │ │ │ │ ├── LLkParser.cpp │ │ │ │ ├── Makefile.in │ │ │ │ ├── MismatchedCharException.cpp │ │ │ │ ├── MismatchedTokenException.cpp │ │ │ │ ├── NoViableAltException.cpp │ │ │ │ ├── NoViableAltForCharException.cpp │ │ │ │ ├── Parser.cpp │ │ │ │ ├── RecognitionException.cpp │ │ │ │ ├── String.cpp │ │ │ │ ├── Token.cpp │ │ │ │ ├── TokenBuffer.cpp │ │ │ │ ├── TokenRefCount.cpp │ │ │ │ ├── TokenStreamBasicFilter.cpp │ │ │ │ ├── TokenStreamHiddenTokenFilter.cpp │ │ │ │ ├── TokenStreamRewriteEngine.cpp │ │ │ │ ├── TokenStreamSelector.cpp │ │ │ │ ├── TreeParser.cpp │ │ │ │ └── dll.cpp │ │ ├── csharp │ │ │ ├── ASTFrame │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── antlr.astframe.csproj │ │ │ │ ├── antlr.astframe.dll │ │ │ │ └── antlr.debug.misc │ │ │ │ │ ├── ASTFrame.cs │ │ │ │ │ ├── ASTFrame.resx │ │ │ │ │ ├── JTreeASTPanel.cs │ │ │ │ │ └── JTreeASTPanel.resx │ │ │ ├── Makefile.in │ │ │ ├── antlr.net-runtime-2.7.5.sln │ │ │ ├── antlr.runtime.build │ │ │ └── src │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ ├── Makefile.in │ │ │ │ ├── SupportClass.cs │ │ │ │ ├── antlr.collections.impl │ │ │ │ ├── ASTArray.cs │ │ │ │ └── BitSet.cs │ │ │ │ ├── antlr.collections │ │ │ │ └── AST.cs │ │ │ │ ├── antlr.debug │ │ │ │ ├── ANTLREventArgs.cs │ │ │ │ ├── DebuggingCharScanner.cs │ │ │ │ ├── DebuggingInputBuffer.cs │ │ │ │ ├── DebuggingParser.cs │ │ │ │ ├── GuessingEventArgs.cs │ │ │ │ ├── ICharScannerDebugSubject.cs │ │ │ │ ├── IDebugSubject.cs │ │ │ │ ├── IParserDebugSubject.cs │ │ │ │ ├── InputBufferEventArgs.cs │ │ │ │ ├── InputBufferEventSupport.cs │ │ │ │ ├── InputBufferListener.cs │ │ │ │ ├── InputBufferListenerBase.cs │ │ │ │ ├── InputBufferReporter.cs │ │ │ │ ├── LLkDebuggingParser.cs │ │ │ │ ├── Listener.cs │ │ │ │ ├── MessageEventArgs.cs │ │ │ │ ├── MessageListener.cs │ │ │ │ ├── MessageListenerBase.cs │ │ │ │ ├── NewLineEventArgs.cs │ │ │ │ ├── NewLineListener.cs │ │ │ │ ├── ParseTreeDebugParser.cs │ │ │ │ ├── ParserController.cs │ │ │ │ ├── ParserEventSupport.cs │ │ │ │ ├── ParserListener.cs │ │ │ │ ├── ParserListenerBase.cs │ │ │ │ ├── ParserMatchEventArgs.cs │ │ │ │ ├── ParserMatchListener.cs │ │ │ │ ├── ParserMatchListenerBase.cs │ │ │ │ ├── ParserReporter.cs │ │ │ │ ├── ParserTokenEventArgs.cs │ │ │ │ ├── ParserTokenListener.cs │ │ │ │ ├── ParserTokenListenerBase.cs │ │ │ │ ├── ScannerEventSupport.cs │ │ │ │ ├── SemanticPredicateEventArgs.cs │ │ │ │ ├── SemanticPredicateListener.cs │ │ │ │ ├── SemanticPredicateListenerBase.cs │ │ │ │ ├── SyntacticPredicateEventArgs.cs │ │ │ │ ├── SyntacticPredicateListener.cs │ │ │ │ ├── SyntacticPredicateListenerBase.cs │ │ │ │ ├── TraceEventArgs.cs │ │ │ │ ├── TraceListener.cs │ │ │ │ ├── TraceListenerBase.cs │ │ │ │ └── Tracer.cs │ │ │ │ ├── antlr.runtime-2.7.5.csproj │ │ │ │ └── antlr │ │ │ │ ├── ANTLRException.cs │ │ │ │ ├── ANTLRPanicException.cs │ │ │ │ ├── ASTFactory.cs │ │ │ │ ├── ASTNULLType.cs │ │ │ │ ├── ASTNodeCreator.cs │ │ │ │ ├── ASTPair.cs │ │ │ │ ├── ASTVisitor.cs │ │ │ │ ├── BaseAST.cs │ │ │ │ ├── ByteBuffer.cs │ │ │ │ ├── CharBuffer.cs │ │ │ │ ├── CharQueue.cs │ │ │ │ ├── CharScanner.cs │ │ │ │ ├── CharStreamException.cs │ │ │ │ ├── CharStreamIOException.cs │ │ │ │ ├── CommonAST.cs │ │ │ │ ├── CommonASTWithHiddenTokens.cs │ │ │ │ ├── CommonHiddenStreamToken.cs │ │ │ │ ├── CommonToken.cs │ │ │ │ ├── DefaultFileLineFormatter.cs │ │ │ │ ├── DumpASTVisitor.cs │ │ │ │ ├── FileLineFormatter.cs │ │ │ │ ├── IHiddenStreamToken.cs │ │ │ │ ├── IToken.cs │ │ │ │ ├── InputBuffer.cs │ │ │ │ ├── LLkParser.cs │ │ │ │ ├── LexerSharedInputState.cs │ │ │ │ ├── MismatchedCharException.cs │ │ │ │ ├── MismatchedTokenException.cs │ │ │ │ ├── NoViableAltException.cs │ │ │ │ ├── NoViableAltForCharException.cs │ │ │ │ ├── ParseTree.cs │ │ │ │ ├── ParseTreeRule.cs │ │ │ │ ├── ParseTreeToken.cs │ │ │ │ ├── Parser.cs │ │ │ │ ├── ParserSharedInputState.cs │ │ │ │ ├── RecognitionException.cs │ │ │ │ ├── SemanticException.cs │ │ │ │ ├── StringUtils.cs │ │ │ │ ├── Token.cs │ │ │ │ ├── TokenBuffer.cs │ │ │ │ ├── TokenCreator.cs │ │ │ │ ├── TokenQueue.cs │ │ │ │ ├── TokenStream.cs │ │ │ │ ├── TokenStreamBasicFilter.cs │ │ │ │ ├── TokenStreamException.cs │ │ │ │ ├── TokenStreamHiddenTokenFilter.cs │ │ │ │ ├── TokenStreamIOException.cs │ │ │ │ ├── TokenStreamRecognitionException.cs │ │ │ │ ├── TokenStreamRetryException.cs │ │ │ │ ├── TokenStreamRewriteEngine.cs │ │ │ │ ├── TokenStreamSelector.cs │ │ │ │ ├── TokenWithIndex.cs │ │ │ │ ├── TreeParser.cs │ │ │ │ └── TreeParserSharedInputState.cs │ │ └── python │ │ │ ├── Makefile.in │ │ │ ├── antlr │ │ │ ├── __init__.py │ │ │ └── antlr.py │ │ │ └── setup.py │ └── scripts │ │ ├── Rules.make │ │ ├── antlr-config.in │ │ ├── antlr.sh │ │ ├── antlr.sh.in │ │ ├── antlr.spec │ │ ├── antlr.spec.in │ │ ├── c.sh │ │ ├── c.sh.in │ │ ├── config.deps │ │ ├── config.deps.in │ │ ├── config.guess │ │ ├── config.make │ │ ├── config.make.in │ │ ├── config.sub │ │ ├── config.vars │ │ ├── config.vars.in │ │ ├── cpp.sh │ │ ├── cpp.sh.in │ │ ├── csc.sh │ │ ├── csc.sh.in │ │ ├── cxx.sh │ │ ├── cxx.sh.in │ │ ├── install-sh │ │ ├── jar.sh │ │ ├── jar.sh.in │ │ ├── java.sh │ │ ├── java.sh.in │ │ ├── javac.sh │ │ ├── javac.sh.in │ │ ├── lib.sh │ │ ├── lib.sh.in │ │ ├── link.sh │ │ ├── link.sh.in │ │ ├── pyantlr.sh │ │ ├── pyinst.sh.in │ │ ├── python.sh │ │ ├── python.sh.in │ │ └── run-antlr.in └── moq-3.1.416.3 │ ├── License.txt │ ├── Moq.dll │ └── Moq.xml ├── license.txt ├── micro-profile.build ├── nant ├── nant.ps1 ├── notice.txt ├── nunit ├── nunit.ps1 ├── performance ├── ArrayInitializer.boo ├── ArrayInitializer.cs ├── callables.boo ├── char-in-string.boo ├── delegate.boo ├── duckoperators.boo ├── duckoperators.py ├── implicit-bool.boo └── unboxing.cs ├── scripts ├── Templates │ ├── CodeSerializer.cs │ ├── Collection.cs │ ├── CollectionImpl.cs │ ├── DepthFirstGuide.cs │ ├── DepthFirstTransformer.cs │ ├── DepthFirstVisitor.cs │ ├── Enum.cs │ ├── FastDepthFirstVisitor.cs │ ├── IAstVisitor.cs │ ├── Node.cs │ ├── NodeImpl.cs │ └── NodeType.cs ├── VisitorBenchmark.boo ├── astgen.boo ├── dumptokens.boo ├── error-patterns.boo ├── github-release.boo ├── removenotice.boo ├── rename-types.boo └── update-vs2005-env.boo ├── settings.gradle ├── src ├── .gitattributes ├── .gitignore ├── Boo-VS2010.sln ├── Boo-VS2010.sln.DotSettings ├── Boo.Core.sln ├── Boo.Lang.CodeDom │ ├── AssemblyInfo.boo │ ├── Boo.Lang.CodeDom.booproj │ ├── BooCodeCompiler.boo │ ├── BooCodeGenerator.boo │ ├── BooCodeProvider.boo │ ├── Extensions.boo │ ├── README │ ├── default.build │ └── test.xsd ├── Boo.Lang.Compiler │ ├── .monolipse │ ├── AbstractAstAttribute.cs │ ├── AbstractAstGeneratorMacro.cs │ ├── AbstractAstMacro.cs │ ├── AbstractCompilerComponent.cs │ ├── AssemblyInfo.cs │ ├── Ast │ │ ├── ArrayLiteralExpression.cs │ │ ├── ArrayTypeReference.cs │ │ ├── AstNodePredicates.cs │ │ ├── AstUtil.cs │ │ ├── AsyncBlockExpression.cs │ │ ├── Attribute.cs │ │ ├── AttributeCollection.cs │ │ ├── AwaitExpression.cs │ │ ├── BinaryExpression.cs │ │ ├── BinaryOperatorKind.Generated.cs │ │ ├── BinaryOperatorType.Generated.cs │ │ ├── Block.cs │ │ ├── BlockExpression.cs │ │ ├── BoolLiteralExpression.cs │ │ ├── BreakStatement.cs │ │ ├── CallableDefinition.cs │ │ ├── CallableTypeReference.cs │ │ ├── CastExpression.cs │ │ ├── CharLiteralExpression.cs │ │ ├── ClassDefinition.cs │ │ ├── CodeSerializer.cs │ │ ├── CollectionInitializationExpression.cs │ │ ├── CompileUnit.cs │ │ ├── ConditionalExpression.cs │ │ ├── ConditionalStatement.Generated.cs │ │ ├── Constructor.cs │ │ ├── ContinueStatement.cs │ │ ├── CustomExpression.Generated.cs │ │ ├── CustomStatement.Generated.cs │ │ ├── Declaration.cs │ │ ├── DeclarationCollection.cs │ │ ├── DeclarationStatement.cs │ │ ├── DepthFirstTransformer.cs │ │ ├── DepthFirstVisitor.cs │ │ ├── Destructor.cs │ │ ├── DoubleLiteralExpression.cs │ │ ├── EnumDefinition.cs │ │ ├── EnumMember.cs │ │ ├── Event.cs │ │ ├── ExceptionHandler.cs │ │ ├── ExceptionHandlerCollection.cs │ │ ├── ExceptionHandlerFlags.Generated.cs │ │ ├── ExplicitMemberInfo.cs │ │ ├── Expression.cs │ │ ├── ExpressionCollection.cs │ │ ├── ExpressionInterpolationExpression.cs │ │ ├── ExpressionPair.cs │ │ ├── ExpressionPairCollection.cs │ │ ├── ExpressionStatement.cs │ │ ├── ExtendedGeneratorExpression.cs │ │ ├── Field.cs │ │ ├── ForStatement.cs │ │ ├── GeneratorExpression.cs │ │ ├── GeneratorExpressionCollection.cs │ │ ├── GenericParameterConstraints.Generated.cs │ │ ├── GenericParameterDeclaration.cs │ │ ├── GenericParameterDeclarationCollection.cs │ │ ├── GenericReferenceExpression.Generated.cs │ │ ├── GenericTypeDefinitionReference.cs │ │ ├── GenericTypeReference.cs │ │ ├── GotoStatement.cs │ │ ├── HashLiteralExpression.cs │ │ ├── IAstVisitor.Generated.cs │ │ ├── IExplicitMember.cs │ │ ├── INodeWithArguments.cs │ │ ├── INodeWithAttributes.cs │ │ ├── INodeWithBody.cs │ │ ├── INodeWithGenericParameters.cs │ │ ├── INodeWithParameters.cs │ │ ├── IfStatement.cs │ │ ├── Impl │ │ │ ├── ArrayLiteralExpressionImpl.cs │ │ │ ├── ArrayTypeReferenceImpl.cs │ │ │ ├── AsyncBlockExpressionImpl.cs │ │ │ ├── AttributeCollectionImpl.cs │ │ │ ├── AttributeImpl.cs │ │ │ ├── AwaitExpressionImpl.cs │ │ │ ├── BinaryExpressionImpl.cs │ │ │ ├── BlockExpressionImpl.cs │ │ │ ├── BlockImpl.cs │ │ │ ├── BoolLiteralExpressionImpl.cs │ │ │ ├── BreakStatementImpl.cs │ │ │ ├── CallableDefinitionImpl.cs │ │ │ ├── CallableTypeReferenceImpl.cs │ │ │ ├── CastExpressionImpl.cs │ │ │ ├── CharLiteralExpressionImpl.cs │ │ │ ├── ClassDefinitionImpl.cs │ │ │ ├── CodeSerializer.cs │ │ │ ├── CollectionInitializationExpressionImpl.cs │ │ │ ├── CompileUnitImpl.cs │ │ │ ├── ConditionalExpressionImpl.cs │ │ │ ├── ConditionalStatementImpl.cs │ │ │ ├── ConstructorImpl.cs │ │ │ ├── ContinueStatementImpl.cs │ │ │ ├── CustomExpressionImpl.cs │ │ │ ├── CustomStatementImpl.cs │ │ │ ├── DeclarationCollectionImpl.cs │ │ │ ├── DeclarationImpl.cs │ │ │ ├── DeclarationStatementImpl.cs │ │ │ ├── DepthFirstGuide.cs │ │ │ ├── DepthFirstTransformer.cs │ │ │ ├── DepthFirstVisitor.cs │ │ │ ├── DestructorImpl.cs │ │ │ ├── DoubleLiteralExpressionImpl.cs │ │ │ ├── EnumDefinitionImpl.cs │ │ │ ├── EnumMemberImpl.cs │ │ │ ├── EventImpl.cs │ │ │ ├── ExceptionHandlerCollectionImpl.cs │ │ │ ├── ExceptionHandlerImpl.cs │ │ │ ├── ExplicitMemberInfoImpl.cs │ │ │ ├── ExpressionCollectionImpl.cs │ │ │ ├── ExpressionImpl.cs │ │ │ ├── ExpressionInterpolationExpressionImpl.cs │ │ │ ├── ExpressionPairCollectionImpl.cs │ │ │ ├── ExpressionPairImpl.cs │ │ │ ├── ExpressionStatementImpl.cs │ │ │ ├── ExtendedGeneratorExpressionImpl.cs │ │ │ ├── FastDepthFirstVisitor.cs │ │ │ ├── FieldImpl.cs │ │ │ ├── ForStatementImpl.cs │ │ │ ├── GeneratorExpressionCollectionImpl.cs │ │ │ ├── GeneratorExpressionImpl.cs │ │ │ ├── GenericParameterDeclarationCollectionImpl.cs │ │ │ ├── GenericParameterDeclarationImpl.cs │ │ │ ├── GenericReferenceExpressionImpl.cs │ │ │ ├── GenericTypeDefinitionReferenceImpl.cs │ │ │ ├── GenericTypeReferenceImpl.cs │ │ │ ├── GotoStatementImpl.cs │ │ │ ├── HashLiteralExpressionImpl.cs │ │ │ ├── IfStatementImpl.cs │ │ │ ├── ImportCollectionImpl.cs │ │ │ ├── ImportImpl.cs │ │ │ ├── IntegerLiteralExpressionImpl.cs │ │ │ ├── InterfaceDefinitionImpl.cs │ │ │ ├── LabelStatementImpl.cs │ │ │ ├── ListLiteralExpressionImpl.cs │ │ │ ├── LiteralExpressionImpl.cs │ │ │ ├── LocalCollectionImpl.cs │ │ │ ├── LocalImpl.cs │ │ │ ├── MacroStatementImpl.cs │ │ │ ├── MemberReferenceExpressionImpl.cs │ │ │ ├── MethodImpl.cs │ │ │ ├── MethodInvocationExpressionImpl.cs │ │ │ ├── ModuleCollectionImpl.cs │ │ │ ├── ModuleImpl.cs │ │ │ ├── NamespaceDeclarationImpl.cs │ │ │ ├── NullLiteralExpressionImpl.cs │ │ │ ├── ParameterDeclarationCollectionImpl.cs │ │ │ ├── ParameterDeclarationImpl.cs │ │ │ ├── PropertyImpl.cs │ │ │ ├── QuasiquoteExpressionImpl.cs │ │ │ ├── RELiteralExpressionImpl.cs │ │ │ ├── RaiseStatementImpl.cs │ │ │ ├── ReferenceExpressionImpl.cs │ │ │ ├── ReturnStatementImpl.cs │ │ │ ├── SelfLiteralExpressionImpl.cs │ │ │ ├── SimpleTypeReferenceImpl.cs │ │ │ ├── SliceCollectionImpl.cs │ │ │ ├── SliceImpl.cs │ │ │ ├── SlicingExpressionImpl.cs │ │ │ ├── SpliceExpressionImpl.cs │ │ │ ├── SpliceMemberReferenceExpressionImpl.cs │ │ │ ├── SpliceParameterDeclarationImpl.cs │ │ │ ├── SpliceTypeDefinitionBodyImpl.cs │ │ │ ├── SpliceTypeMemberImpl.cs │ │ │ ├── SpliceTypeReferenceImpl.cs │ │ │ ├── StatementCollectionImpl.cs │ │ │ ├── StatementImpl.cs │ │ │ ├── StatementModifierImpl.cs │ │ │ ├── StatementTypeMemberImpl.cs │ │ │ ├── StringLiteralExpressionImpl.cs │ │ │ ├── StructDefinitionImpl.cs │ │ │ ├── SuperLiteralExpressionImpl.cs │ │ │ ├── TimeSpanLiteralExpressionImpl.cs │ │ │ ├── TryCastExpressionImpl.cs │ │ │ ├── TryStatementImpl.cs │ │ │ ├── TypeDefinitionCollectionImpl.cs │ │ │ ├── TypeDefinitionImpl.cs │ │ │ ├── TypeMemberCollectionImpl.cs │ │ │ ├── TypeMemberImpl.cs │ │ │ ├── TypeMemberStatementImpl.cs │ │ │ ├── TypeReferenceCollectionImpl.cs │ │ │ ├── TypeReferenceImpl.cs │ │ │ ├── TypeofExpressionImpl.cs │ │ │ ├── UnaryExpressionImpl.cs │ │ │ ├── UnlessStatementImpl.cs │ │ │ ├── UnpackStatementImpl.cs │ │ │ ├── WhileStatementImpl.cs │ │ │ └── YieldStatementImpl.cs │ │ ├── Import.cs │ │ ├── ImportCollection.cs │ │ ├── IntegerLiteralExpression.cs │ │ ├── InterfaceDefinition.cs │ │ ├── LabelStatement.cs │ │ ├── LexicalInfo.cs │ │ ├── ListLiteralExpression.cs │ │ ├── LiteralExpression.cs │ │ ├── Local.cs │ │ ├── LocalCollection.cs │ │ ├── MacroStatement.cs │ │ ├── MemberReferenceExpression.cs │ │ ├── Method.cs │ │ ├── MethodImplementationFlags.Generated.cs │ │ ├── MethodInvocationExpression.cs │ │ ├── Module.cs │ │ ├── ModuleCollection.cs │ │ ├── NamespaceDeclaration.cs │ │ ├── Node.cs │ │ ├── NodeCollection.cs │ │ ├── NodeExtensions.cs │ │ ├── NodeType.Generated.cs │ │ ├── NullLiteralExpression.cs │ │ ├── OmittedExpression.cs │ │ ├── ParameterDeclaration.cs │ │ ├── ParameterDeclarationCollection.cs │ │ ├── ParameterModifiers.Generated.cs │ │ ├── Property.cs │ │ ├── QuasiquoteExpression.cs │ │ ├── RELiteralExpression.cs │ │ ├── RaiseStatement.cs │ │ ├── ReferenceExpression.cs │ │ ├── ReturnStatement.cs │ │ ├── SelfLiteralExpression.cs │ │ ├── SimpleTypeReference.cs │ │ ├── Slice.cs │ │ ├── SliceCollection.cs │ │ ├── SlicingExpression.cs │ │ ├── SpliceExpression.cs │ │ ├── SpliceMemberReferenceExpression.cs │ │ ├── SpliceParameterDeclaration.cs │ │ ├── SpliceTypeDefinitionBody.Generated.cs │ │ ├── SpliceTypeDefinitionBody.cs │ │ ├── SpliceTypeMember.cs │ │ ├── SpliceTypeReference.cs │ │ ├── Statement.cs │ │ ├── StatementCollection.cs │ │ ├── StatementModifier.cs │ │ ├── StatementModifierType.Generated.cs │ │ ├── StatementTypeMember.cs │ │ ├── StringLiteralExpression.cs │ │ ├── StructDefinition.cs │ │ ├── SuperLiteralExpression.cs │ │ ├── TimeSpanLiteralExpression.cs │ │ ├── TryCastExpression.cs │ │ ├── TryStatement.cs │ │ ├── TypeDefinition.cs │ │ ├── TypeDefinitionCollection.cs │ │ ├── TypeMember.cs │ │ ├── TypeMemberCollection.cs │ │ ├── TypeMemberModifiers.Generated.cs │ │ ├── TypeMemberStatement.Generated.cs │ │ ├── TypeMemberStatement.cs │ │ ├── TypeReference.cs │ │ ├── TypeReferenceCollection.cs │ │ ├── TypeofExpression.cs │ │ ├── UnaryExpression.cs │ │ ├── UnaryOperatorType.Generated.cs │ │ ├── UnlessStatement.cs │ │ ├── UnpackStatement.cs │ │ ├── Visitors │ │ │ ├── BooPrinterVisitor.cs │ │ │ ├── PseudoCSharpPrinterVisitor.cs │ │ │ ├── TextEmitter.cs │ │ │ └── TreePrinterVisitor.cs │ │ ├── WhileStatement.cs │ │ └── YieldStatement.cs │ ├── Attributes │ │ ├── ExtensionAttribute.cs │ │ └── StrictModeAttribute.cs │ ├── Boo.Lang.Compiler.csproj │ ├── BooCompiler.cs │ ├── CancellableEventArgs.cs │ ├── CompilerContext.cs │ ├── CompilerError.cs │ ├── CompilerErrorCollection.cs │ ├── CompilerErrorFactory.cs │ ├── CompilerInputCollection.cs │ ├── CompilerOutputType.cs │ ├── CompilerParameters.cs │ ├── CompilerPipeline.cs │ ├── CompilerReferenceCollection.cs │ ├── CompilerResourceCollection.cs │ ├── CompilerWarning.cs │ ├── CompilerWarningCollection.cs │ ├── CompilerWarningFactory.cs │ ├── Environments │ │ └── MyIdiom.cs │ ├── IAstAttribute.cs │ ├── IAstGeneratorMacro.cs │ ├── IAstMacro.cs │ ├── ICompilerComponent.cs │ ├── ICompilerInput.cs │ ├── ICompilerResource.cs │ ├── ICompilerResourceWriter.cs │ ├── ICompilerStep.cs │ ├── IO │ │ ├── FileInput.cs │ │ ├── ReaderInput.cs │ │ └── StringInput.cs │ ├── LexicalInfoPreservingGeneratorMacro.cs │ ├── LexicalInfoPreservingMacro.cs │ ├── MetaProgramming │ │ ├── Compilation.cs │ │ └── CompilationErrorsException.cs │ ├── Pipelines │ │ ├── CheckForErrors.cs │ │ ├── Compile.cs │ │ ├── CompileToBoo.cs │ │ ├── CompileToFile.cs │ │ ├── CompileToFileAndVerify.cs │ │ ├── CompileToMemory.cs │ │ ├── ExpandMacros.cs │ │ ├── Parse.cs │ │ ├── ParseAndPrint.cs │ │ ├── ParseAndPrintAst.cs │ │ ├── ParseAndPrintXml.cs │ │ ├── RemoveEmptyBlocks.cs │ │ ├── ResolveExpressions.cs │ │ └── Run.cs │ ├── Resources │ │ ├── EmbeddedFileResource.cs │ │ ├── FileResource.cs │ │ ├── NamedEmbeddedFileResource.cs │ │ ├── NamedFileResource.cs │ │ └── UnmanagedResourceHelper.cs │ ├── Services │ │ ├── ExtensionTagger.cs │ │ ├── LanguageAmbiance.cs │ │ └── UniqueNameProvider.cs │ ├── Steps │ │ ├── AbstractCompilerStep.cs │ │ ├── AbstractFastVisitorCompilerStep.cs │ │ ├── AbstractNamespaceSensitiveCompilerStep.cs │ │ ├── AbstractNamespaceSensitiveVisitorCompilerStep.cs │ │ ├── AbstractTransformerCompilerStep.cs │ │ ├── AbstractVisitorCompilerStep.cs │ │ ├── ActionStep.cs │ │ ├── AstAnnotations.cs │ │ ├── AsyncAwait │ │ │ ├── AsyncExceptionHandlerRewriter.cs │ │ │ ├── AsyncMethodBuilderMemberCollection.cs │ │ │ ├── AsyncMethodProcessor.cs │ │ │ ├── AsyncTypeHelper.cs │ │ │ ├── AwaitExpressionSpiller.cs │ │ │ ├── LabelCollector.cs │ │ │ └── LocalReferenceCollector.cs │ │ ├── BindBaseTypes.cs │ │ ├── BindEnumMembers.cs │ │ ├── BindGenericParameters.cs │ │ ├── BindMethods.cs │ │ ├── BindTypeDefinitions.cs │ │ ├── BindTypeMembers.cs │ │ ├── BranchChecking.cs │ │ ├── CacheRegularExpressionsInStaticFields.cs │ │ ├── CallableTypeElision.cs │ │ ├── CheckAttributesUsage.cs │ │ ├── CheckGenericConstraints.cs │ │ ├── CheckIdentifiers.cs │ │ ├── CheckLiteralValues.cs │ │ ├── CheckMemberNames.cs │ │ ├── CheckMemberTypes.cs │ │ ├── CheckMembersProtectionLevel.cs │ │ ├── CheckNeverUsedMembers.cs │ │ ├── CheckSlicingExpressions.cs │ │ ├── ClosureSignatureInferrer.cs │ │ ├── ConstantFolding.cs │ │ ├── ContextAnnotations.cs │ │ ├── DetectInnerGenerics.cs │ │ ├── DetectNotImplementedFeatureUsage.cs │ │ ├── DumpReferences.cs │ │ ├── EmitAssembly.cs │ │ ├── EntityPredicates.cs │ │ ├── ExpandAstLiterals.cs │ │ ├── ExpandComplexSlicingExpressions.cs │ │ ├── ExpandDuckTypedExpressions.cs │ │ ├── ExpandPropertiesAndEvents.cs │ │ ├── ExpandVarArgsMethodInvocations.cs │ │ ├── ForeignReferenceCollector.cs │ │ ├── Generators │ │ │ ├── GeneratorExpressionProcessor.cs │ │ │ ├── GeneratorItemTypeInferrer.cs │ │ │ ├── GeneratorMethodProcessor.cs │ │ │ ├── GeneratorSkeleton.cs │ │ │ ├── GeneratorSkeletonBuilder.cs │ │ │ └── GeneratorTypeReplacer.cs │ │ ├── GenericConstraintsValidator.cs │ │ ├── GenericTypeFinder.cs │ │ ├── GenericTypeMapper.cs │ │ ├── GotoOnTopLevelContinue.cs │ │ ├── ImplementICallableOnCallableDefinitions.cs │ │ ├── InheritNestedGenericParameters.cs │ │ ├── Inheritance │ │ │ └── BaseTypeResolution.cs │ │ ├── InitializeNameResolutionService.cs │ │ ├── InjectCallableConversions.cs │ │ ├── InjectCastsAndConversions.cs │ │ ├── InjectImplicitBooleanConversions.cs │ │ ├── IntroduceGlobalNamespaces.cs │ │ ├── IntroduceModuleClasses.cs │ │ ├── MacroAndAttributeExpansion.cs │ │ ├── MacroProcessing │ │ │ ├── BindAndApplyAttributes.cs │ │ │ ├── MacroCompiler.cs │ │ │ ├── MacroExpander.cs │ │ │ ├── NodeGeneratorExpander.cs │ │ │ └── TypeMemberStatementBubbler.cs │ │ ├── MergePartialTypes.cs │ │ ├── MethodTrackingVisitorCompilerStep.cs │ │ ├── NormalizeExpressions.cs │ │ ├── NormalizeIterationStatements.cs │ │ ├── NormalizeStatementModifiers.cs │ │ ├── NormalizeTypeAndMemberDefinitions.cs │ │ ├── OptimizeIterationStatements.cs │ │ ├── PEVerify.cs │ │ ├── Parsing.cs │ │ ├── PreErrorChecking.cs │ │ ├── PrintAst.cs │ │ ├── PrintBoo.cs │ │ ├── PrintErrors.cs │ │ ├── PrintWarnings.cs │ │ ├── ProcessAssignmentsToSpecialMembers.cs │ │ ├── ProcessAssignmentsToValueTypeMembers.cs │ │ ├── ProcessClosures.cs │ │ ├── ProcessGenerators.cs │ │ ├── ProcessGeneratorsAndAsyncMethods.cs │ │ ├── ProcessInheritedAbstractMembers.cs │ │ ├── ProcessMethodBodies.cs │ │ ├── ProcessMethodBodiesWithDuckTyping.cs │ │ ├── ProcessSharedLocals.cs │ │ ├── ReifyTypes.cs │ │ ├── RemoveDeadCode.cs │ │ ├── ResolveImports.cs │ │ ├── ResolveTypeReferences.cs │ │ ├── RunAssembly.cs │ │ ├── SafeAccessOperator.cs │ │ ├── SaveAssembly.cs │ │ ├── SelfEntity.cs │ │ ├── SerializeToXml.cs │ │ ├── StateMachine │ │ │ ├── MethodToStateMachineTransformer.cs │ │ │ └── StateMachineStates.cs │ │ ├── StricterErrorChecking.cs │ │ ├── TransformCallableDefinitions.cs │ │ ├── TypeFinder.cs │ │ ├── TypeInference.cs │ │ └── VerifyExtensionMethods.cs │ ├── TypeSystem │ │ ├── Ambiguous.cs │ │ ├── Builders │ │ │ ├── BooClassBuilder.cs │ │ │ ├── BooMethodBuilder.cs │ │ │ ├── CallableTypeBuilder.cs │ │ │ ├── ICodeBuilder.cs │ │ │ ├── ITypeReferenceFactory.cs │ │ │ ├── MappedTypeReferenceFactory.cs │ │ │ └── StandardTypeReferenceFactory.cs │ │ ├── BuiltinFunction.cs │ │ ├── BuiltinFunctionType.cs │ │ ├── CallableSignature.cs │ │ ├── Core │ │ │ ├── AbstractType.cs │ │ │ ├── AliasedNamespace.cs │ │ │ ├── AnonymousCallableType.cs │ │ │ ├── ArrayType.cs │ │ │ ├── ArrayTypeCache.cs │ │ │ ├── EmptyArrayType.cs │ │ │ ├── Entities.cs │ │ │ ├── EnvironmentProperty.cs │ │ │ ├── GlobalNamespace.cs │ │ │ ├── NamespaceDelegator.cs │ │ │ ├── Namespaces.cs │ │ │ ├── ResolvedNamespaces.cs │ │ │ └── SimpleNamespace.cs │ │ ├── EntityExtensions.cs │ │ ├── EntityType.cs │ │ ├── Error.cs │ │ ├── GenericTypeCollector.cs │ │ ├── Generics │ │ │ ├── AbstractGenericParameter.cs │ │ │ ├── GenericConstructedMethod.cs │ │ │ ├── GenericConstructedType.cs │ │ │ ├── GenericConstructionChecker.cs │ │ │ ├── GenericMappedMembers.cs │ │ │ ├── GenericMappedType.cs │ │ │ ├── GenericMappedTypeParameter.cs │ │ │ ├── GenericMapping.cs │ │ │ ├── GenericParameterInferrer.cs │ │ │ ├── GenericsServices.cs │ │ │ ├── InferredType.cs │ │ │ ├── MappedParameter.cs │ │ │ ├── TypeInferrer.cs │ │ │ └── TypeMapper.cs │ │ ├── IAccessibilityChecker.cs │ │ ├── IAccessibleMember.cs │ │ ├── IArrayType.cs │ │ ├── ICallableType.cs │ │ ├── ICompileUnit.cs │ │ ├── IConstructedMethodInfo.cs │ │ ├── IConstructedTypeInfo.cs │ │ ├── IConstructor.cs │ │ ├── IDestructor.cs │ │ ├── IEntity.cs │ │ ├── IEntityWithAttributes.cs │ │ ├── IEntityWithParameters.cs │ │ ├── IEvent.cs │ │ ├── IExtensionEnabled.cs │ │ ├── IExternalEntity.cs │ │ ├── IField.cs │ │ ├── IGenericMethodInfo.cs │ │ ├── IGenericParameter.cs │ │ ├── IGenericTypeInfo.cs │ │ ├── IInternalEntity.cs │ │ ├── ILocalEntity.cs │ │ ├── IMember.cs │ │ ├── IMethod.cs │ │ ├── IMethodBase.cs │ │ ├── INameSpace.cs │ │ ├── IOverridableMember.cs │ │ ├── IParameter.cs │ │ ├── IProperty.cs │ │ ├── IType.cs │ │ ├── ITypedEntity.cs │ │ ├── Internal │ │ │ ├── AbstractInternalType.cs │ │ │ ├── AbstractLocalEntity.cs │ │ │ ├── CompileUnitNamespace.cs │ │ │ ├── DeclarationsNamespace.cs │ │ │ ├── ImportAnnotations.cs │ │ │ ├── ImportedNamespace.cs │ │ │ ├── InternalCallableType.cs │ │ │ ├── InternalClass.cs │ │ │ ├── InternalCompileUnit.cs │ │ │ ├── InternalConstructor.cs │ │ │ ├── InternalEntity.cs │ │ │ ├── InternalEnum.cs │ │ │ ├── InternalEnumMember.cs │ │ │ ├── InternalEvent.cs │ │ │ ├── InternalField.cs │ │ │ ├── InternalGenericMapping.cs │ │ │ ├── InternalGenericMethod.cs │ │ │ ├── InternalGenericParameter.cs │ │ │ ├── InternalInterface.cs │ │ │ ├── InternalLabel.cs │ │ │ ├── InternalLocal.cs │ │ │ ├── InternalMethod.cs │ │ │ ├── InternalModule.cs │ │ │ ├── InternalParameter.cs │ │ │ ├── InternalProperty.cs │ │ │ ├── InternalTypeSystemProvider.cs │ │ │ └── PartialModuleNamespace.cs │ │ ├── Null.cs │ │ ├── Reflection │ │ │ ├── AbstractExternalGenericInfo.cs │ │ │ ├── AssemblyEqualityComparer.cs │ │ │ ├── AssemblyReference.cs │ │ │ ├── CachedMethod.cs │ │ │ ├── ExternalCallableType.cs │ │ │ ├── ExternalConstructedMethodInfo.cs │ │ │ ├── ExternalConstructedTypeInfo.cs │ │ │ ├── ExternalConstructor.cs │ │ │ ├── ExternalEntity.cs │ │ │ ├── ExternalEvent.cs │ │ │ ├── ExternalField.cs │ │ │ ├── ExternalGenericMapping.cs │ │ │ ├── ExternalGenericMethodInfo.cs │ │ │ ├── ExternalGenericParameter.cs │ │ │ ├── ExternalGenericTypeInfo.cs │ │ │ ├── ExternalMethod.cs │ │ │ ├── ExternalParameter.cs │ │ │ ├── ExternalProperty.cs │ │ │ ├── ExternalType.cs │ │ │ ├── IAssemblyReference.cs │ │ │ ├── IReflectionTypeSystemProvider.cs │ │ │ ├── ReflectionNamespace.cs │ │ │ ├── ReflectionNamespaceBuilder.cs │ │ │ └── ReflectionTypeSystemProvider.cs │ │ ├── Services │ │ │ ├── AccessibilityChecker.cs │ │ │ ├── AnonymousCallablesManager.cs │ │ │ ├── AsyncHelper.cs │ │ │ ├── BooCodeBuilder.cs │ │ │ ├── CallableResolutionService.cs │ │ │ ├── CodeReifier.cs │ │ │ ├── CompilerErrorEmitter.cs │ │ │ ├── CurrentScope.cs │ │ │ ├── DowncastPermissions.cs │ │ │ ├── EntityFormatter.cs │ │ │ ├── InvocationTypeInferenceRules.cs │ │ │ ├── MemberCollector.cs │ │ │ ├── MetadataUtil.cs │ │ │ ├── NameResolutionService.cs │ │ │ ├── RuntimeMethodCache.cs │ │ │ ├── TypeChecker.cs │ │ │ ├── TypeCompatibilityRules.cs │ │ │ └── TypeSystemServices.cs │ │ ├── TypeCollector.cs │ │ ├── TypeExtensions.cs │ │ ├── TypeSystemExtensions.cs │ │ ├── TypeVisitor.cs │ │ ├── Types.cs │ │ ├── Unknown.cs │ │ └── Variance.cs │ └── Util │ │ ├── ArrayEqualityComparer.cs │ │ ├── MemoizedFunction.cs │ │ ├── Methods.cs │ │ ├── Permissions.cs │ │ ├── Properties.cs │ │ ├── Set.cs │ │ ├── StringUtilities.cs │ │ └── TypeUtilities.cs ├── Boo.Lang.Extensions │ ├── .monolipse │ ├── AssemblyInfo.boo │ ├── Attributes │ │ ├── AsyncAttribute.boo │ │ ├── DefaultAttribute.boo │ │ ├── GetterAttribute.boo │ │ ├── LockAttribute.boo │ │ ├── PropertyAttribute.boo │ │ ├── RequiredAttribute.boo │ │ ├── TransientAttribute.boo │ │ └── VolatileAttribute.boo │ ├── Boo.Lang.Extensions.booproj │ ├── Environments │ │ └── EnvironmentExtensions.boo │ ├── Macros │ │ ├── AssertMacro.boo │ │ ├── CheckedMacro.boo │ │ ├── DebugMacro.boo │ │ ├── Globals.boo │ │ ├── IfdefMacro.boo │ │ ├── Initialization.boo │ │ ├── LockMacro.boo │ │ ├── MacroMacro.boo │ │ ├── PreservingMacro.boo │ │ ├── PrintMacro.boo │ │ ├── PropertyMacro.boo │ │ ├── RawArrayIndexingMacro.boo │ │ ├── UnsafeMacro.boo │ │ ├── UsingMacro.boo │ │ ├── VarMacro.boo │ │ └── YieldAllMacro.boo │ └── MetaMethods │ │ ├── Async.boo │ │ ├── Await.boo │ │ ├── DefaultMetaMethod.boo │ │ └── SizeOf.boo ├── Boo.Lang.Interpreter │ ├── .monolipse │ ├── AbstractInterpreter.boo │ ├── AssemblyInfo.boo │ ├── Boo.Lang.Interpreter.booproj │ ├── Boo.Lang.Interpreter.sln │ ├── Builtins │ │ ├── describe.boo │ │ ├── dir.boo │ │ └── repr.boo │ ├── ConsoleCapture.boo │ ├── InteractiveInterpreter.boo │ ├── InteractiveInterpreterConsole.boo │ └── Namespace.boo ├── Boo.Lang.Parser │ ├── .monolipse │ ├── AssemblyInfo.cs │ ├── Boo.Lang.Parser.csproj │ ├── BooExpressionLexer.cs │ ├── BooExpressionLexerTokenTypes.cs │ ├── BooExpressionLexerTokenTypes.txt │ ├── BooLexer.cs │ ├── BooParser.cs │ ├── BooParserBase.cs │ ├── BooParsingStep.cs │ ├── BooToken.cs │ ├── BooTokenTypes.cs │ ├── BooTokenTypes.txt │ ├── CodeFactory.cs │ ├── DocStringFormatter.cs │ ├── ErrorPattern.cs │ ├── GeneratedErrorPatterns.cs │ ├── OperatorParser.cs │ ├── ParserSettings.cs │ ├── PrimitiveParser.cs │ ├── SourceLocationFactory.cs │ ├── Util │ │ ├── EndTokenStreamFilter.cs │ │ ├── IndentTokenStreamFilter.cs │ │ ├── Readers.cs │ │ ├── TokenStreamRecorder.cs │ │ └── WSATokenStreamFilter.cs │ ├── WSABooParser.cs │ ├── WSABooParsingStep.cs │ ├── antlr │ │ ├── SupportClass.cs │ │ ├── antlr.collections.impl │ │ │ ├── ASTArray.cs │ │ │ └── BitSet.cs │ │ ├── antlr.collections │ │ │ └── AST.cs │ │ ├── antlr.debug │ │ │ ├── ANTLREventArgs.cs │ │ │ ├── DebuggingCharScanner.cs │ │ │ ├── DebuggingInputBuffer.cs │ │ │ ├── DebuggingParser.cs │ │ │ ├── GuessingEventArgs.cs │ │ │ ├── ICharScannerDebugSubject.cs │ │ │ ├── IDebugSubject.cs │ │ │ ├── IParserDebugSubject.cs │ │ │ ├── InputBufferEventArgs.cs │ │ │ ├── InputBufferEventSupport.cs │ │ │ ├── InputBufferListener.cs │ │ │ ├── InputBufferListenerBase.cs │ │ │ ├── InputBufferReporter.cs │ │ │ ├── LLkDebuggingParser.cs │ │ │ ├── Listener.cs │ │ │ ├── MessageEventArgs.cs │ │ │ ├── MessageListener.cs │ │ │ ├── MessageListenerBase.cs │ │ │ ├── NewLineEventArgs.cs │ │ │ ├── NewLineListener.cs │ │ │ ├── ParseTreeDebugParser.cs │ │ │ ├── ParserController.cs │ │ │ ├── ParserEventSupport.cs │ │ │ ├── ParserListener.cs │ │ │ ├── ParserListenerBase.cs │ │ │ ├── ParserMatchEventArgs.cs │ │ │ ├── ParserMatchListener.cs │ │ │ ├── ParserMatchListenerBase.cs │ │ │ ├── ParserReporter.cs │ │ │ ├── ParserTokenEventArgs.cs │ │ │ ├── ParserTokenListener.cs │ │ │ ├── ParserTokenListenerBase.cs │ │ │ ├── ScannerEventSupport.cs │ │ │ ├── SemanticPredicateEventArgs.cs │ │ │ ├── SemanticPredicateListener.cs │ │ │ ├── SemanticPredicateListenerBase.cs │ │ │ ├── SyntacticPredicateEventArgs.cs │ │ │ ├── SyntacticPredicateListener.cs │ │ │ ├── SyntacticPredicateListenerBase.cs │ │ │ ├── TraceEventArgs.cs │ │ │ ├── TraceListener.cs │ │ │ ├── TraceListenerBase.cs │ │ │ └── Tracer.cs │ │ └── antlr │ │ │ ├── ANTLRException.cs │ │ │ ├── ANTLRPanicException.cs │ │ │ ├── ASTFactory.cs │ │ │ ├── ASTNULLType.cs │ │ │ ├── ASTNodeCreator.cs │ │ │ ├── ASTPair.cs │ │ │ ├── ASTVisitor.cs │ │ │ ├── BaseAST.cs │ │ │ ├── ByteBuffer.cs │ │ │ ├── CharBuffer.cs │ │ │ ├── CharQueue.cs │ │ │ ├── CharScanner.cs │ │ │ ├── CharStreamException.cs │ │ │ ├── CharStreamIOException.cs │ │ │ ├── CommonAST.cs │ │ │ ├── CommonASTWithHiddenTokens.cs │ │ │ ├── CommonHiddenStreamToken.cs │ │ │ ├── CommonToken.cs │ │ │ ├── DefaultFileLineFormatter.cs │ │ │ ├── DumpASTVisitor.cs │ │ │ ├── FileLineFormatter.cs │ │ │ ├── IHiddenStreamToken.cs │ │ │ ├── IToken.cs │ │ │ ├── InputBuffer.cs │ │ │ ├── LLkParser.cs │ │ │ ├── LexerSharedInputState.cs │ │ │ ├── MismatchedCharException.cs │ │ │ ├── MismatchedTokenException.cs │ │ │ ├── NoViableAltException.cs │ │ │ ├── NoViableAltForCharException.cs │ │ │ ├── ParseTree.cs │ │ │ ├── ParseTreeRule.cs │ │ │ ├── ParseTreeToken.cs │ │ │ ├── Parser.cs │ │ │ ├── ParserSharedInputState.cs │ │ │ ├── RecognitionException.cs │ │ │ ├── SemanticException.cs │ │ │ ├── StringUtils.cs │ │ │ ├── Token.cs │ │ │ ├── TokenBuffer.cs │ │ │ ├── TokenCreator.cs │ │ │ ├── TokenQueue.cs │ │ │ ├── TokenStream.cs │ │ │ ├── TokenStreamBasicFilter.cs │ │ │ ├── TokenStreamException.cs │ │ │ ├── TokenStreamHiddenTokenFilter.cs │ │ │ ├── TokenStreamIOException.cs │ │ │ ├── TokenStreamRecognitionException.cs │ │ │ ├── TokenStreamRetryException.cs │ │ │ ├── TokenStreamRewriteEngine.cs │ │ │ ├── TokenStreamSelector.cs │ │ │ ├── TokenWithIndex.cs │ │ │ ├── TreeParser.cs │ │ │ └── TreeParserSharedInputState.cs │ ├── boo.g │ └── booel.g ├── Boo.Lang.PatternMatching │ ├── .monolipse │ ├── AssemblyInfo.boo │ ├── Boo.Lang.PatternMatching.booproj │ ├── Boo.Lang.PatternMatching.sln │ ├── Impl │ │ ├── Globals.boo │ │ ├── MatchExpansion.boo │ │ └── PatternExpander.boo │ ├── MatchError.boo │ └── MatchMacro.boo ├── Boo.Lang.Useful │ ├── .monolipse │ ├── AssemblyInfo.boo │ ├── Attributes │ │ ├── AutoFlagsAttribute.boo │ │ ├── OnceAttribute.boo │ │ ├── SingletonAttribute.boo │ │ └── TraceMethodCallsAttribute.boo │ ├── Boo.Lang.Useful.booproj │ ├── Boo.Lang.Useful.sln │ ├── BooTemplate │ │ ├── ApplyTemplateSemantics.boo │ │ ├── ITemplate.boo │ │ ├── TemplateCompiler.boo │ │ └── TemplatePreProcessor.boo │ ├── Collections │ │ ├── AbstractCollection.boo │ │ ├── Cache.boo │ │ ├── CollectionAttribute.boo │ │ └── Set.boo │ ├── CommandLine │ │ ├── AbstractCommandLine.boo │ │ ├── AbstractParser.boo │ │ ├── ArgumentAttribute.boo │ │ ├── EventBasedParser.boo │ │ ├── OptionAttribute.boo │ │ └── Parser.boo │ ├── IO │ │ ├── Impl │ │ │ ├── PreProcessorExpressionEvaluator.boo │ │ │ ├── PreProcessorExpressionLexer.boo │ │ │ ├── PreProcessorExpressionParser.boo │ │ │ ├── PreProcessorExpressionParserTokenTypes.boo │ │ │ └── PreProcessorExpressionParserTokenTypes.txt │ │ ├── PreProcessor.boo │ │ ├── PreProcessorExpressions.g │ │ └── walk.boo │ ├── PlatformInformation.boo │ └── Resources │ │ └── ResourceFu.boo ├── Boo.Lang │ ├── .monolipse │ ├── AbstractGenerator.cs │ ├── AbstractGeneratorEnumerator.cs │ ├── AssemblyInfo.cs │ ├── Boo.Lang.csproj │ ├── Boo.Lang.xproj │ ├── BooComparer.cs │ ├── BooHashCodeProvider.cs │ ├── Builtins.cs │ ├── DuckTypedAttribute.cs │ ├── DynamicVariable.cs │ ├── EnumeratorItemTypeAttribute.cs │ ├── Environments │ │ ├── ActiveEnvironment.cs │ │ ├── CachingEnvironment.cs │ │ ├── ClosedEnvironment.cs │ │ ├── DeferredEnvironment.cs │ │ ├── EnvironmentBoundValue.cs │ │ ├── EnvironmentChain.cs │ │ ├── EnvironmentProvision.cs │ │ ├── IEnvironment.cs │ │ ├── InstantiatingEnvironment.cs │ │ └── My.cs │ ├── GenericGenerator.cs │ ├── GenericGeneratorEnumerator.cs │ ├── GenericList.cs │ ├── Hash.cs │ ├── ICallable.cs │ ├── IQuackFu.cs │ ├── IQuackFuMember.cs │ ├── IReflectiveQuackFu.cs │ ├── List.cs │ ├── MetaAttribute.cs │ ├── ModuleAttribute.cs │ ├── Procedure.cs │ ├── QuackFuMember.cs │ ├── ResourceManager.cs │ ├── Resources │ │ ├── .gitignore │ │ └── StringResources.cs │ ├── Runtime │ │ ├── AssertionFailedException.cs │ │ ├── CandidateMethod.cs │ │ ├── DynamicDispatching │ │ │ ├── AbstractDispatcherFactory.cs │ │ │ ├── DispatcherCache.cs │ │ │ ├── DispatcherKey.cs │ │ │ ├── Emitters │ │ │ │ ├── DispatcherEmitter.cs │ │ │ │ ├── ExtensionMethodDispatcherEmitter.cs │ │ │ │ ├── GetFieldEmitter.cs │ │ │ │ ├── ImplicitConversionEmitter.cs │ │ │ │ ├── MethodDispatcherEmitter.cs │ │ │ │ ├── SetFieldEmitter.cs │ │ │ │ └── SetPropertyEmitter.cs │ │ │ ├── MethodDispatcherFactory.cs │ │ │ ├── NumericPromotions.cs │ │ │ ├── PropertyDispatcherFactory.cs │ │ │ ├── SetOrGet.cs │ │ │ └── SliceDispatcherFactory.cs │ │ ├── ExtensionRegistry.cs │ │ ├── ICoercible.cs │ │ ├── MethodResolver.cs │ │ ├── NumericTypes.cs │ │ ├── RuntimeException.cs │ │ ├── RuntimeServices.cs │ │ └── TextReaderEnumerator.cs │ ├── TypeInferenceRuleAttribute.cs │ ├── project.json │ └── project.lock.json ├── Boo.Microsoft.Build.Tasks │ ├── Boo.Microsoft.Build.Tasks.booproj │ ├── Boo.Microsoft.Build.targets │ ├── Booc.boo │ └── Properties │ │ └── AssemblyInfo.boo ├── Boo.NAnt.Tasks │ ├── AbstractBooTask.boo │ ├── BooTask.boo │ ├── BoocTask.boo │ ├── InsertLicenseTask.boo │ └── UpdateAssemblyVersionTask.boo ├── Boo.sln ├── TestResults │ ├── Boo-VS2010.TE.Tests.mdf │ └── Boo-VS2010.TE.Tests_log.ldf ├── boo.snk ├── booc │ ├── App.cs │ ├── App.ico │ ├── AssemblyInfo.cs │ ├── CommandLineParser.cs │ ├── app.config │ ├── booc.csproj │ └── booc.rsp ├── booi │ ├── AssemblyInfo.boo │ ├── AssemblyResolver.boo │ ├── CommandLine.boo │ ├── CompilationCache.boo │ ├── CompilerParameters.boo │ ├── README.rst │ ├── booi.boo │ └── booi.booproj ├── booish │ ├── booish.boo │ └── booish.booproj └── global.json ├── tests ├── .gitignore ├── Boo.Lang.CodeDom.Tests │ ├── Boo.Lang.CodeDom.Tests.booproj │ └── CodeGeneratorTestFixture.boo ├── Boo.Lang.Compiler.Tests │ ├── AstFixture.boo │ ├── BooCompilerTestFixture.boo │ ├── CallableResolutionServiceTestFixture.boo │ ├── CallableSignatureFixture.boo │ ├── CompilerContextTestFixture.boo │ ├── EnumOperationsTestFixture.boo │ ├── TestMacro.boo │ └── TypeSystemFixture.boo ├── Boo.Lang.Interpreter.Tests │ ├── .monolipse │ ├── AbstractInterpreterTestFixture.boo │ ├── Boo.Lang.Interpreter.Tests.booproj │ ├── Boo.Lang.Interpreter.Tests.prjx │ ├── DescribeBuiltinTest.boo │ ├── InteractiveInterpreterConsoleTest.boo │ └── InteractiveInterpreterTestFixture.boo ├── Boo.Lang.Parser.Tests │ ├── AbstractParserTestFixture.cs │ ├── AbstractWSAParserTestFixture.cs │ ├── Boo.Lang.Parser.Tests.csproj │ ├── Boo.Lang.Parser.Tests.prjx │ ├── BooParserTestCase.cs │ ├── ParserRoundtripTestFixture.cs │ ├── PrimitiveParserTest.cs │ ├── Util │ │ └── IndentTokenStreamFilterTestCase.cs │ ├── WSABooParserTestCase.cs │ └── WSAParserRoundtripTestFixture.cs ├── Boo.Lang.PatternMatching.Tests │ ├── .monolipse │ ├── Boo.Lang.PatternMatching.Tests.booproj │ ├── CodeMatchingTest.boo │ ├── Item.boo │ ├── MatchMacroTest.boo │ └── RegexMatchingTest.boo ├── Boo.Lang.Runtime.Tests │ ├── AbstractDispatcherFactoryTestCase.cs │ ├── Boo.Lang.Runtime.Tests.csproj │ ├── MethodDispatcherFactoryTestCase.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── PropertyDispatcherFactoryTestCase.cs │ ├── RuntimeCoercionTestCase.cs │ └── RuntimeServicesTest.cs ├── Boo.Lang.Tests │ ├── Boo.Lang.Tests.csproj │ ├── Environments │ │ ├── CachingEnvironmentTest.cs │ │ ├── DeferredEnvironmentTest.cs │ │ ├── EnvironmentBoundValueTest.cs │ │ └── EnvironmentProvisionTest.cs │ └── Properties │ │ └── AssemblyInfo.cs ├── Boo.Lang.Useful.Tests │ ├── .monolipse │ ├── Attributes │ │ ├── AbstractAttributeTestFixture.boo │ │ ├── AutoFlagsAttributeTestFixture.boo │ │ ├── OnceAttributeTestFixture.boo │ │ ├── SingletonAttributeSerialization.boo │ │ └── SingletonAttributeTestFixture.boo │ ├── Boo.Lang.Useful.Tests.booproj │ ├── BooTemplate │ │ ├── Globals.boo │ │ ├── TemplateCompilerTestFixture.boo │ │ └── TemplatePreProcessorTestFixture.boo │ ├── Collections │ │ ├── CacheTestFixture.boo │ │ ├── CollectionAttributeTestFixture.boo │ │ └── SetTestFixture.boo │ ├── CommandLine │ │ ├── AbstractCommandLineTestFixture.boo │ │ └── ParserTestFixture.boo │ └── IO │ │ └── PreprocessorFixture.boo ├── BooCompiler.Tests │ ├── AbstractCompilerErrorsTestFixture.cs │ ├── AbstractCompilerTestCase.cs │ ├── ArraysIntegrationTestFixture.cs │ ├── AssemblyEmitterTest.cs │ ├── Ast │ │ ├── AncestorsTest.cs │ │ ├── AstAssert.cs │ │ ├── CloningTest.cs │ │ ├── EnumMemberTest.cs │ │ ├── GenericParameterDeclarationTest.cs │ │ ├── MethodXmlSerializationTest.cs │ │ ├── NodeMatchingTest.cs │ │ ├── ParameterDeclarationTest.cs │ │ ├── ReferenceExpressionTestFixture.cs │ │ └── TypeDefinitionTest.cs │ ├── AsyncTestFixture.cs │ ├── AttributesIntegrationTestFixture.cs │ ├── AttributesTestFixture.cs │ ├── BooCompiler.Tests.csproj │ ├── BooCompiler.Tests.prjx │ ├── BooCompilerTest.cs │ ├── BooTestCaseUtil.cs │ ├── CallablesIntegrationTestFixture.cs │ ├── ClosuresIntegrationTestFixture.cs │ ├── ClrExtensionsIntegrationTestFixture.cs │ ├── ClrIntegrationTestFixture.cs │ ├── CompilerContextTest.cs │ ├── CompilerErrorFactoryTest.cs │ ├── CompilerErrorTest.cs │ ├── CompilerErrorsTestFixture.cs │ ├── CompilerPipelineTest.cs │ ├── CompilerWarningCollectionTest.cs │ ├── CompilerWarningsTestFixture.cs │ ├── DuckTypingIntegrationTestFixture.cs │ ├── DuckyTestFixture.cs │ ├── Exceptions.cs │ ├── ExtensionsCompilationTest.cs │ ├── ExtensionsIntegrationTestFixture.cs │ ├── GeneratorsIntegrationTestFixture.cs │ ├── GenericsTestFixture.cs │ ├── LinqIntegrationTestFixture.cs │ ├── LocalizationTest.cs │ ├── MacrosTestFixture.cs │ ├── MetaMethodsTest.cs │ ├── MetaProgrammingIntegrationTestFixture.cs │ ├── ModulesIntegrationTestFixture.cs │ ├── MyTest.cs │ ├── Net2ErrorsTestFixture.cs │ ├── OperatorsIntegrationTestFixture.cs │ ├── Pipeline │ │ ├── AllParametersRequiredAttribute.cs │ │ └── ViewStateAttribute.cs │ ├── PrimitivesIntegrationTestFixture.cs │ ├── RegressionTestFixture.cs │ ├── SemanticsTestFixture.cs │ ├── SmokeTest.cs │ ├── StatementsIntegrationTestFixture.cs │ ├── StdlibTestFixture.cs │ ├── Steps │ │ ├── InjectImplicitBooleanConversionsTest.cs │ │ └── MacroProcessing │ │ │ └── MacroExpanderTest.cs │ ├── StringExtensions.cs │ ├── SupportingClasses │ │ ├── AbstractClass.cs │ │ ├── BOO313BaseClass.cs │ │ ├── BaseInterface.cs │ │ ├── ByRef.cs │ │ ├── ByteEnum.cs │ │ ├── ClassHierarchy.cs │ │ ├── Clickable.cs │ │ ├── ConditionalClass.cs │ │ ├── Constants.cs │ │ ├── Disposable.cs │ │ ├── ExtendsOverridenBoolOperator.cs │ │ ├── Generics.cs │ │ ├── ImplicitConversionToDouble.cs │ │ ├── NoParameterlessConstructor.cs │ │ ├── ObsoleteClass.cs │ │ ├── OutterClass.cs │ │ ├── OverrideBoolOperator.cs │ │ ├── OverrideEqualityOperators.cs │ │ ├── Person.cs │ │ ├── PersonCollection.cs │ │ ├── Point.cs │ │ ├── Pointers.cs │ │ ├── Rectangle.cs │ │ ├── ReturnDucks.cs │ │ ├── SByteEnum.cs │ │ ├── TestEnum.cs │ │ ├── ThisReturnTypeIsAttribute.cs │ │ ├── Transform.cs │ │ ├── ValueTypeOverrideBoolOperator.cs │ │ ├── VarArgs.cs │ │ └── Vector3.cs │ ├── SystemDrawingPoint.cs │ ├── TypeSystem │ │ ├── AbstractTypeSystemTest.cs │ │ ├── Core │ │ │ ├── GlobalNamespaceTest.cs │ │ │ └── NamespaceAssert.cs │ │ ├── EntityFormatterTestBase.cs │ │ ├── Generics │ │ │ └── GenericTypeTest.cs │ │ ├── Internal │ │ │ ├── EntityFormatterTest.cs │ │ │ └── InternalCompileUnitTest.cs │ │ ├── Reflection │ │ │ ├── BeanPropertyFinder.cs │ │ │ ├── EntityFormatterTest.cs │ │ │ ├── NullableImplicitConversionOperatorsTest.cs │ │ │ ├── ReflectionTypeSystemProviderExtensionTest.cs │ │ │ └── ReflectionTypeSystemProviderTest.cs │ │ └── Services │ │ │ ├── BooCodeBuilderTest.cs │ │ │ ├── CodeReifierTest.cs │ │ │ ├── DowncastPermissionsTest.cs │ │ │ ├── InvocationTypeInferenceRulesTest.cs │ │ │ ├── MemberCollectorTest.cs │ │ │ └── NameResolutionServiceTest.cs │ ├── TypesIntegrationTestFixture.cs │ ├── UnsafeErrorsTestFixture.cs │ ├── UnsafeTestFixture.cs │ ├── Util │ │ ├── ArrayEqualityComparerTest.cs │ │ ├── MethodsTest.cs │ │ └── PropertiesTest.cs │ └── packages.config ├── BooCompilerResources.Tests │ └── CompilerResourcesFixture.boo ├── BooModules │ ├── Generators.boo │ ├── Math.boo │ └── SunShip.boo ├── BooSupportingClasses │ ├── NestedMacros.boo │ └── SettersTest.boo ├── booc.Tests │ ├── CommandLineParserTest.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── booc.Tests.csproj ├── build.cmd ├── default.build ├── generate_regression.boo ├── nunit.inc ├── test.snk └── testcases │ ├── async │ ├── async-conformance-awaiting-indexer.boo │ ├── async-delegates.boo │ ├── async-extension-add-method.boo │ ├── async-hello-world.boo │ ├── async-method-only-writes-to-enclosing-struct.boo │ ├── async-state-machine-struct-task-t.boo │ ├── await-in-delegate-constructor.boo │ ├── await-in-obj-initializer.boo │ ├── await-in-using-and-for.boo │ ├── await-switch.boo │ ├── await-void.boo │ ├── better-conversion-from-async-lambda.boo │ ├── conformance-awaiting-methods-accessible.boo │ ├── conformance-awaiting-methods-generic.boo │ ├── conformance-awaiting-methods-method.boo │ ├── conformance-awaiting-methods-method02.boo │ ├── conformance-awaiting-methods-parameter.boo │ ├── conformance-exceptions-async-await-names.boo │ ├── conformance-overload-resolution-class-generic-regular-method.boo │ ├── cs-bug-602246.boo │ ├── cs-bug-748527.boo │ ├── delegate-async.boo │ ├── generic-async-lambda.boo │ ├── generic-task-returning-async.boo │ ├── generic.boo │ ├── hoist-structure.boo │ ├── hoist-using-1.boo │ ├── hoist-using-2.boo │ ├── hoist-using-3.boo │ ├── infer-from-async-lambda.boo │ ├── inference.boo │ ├── init.boo │ ├── is-and-as-operators.boo │ ├── mutating-array-of-structs.boo │ ├── mutating-struct-with-using.boo │ ├── my-task-2.boo │ ├── my-task.boo │ ├── premature-null.boo │ ├── property.boo │ ├── struct-async.boo │ ├── switch-on-awaited-value-async.boo │ ├── task-returning-async.boo │ └── void-returning-async.boo │ ├── attributes │ ├── allparametersrequired.boo │ ├── default-1.boo │ ├── default-2.boo │ ├── getter-1.boo │ ├── property-1.boo │ ├── property-2.boo │ ├── property-3.boo │ ├── property-4.boo │ ├── property-5.boo │ ├── property-6.boo │ ├── required-1.boo │ ├── required-2.boo │ ├── required-3.boo │ ├── required-4.boo │ ├── required-5.boo │ └── viewstate.boo │ ├── compilation │ ├── 1.boo │ ├── Character.boo │ ├── CustomCollection.boo │ ├── DuckTyping.boo │ ├── ExternalModuleWithNoNamespace.boo │ ├── InternalArrayType.boo │ ├── InternalClassGenerator.boo │ ├── InternalMacro.boo │ ├── InternalMacroBootstrapping.boo │ ├── InternalMacrosInSeparateModules.boo │ ├── UndeclaredDefaultConstructor.boo │ ├── UsingNestedType.boo │ ├── bool0.boo │ ├── caseinsensitivehash.boo │ ├── compact_blocks.boo │ ├── const0.boo │ ├── customer_addresses.boo │ ├── defaultmember.boo │ ├── defaultmember2.boo │ ├── double0.boo │ ├── enum_comparisons.boo │ ├── enumeratoritemtype0.boo │ ├── enumeratoritemtype1.boo │ ├── enumeratoritemtype2.boo │ ├── finalfields.boo │ ├── formatting0.boo │ ├── grouping0.boo │ ├── gte_int.boo │ ├── if0.boo │ ├── in0.boo │ ├── in1.boo │ ├── increment_property0.boo │ ├── increment_property1.boo │ ├── indexed.boo │ ├── indexed2.boo │ ├── inplace1.boo │ ├── inplaceadd0.boo │ ├── inplacexor0.boo │ ├── is0.boo │ ├── listoperators.boo │ ├── logservice.boo │ ├── long0.boo │ ├── lte_int.boo │ ├── match0.boo │ ├── match1.boo │ ├── match2.boo │ ├── math.boo │ ├── mathwithns.boo │ ├── modifiers0.boo │ ├── module_methods0.boo │ ├── mult0.boo │ ├── multifile0.boo │ ├── multifile1.boo │ ├── multifile2.boo │ ├── multifile3.boo │ ├── negative0.boo │ ├── not0.boo │ ├── null0.boo │ ├── parameter_as_lvalue.boo │ ├── pow0.boo │ ├── predecrement0.boo │ ├── preincrement0.boo │ ├── range.boo │ ├── re0.boo │ ├── re1.boo │ ├── redefine_builtin.boo │ ├── single0.boo │ ├── sort.boo │ ├── static_constructor0.boo │ ├── static_field0.boo │ ├── static_literalfield0.boo │ ├── stringadd0.boo │ ├── stringmultiply0.boo │ ├── sum0.boo │ ├── textreaderisenumerable.boo │ ├── timespan0.boo │ ├── typeiscallable.boo │ ├── typeiscallable1.boo │ ├── typereference0.boo │ ├── unary0.boo │ ├── unless.boo │ └── unpack_locals.boo │ ├── ducky │ ├── BOO-827-1.boo │ ├── callable-1.boo │ ├── duck-12.boo │ ├── duck-slice-1.boo │ ├── ducky-1.boo │ ├── ducky-10.boo │ ├── ducky-11.boo │ ├── ducky-2.boo │ ├── ducky-3.boo │ ├── ducky-4.boo │ ├── ducky-5.boo │ ├── ducky-6.boo │ ├── ducky-7.boo │ ├── ducky-8.boo │ ├── ducky-9.boo │ ├── implicit-1.boo │ ├── implicit-2.boo │ ├── implicit-3.boo │ ├── method-dispatch-1.boo │ ├── method-dispatch-10.boo │ ├── method-dispatch-11.boo │ ├── method-dispatch-12.boo │ ├── method-dispatch-2.boo │ ├── method-dispatch-3.boo │ ├── method-dispatch-4.boo │ ├── method-dispatch-5.boo │ ├── method-dispatch-6.boo │ ├── method-dispatch-7.boo │ ├── method-dispatch-8.boo │ ├── method-dispatch-9.boo │ ├── null-initializer-1.boo │ ├── object-construction-1.boo │ └── object-overloads-1.boo │ ├── errors │ ├── BCE0000-1.boo │ ├── BCE0004-1.boo │ ├── BCE0004-2.boo │ ├── BCE0004-3.boo │ ├── BCE0005-1.boo │ ├── BCE0005-2.boo │ ├── BCE0006-1.boo │ ├── BCE0007-1.boo │ ├── BCE0017-1.boo │ ├── BCE0017-2.boo │ ├── BCE0017-3.boo │ ├── BCE0017-4.boo │ ├── BCE0018-1.boo │ ├── BCE0018-2.boo │ ├── BCE0018-3.boo │ ├── BCE0018-4.boo │ ├── BCE0019-1.boo │ ├── BCE0019-2.boo │ ├── BCE0020-1.boo │ ├── BCE0020-2.boo │ ├── BCE0020-3.boo │ ├── BCE0021-1.boo │ ├── BCE0022-1.boo │ ├── BCE0022-10.boo │ ├── BCE0022-11.boo │ ├── BCE0022-12.boo │ ├── BCE0022-13.boo │ ├── BCE0022-14.boo │ ├── BCE0022-15-strict.boo │ ├── BCE0022-16-strict.boo │ ├── BCE0022-2.boo │ ├── BCE0022-3.boo │ ├── BCE0022-4.boo │ ├── BCE0022-5.boo │ ├── BCE0022-6.boo │ ├── BCE0022-8.boo │ ├── BCE0022-9.boo │ ├── BCE0023-1.boo │ ├── BCE0024-1.boo │ ├── BCE0024-2.boo │ ├── BCE0024-3.boo │ ├── BCE0024-4.boo │ ├── BCE0032-1.boo │ ├── BCE0035-1.boo │ ├── BCE0035-2.boo │ ├── BCE0035-3.boo │ ├── BCE0035-4.boo │ ├── BCE0038-1.boo │ ├── BCE0045-1.boo │ ├── BCE0045-2.boo │ ├── BCE0045-3.boo │ ├── BCE0045-4.boo │ ├── BCE0046-1.boo │ ├── BCE0047-1.boo │ ├── BCE0047-2.boo │ ├── BCE0047-3.boo │ ├── BCE0047-4.boo │ ├── BCE0047-5.boo │ ├── BCE0049-1.boo │ ├── BCE0051-1.boo │ ├── BCE0051-2.boo │ ├── BCE0053-1.boo │ ├── BCE0053-2.boo │ ├── BCE0053-3.boo │ ├── BCE0057-1.boo │ ├── BCE0058-1.boo │ ├── BCE0060-1.boo │ ├── BCE0060-2.boo │ ├── BCE0060-3.boo │ ├── BCE0061-1.boo │ ├── BCE0063-1.boo │ ├── BCE0063-2.boo │ ├── BCE0063-3.boo │ ├── BCE0063-4.boo │ ├── BCE0063-5.boo │ ├── BCE0063-6.boo │ ├── BCE0063-7.boo │ ├── BCE0063-8.boo │ ├── BCE0065-1.boo │ ├── BCE0065-2.boo │ ├── BCE0067-1.boo │ ├── BCE0067-2.boo │ ├── BCE0067-3.boo │ ├── BCE0070-1.boo │ ├── BCE0070-2.boo │ ├── BCE0070-3.boo │ ├── BCE0071-1.boo │ ├── BCE0071-2.boo │ ├── BCE0072-1.boo │ ├── BCE0072-2.boo │ ├── BCE0073-1.boo │ ├── BCE0079-1.boo │ ├── BCE0080-1.boo │ ├── BCE0081-1.boo │ ├── BCE0081-2.boo │ ├── BCE0081-3.boo │ ├── BCE0081-4.boo │ ├── BCE0081-5.boo │ ├── BCE0082-1.boo │ ├── BCE0083-1.boo │ ├── BCE0084-1.boo │ ├── BCE0085-1.boo │ ├── BCE0085-3.boo │ ├── BCE0086-1.boo │ ├── BCE0087-1.boo │ ├── BCE0089-1.boo │ ├── BCE0089-10.boo │ ├── BCE0089-11.boo │ ├── BCE0089-12.boo │ ├── BCE0089-13.boo │ ├── BCE0089-14.boo │ ├── BCE0089-15.boo │ ├── BCE0089-16.boo │ ├── BCE0089-2.boo │ ├── BCE0089-3.boo │ ├── BCE0089-4.boo │ ├── BCE0089-5.boo │ ├── BCE0089-6.boo │ ├── BCE0089-7.boo │ ├── BCE0089-8.boo │ ├── BCE0089-9.boo │ ├── BCE0090-1.boo │ ├── BCE0090-2.boo │ ├── BCE0090-3.boo │ ├── BCE0091-1.boo │ ├── BCE0092-1.boo │ ├── BCE0093-1.boo │ ├── BCE0093-2.boo │ ├── BCE0094-1.boo │ ├── BCE0095-1.boo │ ├── BCE0095-2.boo │ ├── BCE0096-1.boo │ ├── BCE0097-1.boo │ ├── BCE0097-2.boo │ ├── BCE0099-1.boo │ ├── BCE0099-2.boo │ ├── BCE0100-1.boo │ ├── BCE0101-1.boo │ ├── BCE0101-2.boo │ ├── BCE0102-1.boo │ ├── BCE0103-1.boo │ ├── BCE0103-2.boo │ ├── BCE0103-3.boo │ ├── BCE0103-cannot-extend-array.boo │ ├── BCE0104-1.boo │ ├── BCE0105-1.boo │ ├── BCE0107-1.boo │ ├── BCE0108-1.boo │ ├── BCE0111-1.boo │ ├── BCE0112-1.boo │ ├── BCE0114-1.boo │ ├── BCE0115-1.boo │ ├── BCE0116-1.boo │ ├── BCE0117-1.boo │ ├── BCE0120-1.boo │ ├── BCE0120-2.boo │ ├── BCE0120-3.boo │ ├── BCE0120-4.boo │ ├── BCE0120-5.boo │ ├── BCE0120-6.boo │ ├── BCE0121-1.boo │ ├── BCE0122-1.boo │ ├── BCE0123-1.boo │ ├── BCE0123-2.boo │ ├── BCE0124-1.boo │ ├── BCE0125-1.boo │ ├── BCE0126-1.boo │ ├── BCE0126-2.boo │ ├── BCE0126-3.boo │ ├── BCE0126-4.boo │ ├── BCE0126-5.boo │ ├── BCE0126-6.boo │ ├── BCE0126-7.boo │ ├── BCE0127-1.boo │ ├── BCE0127-2.boo │ ├── BCE0128-1.boo │ ├── BCE0129-1.boo │ ├── BCE0130-1.boo │ ├── BCE0131-1.boo │ ├── BCE0131-2.boo │ ├── BCE0132-1.boo │ ├── BCE0132-2.boo │ ├── BCE0132-3.boo │ ├── BCE0132-4.boo │ ├── BCE0132-5.boo │ ├── BCE0133-1.boo │ ├── BCE0133-2.boo │ ├── BCE0134-1.boo │ ├── BCE0134-2.boo │ ├── BCE0136-1.boo │ ├── BCE0137-1.boo │ ├── BCE0137-2.boo │ ├── BCE0137-3.boo │ ├── BCE0141.boo │ ├── BCE0142.boo │ ├── BCE0143-1.boo │ ├── BCE0145-1.boo │ ├── BCE0150-1.boo │ ├── BCE0151-1.boo │ ├── BCE0151-2.boo │ ├── BCE0152-1.boo │ ├── BCE0153-1.boo │ ├── BCE0153-2.boo │ ├── BCE0154-1.boo │ ├── BCE0154-2.boo │ ├── BCE0155-1.boo │ ├── BCE0156-1.boo │ ├── BCE0157-1.boo │ ├── BCE0158-1.boo │ ├── BCE0165-1.boo │ ├── BCE0166-1.boo │ ├── BCE0167-1.boo │ ├── BCE0169-1.boo │ ├── BCE0170-1.boo │ ├── BCE0171-1.boo │ ├── BCE0173-1.boo │ ├── BCE0175.boo │ ├── BCE0176-1.boo │ ├── CannotConvertFooToInt.boo │ ├── cannot-convert-enum-to-single.boo │ ├── error-doesnt-cascade-to-cast.boo │ ├── error-doesnt-cascade-to-raise.boo │ ├── invalid-array-slice.boo │ ├── invalid-generic-extension-1.boo │ ├── invalid-generic-extension-2.boo │ ├── invalid-matrix-index.boo │ ├── mismatched-collection-initializers.boo │ ├── selective-import-2.boo │ ├── selective-import.boo │ ├── single-error-on-missing-import-namespace.boo │ ├── strict-1.boo │ └── warnaserror-1.boo │ ├── integration │ ├── arrays │ │ ├── array-polymorphic-foreach.boo │ │ ├── arrays-1.boo │ │ ├── arrays-10.boo │ │ ├── arrays-11.boo │ │ ├── arrays-12.boo │ │ ├── arrays-13.boo │ │ ├── arrays-14.boo │ │ ├── arrays-15.boo │ │ ├── arrays-16.boo │ │ ├── arrays-17.boo │ │ ├── arrays-18.boo │ │ ├── arrays-19.boo │ │ ├── arrays-2.boo │ │ ├── arrays-20.boo │ │ ├── arrays-21.boo │ │ ├── arrays-22.boo │ │ ├── arrays-23.boo │ │ ├── arrays-24.boo │ │ ├── arrays-25.boo │ │ ├── arrays-26.boo │ │ ├── arrays-27.boo │ │ ├── arrays-28.boo │ │ ├── arrays-29.boo │ │ ├── arrays-3.boo │ │ ├── arrays-30.boo │ │ ├── arrays-31.boo │ │ ├── arrays-32.boo │ │ ├── arrays-33.boo │ │ ├── arrays-34.boo │ │ ├── arrays-35.boo │ │ ├── arrays-36.boo │ │ ├── arrays-37.boo │ │ ├── arrays-38.boo │ │ ├── arrays-39.boo │ │ ├── arrays-4.boo │ │ ├── arrays-40.boo │ │ ├── arrays-41.boo │ │ ├── arrays-42.boo │ │ ├── arrays-43.boo │ │ ├── arrays-44.boo │ │ ├── arrays-5.boo │ │ ├── arrays-6.boo │ │ ├── arrays-7.boo │ │ ├── arrays-8.boo │ │ ├── arrays-9.boo │ │ ├── empty-array-inference-1.boo │ │ ├── empty-array-inference-as-enumerable-of-int.boo │ │ ├── empty-array-inference-as-enumerable.boo │ │ ├── empty-array-inference-as-object.boo │ │ ├── empty-array-inference-in-closure.boo │ │ ├── empty-array-inference-with-varargs.boo │ │ ├── matrix-with-type-reference.boo │ │ ├── per-module-raw-array-indexing.boo │ │ └── rawarrayindexing-1.boo │ ├── attributes │ │ ├── assembly-attributes-1.boo │ │ ├── assembly-attributes-2.boo │ │ ├── attributes-1.boo │ │ ├── attributes-2.boo │ │ ├── attributes-3.boo │ │ ├── attributes-4.boo │ │ ├── attributes-5.boo │ │ ├── attributes-6.boo │ │ ├── attributes-7.boo │ │ ├── attributes-8.boo │ │ ├── conditionalattribute-1.boo │ │ ├── conditionalattribute-2.boo │ │ ├── conditionalattribute-3.boo │ │ ├── conditionalattribute-4.boo │ │ ├── module-ast-attribute.boo │ │ ├── ns_alias_on_attribute.boo │ │ ├── transient.boo │ │ ├── varargs-attribute-external.boo │ │ └── varargs-attribute-internal.boo │ ├── callables │ │ ├── byref-1.boo │ │ ├── byref-10.boo │ │ ├── byref-11.boo │ │ ├── byref-12.boo │ │ ├── byref-13.boo │ │ ├── byref-14.boo │ │ ├── byref-2.boo │ │ ├── byref-3.boo │ │ ├── byref-4.boo │ │ ├── byref-5.boo │ │ ├── byref-6.boo │ │ ├── byref-7.boo │ │ ├── byref-8.boo │ │ ├── byref-9.boo │ │ ├── callables-1.boo │ │ ├── callables-10.boo │ │ ├── callables-11.boo │ │ ├── callables-12.boo │ │ ├── callables-13.boo │ │ ├── callables-14.boo │ │ ├── callables-15.boo │ │ ├── callables-16.boo │ │ ├── callables-17.boo │ │ ├── callables-18.boo │ │ ├── callables-19.boo │ │ ├── callables-2.boo │ │ ├── callables-20.boo │ │ ├── callables-21.boo │ │ ├── callables-22.boo │ │ ├── callables-23.boo │ │ ├── callables-24.boo │ │ ├── callables-25.boo │ │ ├── callables-26.boo │ │ ├── callables-27.boo │ │ ├── callables-28.boo │ │ ├── callables-29.boo │ │ ├── callables-3.boo │ │ ├── callables-30.boo │ │ ├── callables-31.boo │ │ ├── callables-32.boo │ │ ├── callables-33.boo │ │ ├── callables-34.boo │ │ ├── callables-35.boo │ │ ├── callables-36.boo │ │ ├── callables-37.boo │ │ ├── callables-38.boo │ │ ├── callables-39.boo │ │ ├── callables-4.boo │ │ ├── callables-40.boo │ │ ├── callables-41.boo │ │ ├── callables-42.boo │ │ ├── callables-43.boo │ │ ├── callables-44.boo │ │ ├── callables-45.boo │ │ ├── callables-46.boo │ │ ├── callables-47.boo │ │ ├── callables-48.boo │ │ ├── callables-49.boo │ │ ├── callables-5.boo │ │ ├── callables-50.boo │ │ ├── callables-6.boo │ │ ├── callables-7.boo │ │ ├── callables-8.boo │ │ ├── callables-9.boo │ │ ├── callables-as-ternary-operands.boo │ │ ├── callables-as-ternay-operands-invocation.boo │ │ ├── delegates-1.boo │ │ ├── delegates-10.boo │ │ ├── delegates-11.boo │ │ ├── delegates-12.boo │ │ ├── delegates-13.boo │ │ ├── delegates-14.boo │ │ ├── delegates-15.boo │ │ ├── delegates-16.boo │ │ ├── delegates-17.boo │ │ ├── delegates-18.boo │ │ ├── delegates-2.boo │ │ ├── delegates-3.boo │ │ ├── delegates-4.boo │ │ ├── delegates-5.boo │ │ ├── delegates-6.boo │ │ ├── delegates-7.boo │ │ ├── delegates-8.boo │ │ ├── delegates-9.boo │ │ ├── generic-dict-of-anonymous-callable.boo │ │ ├── method-as-macro-1.boo │ │ ├── method-as-macro-2.boo │ │ ├── method-as-macro-3.boo │ │ ├── method-invocations-1.boo │ │ ├── out-1.boo │ │ ├── out-2.boo │ │ ├── out-3.boo │ │ ├── overload-resolution-1.boo │ │ ├── overload-resolution-2.boo │ │ ├── params-1.boo │ │ ├── params-2.boo │ │ ├── params-3.boo │ │ ├── params-4.boo │ │ ├── params-5.boo │ │ ├── params-6.boo │ │ ├── params-7.boo │ │ └── params-8.boo │ ├── closures │ │ ├── closure-inference-1.boo │ │ ├── closure-inference-2.boo │ │ ├── closure-inference-3.boo │ │ ├── closure-inference-4.boo │ │ ├── closure-inference-5.boo │ │ ├── closure-inference-6.boo │ │ ├── closure-inference-7.boo │ │ ├── closures-1.boo │ │ ├── closures-10.boo │ │ ├── closures-11.boo │ │ ├── closures-12.boo │ │ ├── closures-13.boo │ │ ├── closures-14.boo │ │ ├── closures-15.boo │ │ ├── closures-16.boo │ │ ├── closures-17.boo │ │ ├── closures-18.boo │ │ ├── closures-19.boo │ │ ├── closures-2.boo │ │ ├── closures-20.boo │ │ ├── closures-21.boo │ │ ├── closures-22.boo │ │ ├── closures-23.boo │ │ ├── closures-24.boo │ │ ├── closures-25.boo │ │ ├── closures-26.boo │ │ ├── closures-27.boo │ │ ├── closures-28.boo │ │ ├── closures-29.boo │ │ ├── closures-3.boo │ │ ├── closures-30.boo │ │ ├── closures-31.boo │ │ ├── closures-4.boo │ │ ├── closures-5.boo │ │ ├── closures-6.boo │ │ ├── closures-7.boo │ │ ├── closures-8.boo │ │ ├── closures-9.boo │ │ ├── explicit-closure-types-for-generic-method.boo │ │ ├── nested-functions-1.boo │ │ ├── nested-functions-2.boo │ │ ├── nested-functions-3.boo │ │ └── nested-functions-4.boo │ ├── clr-extensions │ │ ├── clrextensions-1.boo │ │ ├── clrextensions-2.boo │ │ └── infer-closure-singature.boo │ ├── clr │ │ └── RealProxy-1.boo │ ├── duck-typing │ │ ├── duck-1.boo │ │ ├── duck-10.boo │ │ ├── duck-11.boo │ │ ├── duck-12.boo │ │ ├── duck-13.boo │ │ ├── duck-14.boo │ │ ├── duck-15.boo │ │ ├── duck-16.boo │ │ ├── duck-17.boo │ │ ├── duck-18.boo │ │ ├── duck-19.boo │ │ ├── duck-2.boo │ │ ├── duck-20.boo │ │ ├── duck-21.boo │ │ ├── duck-3.boo │ │ ├── duck-4.boo │ │ ├── duck-5.boo │ │ ├── duck-6.boo │ │ ├── duck-7.boo │ │ ├── duck-8.boo │ │ ├── duck-9.boo │ │ ├── exceptions-1.boo │ │ ├── exceptions-2.boo │ │ ├── exceptions-3.boo │ │ ├── exceptions-4.boo │ │ ├── exceptions-5.boo │ │ ├── exceptions-6.boo │ │ ├── exceptions-7.boo │ │ ├── exceptions-8.boo │ │ ├── exceptions-9.boo │ │ ├── indexer-1.boo │ │ ├── promotion-1.boo │ │ ├── promotion-2.boo │ │ ├── promotion-3.boo │ │ ├── promotion-4.boo │ │ ├── promotion-5.boo │ │ ├── runtime-extensions-1.boo │ │ └── runtime-extensions-2.boo │ ├── extensions │ │ ├── extension-properties-1.boo │ │ ├── extensions-1.boo │ │ ├── extensions-2.boo │ │ ├── extensions-3.boo │ │ ├── extensions-4.boo │ │ ├── extensions-5.boo │ │ ├── extensions-6.boo │ │ ├── extensions-7.boo │ │ ├── extensions-8.boo │ │ ├── extensions-9.boo │ │ ├── extensions-for-self-1.boo │ │ ├── extensions-for-self-2.boo │ │ ├── generic-extension-1.boo │ │ ├── generic-extension-2.boo │ │ ├── generic-extension-3.boo │ │ ├── generic-extension-4.boo │ │ ├── generic-extension-5.boo │ │ ├── generic-extension-overloads-in-generic-invocations.boo │ │ ├── implicit-conversion-extension-1.boo │ │ ├── implicit-conversion-extension-2.boo │ │ ├── linq-operator.boo │ │ └── per-module-extensions.boo │ ├── generators │ │ ├── generator-calling-external-super-with-arguments-2.boo │ │ ├── generator-calling-external-super-with-arguments.boo │ │ ├── generator-calling-super-with-arguments-2.boo │ │ ├── generator-calling-super-with-arguments.boo │ │ ├── generator-calling-super.boo │ │ ├── generator-of-static-class-is-transient.boo │ │ ├── generator-of-transient-class-is-transient.boo │ │ ├── generators-1.boo │ │ ├── generators-10.boo │ │ ├── generators-11.boo │ │ ├── generators-12.boo │ │ ├── generators-13.boo │ │ ├── generators-14.boo │ │ ├── generators-15.boo │ │ ├── generators-16.boo │ │ ├── generators-17.boo │ │ ├── generators-18.boo │ │ ├── generators-19.boo │ │ ├── generators-2.boo │ │ ├── generators-20.boo │ │ ├── generators-21.boo │ │ ├── generators-3.boo │ │ ├── generators-4.boo │ │ ├── generators-5.boo │ │ ├── generators-6.boo │ │ ├── generators-7.boo │ │ ├── generators-8.boo │ │ ├── generators-9.boo │ │ ├── generic-generator-1.boo │ │ ├── generic-generator-2.boo │ │ ├── label-issue-1.boo │ │ ├── list-generators-1.boo │ │ ├── list-generators-2.boo │ │ ├── list-generators-3.boo │ │ ├── list-generators-4.boo │ │ ├── list-generators-5.boo │ │ ├── to-string.boo │ │ ├── yield-1.boo │ │ ├── yield-10.boo │ │ ├── yield-11.boo │ │ ├── yield-12.boo │ │ ├── yield-13.boo │ │ ├── yield-14.boo │ │ ├── yield-15.boo │ │ ├── yield-16.boo │ │ ├── yield-17.boo │ │ ├── yield-2.boo │ │ ├── yield-3.boo │ │ ├── yield-4.boo │ │ ├── yield-5.boo │ │ ├── yield-6.boo │ │ ├── yield-7.boo │ │ ├── yield-8.boo │ │ ├── yield-9.boo │ │ ├── yield-null-as-IEnumerator.boo │ │ └── yield-null.boo │ ├── linq │ │ ├── array-linq.boo │ │ ├── linq-aggregate.boo │ │ ├── linq-extensions-1.boo │ │ ├── linq-extensions-2.boo │ │ └── overload-resolution-extension.boo │ ├── meta-programming │ │ ├── CodeReifierMergeIntoWithEmptyArrayLiteral.boo │ │ ├── CodeReifierMergeIntoWithEvent.boo │ │ ├── CodeReifierMergeIntoWithGenerators.boo │ │ ├── CodeReifierMergeIntoWithMacros.boo │ │ ├── CodeReifierMergeIntoWithMultipleMethods.boo │ │ ├── CodeReifierMergeIntoWithMultipleProperties.boo │ │ ├── CodeReifierMergeIntoWithNestedGenericStruct.boo │ │ ├── CodeReifierMergeIntoWithNestedTypes.boo │ │ ├── CodeReifierMergeIntoWithNestedTypesInDifferentOrder.boo │ │ ├── CodeReifierMergeIntoWithProperties.boo │ │ ├── CodeReifierMergeIntoWithStatementModifiers.boo │ │ ├── auto-lift-1.boo │ │ ├── auto-lift-2.boo │ │ ├── block-lift.boo │ │ ├── class-body-splicing-1.boo │ │ ├── class-name-splicing-1.boo │ │ ├── class-name-splicing-2.boo │ │ ├── compile-1.boo │ │ ├── compile-2.boo │ │ ├── field-splicing-1.boo │ │ ├── field-splicing-in-expression-becomes-reference-to-field.boo │ │ ├── field-splicing-null-initializer.boo │ │ ├── generic-splicing-1.boo │ │ ├── interpolation-splicing-1.boo │ │ ├── interpolation-splicing-2.boo │ │ ├── lexical-info-is-preserved.boo │ │ ├── macro-yielding-selective-import.boo │ │ ├── macro-yielding-types-shouldnt-cause-module-class-to-be-defined.boo │ │ ├── macro-yielding-varargs.boo │ │ ├── meta-methods-1.boo │ │ ├── meta-methods-2.boo │ │ ├── meta-methods-3.boo │ │ ├── meta-methods-4.boo │ │ ├── meta-methods-5.boo │ │ ├── meta-methods-6.boo │ │ ├── meta-methods-can-return-null.boo │ │ ├── meta-methods-with-closure.boo │ │ ├── meta-methods-with-generator.boo │ │ ├── meta-methods-with-macro.boo │ │ ├── meta-methods-with-modifier-inside-closure.boo │ │ ├── meta-methods-with-statement-modifier.boo │ │ ├── name-splicing-1.boo │ │ ├── name-splicing-2.boo │ │ ├── name-splicing-3.boo │ │ ├── name-splicing-4.boo │ │ ├── name-splicing-5.boo │ │ ├── name-splicing-6.boo │ │ ├── parameter-splicing-1.boo │ │ ├── parameter-splicing-2.boo │ │ ├── parameter-splicing-3.boo │ │ ├── property-splicing-1.boo │ │ ├── quasi-quotation-1.boo │ │ ├── quasi-quotation-2.boo │ │ ├── quasi-quotation-3.boo │ │ ├── quasi-quotation-4.boo │ │ ├── reification-1.boo │ │ ├── splicing-1.boo │ │ ├── splicing-2.boo │ │ ├── splicing-3.boo │ │ ├── splicing-4.boo │ │ ├── splicing-5.boo │ │ ├── splicing-6.boo │ │ ├── splicing-7.boo │ │ ├── splicing-8.boo │ │ ├── splicing-9.boo │ │ ├── splicing-reference-into-enum-body.boo │ │ ├── typedef-splicing-1.boo │ │ ├── typeref-splicing-1.boo │ │ ├── typeref-splicing-2.boo │ │ ├── typeref-splicing-3.boo │ │ ├── typeref-splicing-4.boo │ │ ├── typeref-splicing-5.boo │ │ └── typeref-splicing-null.boo │ ├── modules │ │ ├── dotted.module.name.boo │ │ ├── import-1.boo │ │ ├── import-2.boo │ │ ├── import-3.boo │ │ ├── import-4.boo │ │ ├── import-5.boo │ │ ├── import-6.boo │ │ ├── import-7.boo │ │ ├── import-8.boo │ │ ├── import-9.boo │ │ ├── modules-1.boo │ │ ├── modules-2.boo │ │ ├── modules-3.boo │ │ ├── modules-4.boo │ │ ├── modules-5.boo │ │ ├── modules-6.boo │ │ └── peek.a.boo │ ├── operators │ │ ├── and-1.boo │ │ ├── and-2.boo │ │ ├── bitwise-and-1.boo │ │ ├── bitwise-and-2.boo │ │ ├── bitwise-or-1.boo │ │ ├── bitwise-or-2.boo │ │ ├── cast-1.boo │ │ ├── cast-2.boo │ │ ├── cast-3.boo │ │ ├── cast-4.boo │ │ ├── cast-5.boo │ │ ├── cast-6.boo │ │ ├── cast-7.boo │ │ ├── cast-8.boo │ │ ├── cast-9.boo │ │ ├── conditional-1.boo │ │ ├── explode-1.boo │ │ ├── explode-2.boo │ │ ├── explode-3.boo │ │ ├── exponential-1.boo │ │ ├── in-1.boo │ │ ├── is-1.boo │ │ ├── is-2.boo │ │ ├── isa-1.boo │ │ ├── isa-2.boo │ │ ├── isa-3.boo │ │ ├── not-1.boo │ │ ├── ones-complement-1.boo │ │ ├── operators-1.boo │ │ ├── or-1.boo │ │ ├── or-2.boo │ │ ├── or-3.boo │ │ ├── or-4.boo │ │ ├── post-incdec-1.boo │ │ ├── post-incdec-2.boo │ │ ├── post-incdec-3.boo │ │ ├── post-incdec-4.boo │ │ ├── post-incdec-5.boo │ │ ├── post-incdec-6.boo │ │ ├── post-incdec-7.boo │ │ ├── safeaccess-1.boo │ │ ├── safeaccess-2.boo │ │ ├── shift-1.boo │ │ ├── slicing-1.boo │ │ ├── slicing-10.boo │ │ ├── slicing-11.boo │ │ ├── slicing-12.boo │ │ ├── slicing-13.boo │ │ ├── slicing-2.boo │ │ ├── slicing-3.boo │ │ ├── slicing-4.boo │ │ ├── slicing-5.boo │ │ ├── slicing-6.boo │ │ ├── slicing-7.boo │ │ ├── slicing-8.boo │ │ ├── slicing-9.boo │ │ ├── slicing-md-1.boo │ │ ├── slicing-md-2.boo │ │ ├── slicing-md-3.boo │ │ ├── slicing-md-4.boo │ │ ├── unary-1.boo │ │ ├── unary-2.boo │ │ ├── unary-3.boo │ │ └── xor-1.boo │ ├── primitives │ │ ├── __switch__-1.boo │ │ ├── at-operator.boo │ │ ├── bool-1.boo │ │ ├── char-1.boo │ │ ├── char-2.boo │ │ ├── char-3.boo │ │ ├── char-4.boo │ │ ├── char-5.boo │ │ ├── checked-1.boo │ │ ├── decimal-1.boo │ │ ├── default-1.boo │ │ ├── double-as-bool-1.boo │ │ ├── double-precision-is-used-for-literals.boo │ │ ├── hash-1.boo │ │ ├── hex-1.boo │ │ ├── hex-2.boo │ │ ├── implicit-casts-1.boo │ │ ├── int-shift-overflow-checked.boo │ │ ├── int-shift-overflow-unchecked.boo │ │ ├── interpolation-1.boo │ │ ├── len-1.boo │ │ ├── list-1.boo │ │ ├── list-2.boo │ │ ├── list-3.boo │ │ ├── long-1.boo │ │ ├── primitives-1.boo │ │ ├── promotion-1.boo │ │ ├── promotion-2.boo │ │ ├── regex-1.boo │ │ ├── single-as-bool-1.boo │ │ ├── string-1.boo │ │ ├── string-yields-chars.boo │ │ ├── typeof-1.boo │ │ ├── typeof-2.boo │ │ ├── uint-1.boo │ │ ├── uint-argument.boo │ │ ├── uint-field-initializer.boo │ │ ├── ulong-bitshift.boo │ │ ├── unsigned-1.boo │ │ └── unsigned-2.boo │ ├── statements │ │ ├── break-1.boo │ │ ├── break-2.boo │ │ ├── continue-1.boo │ │ ├── continue-2.boo │ │ ├── declaration-1.boo │ │ ├── declaration-2.boo │ │ ├── declaration-3.boo │ │ ├── except-1.boo │ │ ├── except-10.boo │ │ ├── except-11.boo │ │ ├── except-12.boo │ │ ├── except-13.boo │ │ ├── except-14.boo │ │ ├── except-2.boo │ │ ├── except-3.boo │ │ ├── except-4.boo │ │ ├── except-5.boo │ │ ├── except-6.boo │ │ ├── except-7.boo │ │ ├── except-8.boo │ │ ├── except-9.boo │ │ ├── failure-1.boo │ │ ├── failure-2.boo │ │ ├── failure-3.boo │ │ ├── failure-4.boo │ │ ├── failure-5.boo │ │ ├── failure-6.boo │ │ ├── filter-1.boo │ │ ├── filter-2.boo │ │ ├── filter-3.boo │ │ ├── for-1.boo │ │ ├── for-10.boo │ │ ├── for-2.boo │ │ ├── for-3.boo │ │ ├── for-4.boo │ │ ├── for-5.boo │ │ ├── for-6.boo │ │ ├── for-6B.boo │ │ ├── for-7.boo │ │ ├── for-8.boo │ │ ├── for-9.boo │ │ ├── for-array-1.boo │ │ ├── for-array-2.boo │ │ ├── for-var-reuse.boo │ │ ├── for_or-1.boo │ │ ├── for_or-2.boo │ │ ├── for_or-3.boo │ │ ├── for_or-4.boo │ │ ├── for_or_then-1.boo │ │ ├── for_or_then-3.boo │ │ ├── for_or_then-4.boo │ │ ├── for_or_then-5.boo │ │ ├── for_then-1.boo │ │ ├── for_then-2.boo │ │ ├── for_then-3.boo │ │ ├── for_then-4.boo │ │ ├── goto-1.boo │ │ ├── goto-2.boo │ │ ├── goto-3.boo │ │ ├── goto-4.boo │ │ ├── goto-5.boo │ │ ├── goto-6.boo │ │ ├── raise-1.boo │ │ ├── reraise-1.boo │ │ ├── reraise-2.boo │ │ ├── try-1.boo │ │ ├── try-2.boo │ │ ├── try-3.boo │ │ ├── unpack-1.boo │ │ ├── unpack-10.boo │ │ ├── unpack-11.boo │ │ ├── unpack-12.boo │ │ ├── unpack-13.boo │ │ ├── unpack-2.boo │ │ ├── unpack-3.boo │ │ ├── unpack-4.boo │ │ ├── unpack-5.boo │ │ ├── unpack-6.boo │ │ ├── unpack-7.boo │ │ ├── unpack-8.boo │ │ ├── unpack-9.boo │ │ ├── while-1.boo │ │ ├── while-2.boo │ │ ├── while-3.boo │ │ ├── while-4.boo │ │ ├── while-5.boo │ │ ├── while-6.boo │ │ ├── while-7.boo │ │ ├── while-8.boo │ │ ├── while_or-1.boo │ │ ├── while_or-2.boo │ │ ├── while_or-3.boo │ │ ├── while_or-4.boo │ │ ├── while_or_then-1.boo │ │ ├── while_or_then-4.boo │ │ ├── while_or_then-5.boo │ │ ├── while_then-1.boo │ │ ├── while_then-2.boo │ │ ├── while_then-3.boo │ │ └── while_then-4.boo │ └── types │ │ ├── abstract-1.boo │ │ ├── abstract-2.boo │ │ ├── abstract-3.boo │ │ ├── abstract-4.boo │ │ ├── automatic-stubs-for-interface-methods.boo │ │ ├── baseclass-1.boo │ │ ├── baseclass-2.boo │ │ ├── baseclass-3.boo │ │ ├── baseclass-4.boo │ │ ├── baseclass-5.boo │ │ ├── classes-1.boo │ │ ├── classes-10.boo │ │ ├── classes-11.boo │ │ ├── classes-2.boo │ │ ├── classes-3.boo │ │ ├── classes-4.boo │ │ ├── classes-5.boo │ │ ├── classes-6.boo │ │ ├── classes-7.boo │ │ ├── classes-8.boo │ │ ├── classes-9.boo │ │ ├── constructor-return-1.boo │ │ ├── constructors-1.boo │ │ ├── enum-cast-to-single.boo │ │ ├── enums-1.boo │ │ ├── enums-10.boo │ │ ├── enums-11.boo │ │ ├── enums-12.boo │ │ ├── enums-13.boo │ │ ├── enums-14.boo │ │ ├── enums-15.boo │ │ ├── enums-16.boo │ │ ├── enums-17.boo │ │ ├── enums-2.boo │ │ ├── enums-3.boo │ │ ├── enums-4.boo │ │ ├── enums-5.boo │ │ ├── enums-6.boo │ │ ├── enums-7.boo │ │ ├── enums-8.boo │ │ ├── enums-9.boo │ │ ├── events-1.boo │ │ ├── events-2.boo │ │ ├── events-3.boo │ │ ├── events-4.boo │ │ ├── events-5.boo │ │ ├── events-6.boo │ │ ├── events-7.boo │ │ ├── explicit-interface-1.boo │ │ ├── explicit-interface-2.boo │ │ ├── explicit-interface-3.boo │ │ ├── explicit-interface-4.boo │ │ ├── explicit-value-type-conversion-operator.boo │ │ ├── fields-1.boo │ │ ├── fields-10.boo │ │ ├── fields-2.boo │ │ ├── fields-3.boo │ │ ├── fields-4.boo │ │ ├── fields-5.boo │ │ ├── fields-6.boo │ │ ├── fields-7.boo │ │ ├── fields-8.boo │ │ ├── fields-9.boo │ │ ├── implicit-1.boo │ │ ├── implicit-2.boo │ │ ├── implicit-3.boo │ │ ├── implicit-4.boo │ │ ├── implicit-5.boo │ │ ├── implicit-bool-1.boo │ │ ├── implicit-bool-2.boo │ │ ├── implicit-bool-3.boo │ │ ├── implicit-bool-4.boo │ │ ├── implicit-bool-5.boo │ │ ├── implicit-bool-6.boo │ │ ├── implicit-bool-7.boo │ │ ├── implicit-bool-8.boo │ │ ├── implicit-bool-with-shortcircuited-and-condition.boo │ │ ├── implicit-runtime-conversion.boo │ │ ├── innerclasses-1.boo │ │ ├── innerclasses-10.boo │ │ ├── innerclasses-11.boo │ │ ├── innerclasses-12.boo │ │ ├── innerclasses-2.boo │ │ ├── innerclasses-3.boo │ │ ├── innerclasses-4.boo │ │ ├── innerclasses-5.boo │ │ ├── innerclasses-6.boo │ │ ├── innerclasses-7.boo │ │ ├── innerclasses-8.boo │ │ ├── innerclasses-9.boo │ │ ├── interface-implementation-inheritance-1.boo │ │ ├── interface-implementation-inheritance-2.boo │ │ ├── interface-implementation-inheritance-3.boo │ │ ├── interface-implementation-inheritance-4.boo │ │ ├── interface-implementation-inheritance-5.boo │ │ ├── interfaces-1.boo │ │ ├── interfaces-10.boo │ │ ├── interfaces-11.boo │ │ ├── interfaces-12.boo │ │ ├── interfaces-13.boo │ │ ├── interfaces-14.boo │ │ ├── interfaces-15.boo │ │ ├── interfaces-16.boo │ │ ├── interfaces-17.boo │ │ ├── interfaces-19.boo │ │ ├── interfaces-2.boo │ │ ├── interfaces-20.boo │ │ ├── interfaces-21.boo │ │ ├── interfaces-22.boo │ │ ├── interfaces-23.boo │ │ ├── interfaces-3.boo │ │ ├── interfaces-4.boo │ │ ├── interfaces-5.boo │ │ ├── interfaces-6.boo │ │ ├── interfaces-7.boo │ │ ├── interfaces-8.boo │ │ ├── interfaces-9.boo │ │ ├── internal-base-type-is-preferred.boo │ │ ├── internal-event-initializer.boo │ │ ├── internal-field-initializer.boo │ │ ├── internal-property-initializer.boo │ │ ├── local-hiding-field.boo │ │ ├── method-shadowing-1.boo │ │ ├── method-shadowing-2.boo │ │ ├── method-shadowing-3.boo │ │ ├── method-shadowing-4.boo │ │ ├── methods-1.boo │ │ ├── methods-2.boo │ │ ├── methods-3.boo │ │ ├── methods-4.boo │ │ ├── methods-5.boo │ │ ├── methods-6.boo │ │ ├── methods-7.boo │ │ ├── name-lookup-1.boo │ │ ├── name-lookup-2.boo │ │ ├── negative-enum-value.boo │ │ ├── overloading-1.boo │ │ ├── overloading-2.boo │ │ ├── overloading-3.boo │ │ ├── overloading-4.boo │ │ ├── overloading-5.boo │ │ ├── overloading-6.boo │ │ ├── overloading-7.boo │ │ ├── overloading-8.boo │ │ ├── override-1.boo │ │ ├── override-2.boo │ │ ├── override-3.boo │ │ ├── override-4.boo │ │ ├── override-5.boo │ │ ├── partial-1.boo │ │ ├── partial-2.boo │ │ ├── partial-class-with-nested-types.boo │ │ ├── partial-enums.boo │ │ ├── partial-interfaces.boo │ │ ├── properties-1.boo │ │ ├── properties-10.boo │ │ ├── properties-11.boo │ │ ├── properties-12.boo │ │ ├── properties-13.boo │ │ ├── properties-14.boo │ │ ├── properties-15.boo │ │ ├── properties-16.boo │ │ ├── properties-17.boo │ │ ├── properties-18.boo │ │ ├── properties-19.boo │ │ ├── properties-2.boo │ │ ├── properties-20.boo │ │ ├── properties-21.boo │ │ ├── properties-22.boo │ │ ├── properties-23.boo │ │ ├── properties-24.boo │ │ ├── properties-25.boo │ │ ├── properties-26.boo │ │ ├── properties-27.boo │ │ ├── properties-28.boo │ │ ├── properties-29.boo │ │ ├── properties-3.boo │ │ ├── properties-30.boo │ │ ├── properties-31.boo │ │ ├── properties-32.boo │ │ ├── properties-33.boo │ │ ├── properties-4.boo │ │ ├── properties-5.boo │ │ ├── properties-6.boo │ │ ├── properties-7.boo │ │ ├── properties-8.boo │ │ ├── properties-9.boo │ │ ├── reserved-keywords-1.boo │ │ ├── static-1.boo │ │ ├── static-2.boo │ │ ├── static-CompilerGlobalScope-class-is-sealed-and-abstract.boo │ │ ├── static-class-is-sealed-abstract-and-transient.boo │ │ ├── static-final-1.boo │ │ ├── static-final-2.boo │ │ ├── super-1.boo │ │ ├── super-2.boo │ │ ├── super-3.boo │ │ ├── value-type-propagation-1.boo │ │ ├── value-types-1.boo │ │ ├── value-types-10.boo │ │ ├── value-types-11.boo │ │ ├── value-types-12.boo │ │ ├── value-types-13.boo │ │ ├── value-types-14.boo │ │ ├── value-types-15.boo │ │ ├── value-types-16.boo │ │ ├── value-types-17.boo │ │ ├── value-types-18.boo │ │ ├── value-types-19.boo │ │ ├── value-types-2.boo │ │ ├── value-types-20.boo │ │ ├── value-types-21.boo │ │ ├── value-types-3.boo │ │ ├── value-types-4.boo │ │ ├── value-types-5.boo │ │ ├── value-types-6.boo │ │ ├── value-types-7.boo │ │ ├── value-types-8.boo │ │ └── value-types-9.boo │ ├── macros │ ├── assert-1.boo │ ├── custom-class-macro-as-generic-argument.boo │ ├── custom-class-macro-with-internal-field.boo │ ├── custom-class-macro-with-internal-property.boo │ ├── custom-class-macro-with-method-override.boo │ ├── custom-class-macro-with-properties-and-field.boo │ ├── custom-class-macro-with-properties.boo │ ├── custom-class-macro-with-property-macro.boo │ ├── custom-class-macro-with-simple-method-and-field.boo │ ├── custom-class-macro-with-simple-method.boo │ ├── debug-1.boo │ ├── generator-macro-1.boo │ ├── generator-macro-2.boo │ ├── generator-macro-3.boo │ ├── generator-macro-4.boo │ ├── generator-macro-5.boo │ ├── ifdef-1.boo │ ├── internal-macro-is-preferred.boo │ ├── macro-1.boo │ ├── macro-2.boo │ ├── macro-3.boo │ ├── macro-4.boo │ ├── macro-5.boo │ ├── macro-arguments-1.boo │ ├── macro-arguments-2.boo │ ├── macro-attribute-fpa.boo │ ├── macro-case-1.boo │ ├── macro-case-otherwise-2.boo │ ├── macro-case-otherwise.boo │ ├── macro-expansion-order-1.boo │ ├── macro-imports-1.boo │ ├── macro-should-be-able-to-reach-module.boo │ ├── macro-yielding-generic-class.boo │ ├── macro-yielding-generic-method-1.boo │ ├── macro-yielding-partial-enum-with-existing-partial-definition.boo │ ├── macro-yielding-partial-enums.boo │ ├── member-macro-changing-all-sibling-method-bodies.boo │ ├── member-macro-contributing-initialization-code.boo │ ├── member-macro-initialization-order.boo │ ├── member-macro-nodes-inherit-visibility-and-attributes.boo │ ├── member-macro-nodes-inherit-visibility-only-when-not-set.boo │ ├── member-macro-producing-field-and-constructor.boo │ ├── member-macro-producing-field-and-property.boo │ ├── nested-macros-1.boo │ ├── nested-macros-2.boo │ ├── nested-macros-3.boo │ ├── nested-macros-4.boo │ ├── nested-macros-5.boo │ ├── nested-macros-6.boo │ ├── nested-macros-7.boo │ ├── nested-macros-8.boo │ ├── nested-macros.boo │ ├── preserving-1.boo │ ├── print-1.boo │ ├── print-2.boo │ ├── then-can-be-used-as-macro-name.boo │ ├── type-member-macro-yielding-member-with-member-generating-attribute.boo │ ├── using-1.boo │ ├── using-2.boo │ ├── using-3.boo │ ├── using-4.boo │ ├── using-5.boo │ ├── var-1.boo │ ├── yieldAll-1.boo │ └── yieldAll-2.boo │ ├── net2 │ ├── errors │ │ ├── BCE0004-1.boo │ │ ├── BCE0138-1.boo │ │ ├── BCE0138-2.boo │ │ ├── BCE0139-1.boo │ │ ├── BCE0139-2.boo │ │ ├── BCE0139-3.boo │ │ ├── BCE0139-4.boo │ │ ├── BCE0139-5.boo │ │ ├── BCE0147-external.boo │ │ ├── BCE0149-1.boo │ │ ├── BCE0149-2.boo │ │ ├── BCE0149-3.boo │ │ ├── BCE0149-4.boo │ │ ├── BCE0159.boo │ │ ├── BCE0160.boo │ │ ├── BCE0161-1.boo │ │ ├── BCE0161-2.boo │ │ ├── BCE0162-1.boo │ │ ├── BCE0162-2.boo │ │ ├── BCE0162-3.boo │ │ ├── BCE0162-4.boo │ │ ├── BCE0162-5.boo │ │ ├── BCE0162-6.boo │ │ ├── BCE0162-7.boo │ │ ├── BCE0163.boo │ │ ├── BCE0164-1.boo │ │ ├── BCE0164-2.boo │ │ ├── BCE0164-3.boo │ │ └── BCE0164-4.boo │ └── generics │ │ ├── ambiguous-1.boo │ │ ├── array-enumerable-1.boo │ │ ├── array-enumerable-2.boo │ │ ├── automatic-generic-method-stub.boo │ │ ├── callable-1.boo │ │ ├── callable-2.boo │ │ ├── collections-1.boo │ │ ├── collections-2.boo │ │ ├── enumerable-shorthand-1.boo │ │ ├── enumerable-type-inference-1.boo │ │ ├── enumerable-type-inference-2.boo │ │ ├── enumerable-type-inference-4.boo │ │ ├── enumerable-type-inference-5.boo │ │ ├── generator-with-type-constraint-1.boo │ │ ├── generator-with-type-constraint-manually-expanded.boo │ │ ├── generators-1.boo │ │ ├── generators-2.boo │ │ ├── generators-3.boo │ │ ├── generators-4.boo │ │ ├── generators-5.boo │ │ ├── generators-6.boo │ │ ├── generators-7.boo │ │ ├── generic-array-1.boo │ │ ├── generic-array-2.boo │ │ ├── generic-array-3.boo │ │ ├── generic-closures-2.boo │ │ ├── generic-closures-3.boo │ │ ├── generic-closures.boo │ │ ├── generic-extension-1.boo │ │ ├── generic-extension-2.boo │ │ ├── generic-field-1.boo │ │ ├── generic-generator-type-1.boo │ │ ├── generic-inheritance-1.boo │ │ ├── generic-instance-overload.boo │ │ ├── generic-list-of-callable.boo │ │ ├── generic-matrix-1.boo │ │ ├── generic-method-1.boo │ │ ├── generic-method-2.boo │ │ ├── generic-method-3.boo │ │ ├── generic-method-4.boo │ │ ├── generic-method-5.boo │ │ ├── generic-method-invocation-1.boo │ │ ├── generic-method-invocation-2.boo │ │ ├── generic-overload-1.boo │ │ ├── generic-overload-2.boo │ │ ├── generic-overload-3.boo │ │ ├── generic-overload-4.boo │ │ ├── generic-overload-5.boo │ │ ├── generic-overload-6.boo │ │ ├── generic-overload-7.boo │ │ ├── generic-ref-parameter.boo │ │ ├── generic-type-resolution-1.boo │ │ ├── generic-type-resolution-2.boo │ │ ├── generic-type-resolution-3.boo │ │ ├── inference-1.boo │ │ ├── inference-10.boo │ │ ├── inference-2.boo │ │ ├── inference-3.boo │ │ ├── inference-4.boo │ │ ├── inference-5.boo │ │ ├── inference-6.boo │ │ ├── inference-7.boo │ │ ├── inference-8.boo │ │ ├── inference-9.boo │ │ ├── inheritance-1.boo │ │ ├── inheritance-2.boo │ │ ├── inheritance-3.boo │ │ ├── interface-1.boo │ │ ├── interface-with-generic-method.boo │ │ ├── internal-generic-callable-type-1.boo │ │ ├── internal-generic-callable-type-2.boo │ │ ├── internal-generic-callable-type-3.boo │ │ ├── internal-generic-type-1.boo │ │ ├── internal-generic-type-10.boo │ │ ├── internal-generic-type-11.boo │ │ ├── internal-generic-type-2.boo │ │ ├── internal-generic-type-3.boo │ │ ├── internal-generic-type-4.boo │ │ ├── internal-generic-type-5.boo │ │ ├── internal-generic-type-6.boo │ │ ├── internal-generic-type-7.boo │ │ ├── internal-generic-type-8.boo │ │ ├── internal-generic-type-9.boo │ │ ├── method-ref-1.boo │ │ ├── mixed-1.boo │ │ ├── mixed-2.boo │ │ ├── mixed-3.boo │ │ ├── mixed-4.boo │ │ ├── mixed-ref-parameter-1.boo │ │ ├── mixed-ref-parameter-2.boo │ │ ├── mixedbase.dll │ │ ├── naked-type-constraints-1.boo │ │ ├── nested-generic-type-1.boo │ │ ├── nullable-1.boo │ │ ├── nullable-2.boo │ │ ├── nullable-3.boo │ │ ├── nullable-4.boo │ │ ├── nullable-5.boo │ │ ├── nullable-6.boo │ │ ├── nullable-7.boo │ │ ├── override-1.boo │ │ ├── override-2.boo │ │ ├── override-3.boo │ │ ├── override-4.boo │ │ ├── override-5.boo │ │ ├── type-reference-1.boo │ │ ├── type-reference-2.boo │ │ └── type-reference-3.boo │ ├── parser │ ├── array_list_hash_literals.boo │ ├── class_2.boo │ ├── docstrings_1.boo │ ├── end_identifier.boo │ ├── enum_1.boo │ ├── for_stmt_1.boo │ ├── if_else_1.boo │ ├── interface_1.boo │ ├── nonsignificant_ws_regions_1.boo │ ├── properties_1.boo │ ├── re_literal_1.boo │ ├── re_literal_2.boo │ ├── re_literal_3.boo │ ├── roundtrip │ │ ├── and-or-1.boo │ │ ├── arrays-1.boo │ │ ├── arrays-2.boo │ │ ├── arrays-3.boo │ │ ├── arrays-4.boo │ │ ├── arrays-5.boo │ │ ├── arrays-6.boo │ │ ├── as-1.boo │ │ ├── assignment-1.boo │ │ ├── ast-literal-enum.boo │ │ ├── ast-literal-varargs-method.boo │ │ ├── ast-literals-1.boo │ │ ├── ast-literals-10.boo │ │ ├── ast-literals-11.boo │ │ ├── ast-literals-2.boo │ │ ├── ast-literals-3.boo │ │ ├── ast-literals-4.boo │ │ ├── ast-literals-5.boo │ │ ├── ast-literals-6.boo │ │ ├── ast-literals-7.boo │ │ ├── ast-literals-8.boo │ │ ├── ast-literals-9.boo │ │ ├── ast-literals-if-it-looks-like-a-block-1.boo │ │ ├── at-operator.boo │ │ ├── attributes-1.boo │ │ ├── attributes-2.boo │ │ ├── bool-literals-1.boo │ │ ├── callables-1.boo │ │ ├── callables-2.boo │ │ ├── callables-with-varags.boo │ │ ├── cast-1.boo │ │ ├── char-1.boo │ │ ├── char-2.boo │ │ ├── class-1.boo │ │ ├── class-2.boo │ │ ├── class-3.boo │ │ ├── closures-1.boo │ │ ├── closures-10.boo │ │ ├── closures-11.boo │ │ ├── closures-12.boo │ │ ├── closures-13.boo │ │ ├── closures-14.boo │ │ ├── closures-15.boo │ │ ├── closures-16.boo │ │ ├── closures-17.boo │ │ ├── closures-18.boo │ │ ├── closures-19.boo │ │ ├── closures-2.boo │ │ ├── closures-20.boo │ │ ├── closures-21.boo │ │ ├── closures-22.boo │ │ ├── closures-3.boo │ │ ├── closures-4.boo │ │ ├── closures-5.boo │ │ ├── closures-6.boo │ │ ├── closures-7.boo │ │ ├── closures-8.boo │ │ ├── closures-9.boo │ │ ├── collection-initializer.boo │ │ ├── comments-1.boo │ │ ├── comments-2.boo │ │ ├── comments-3.boo │ │ ├── comments-4.boo │ │ ├── conditional-1.boo │ │ ├── declarations-1.boo │ │ ├── declarations-2.boo │ │ ├── declarations-3.boo │ │ ├── double-literals-1.boo │ │ ├── dsl-1.boo │ │ ├── elif-1.boo │ │ ├── elif-2.boo │ │ ├── enumerable-type-shortcut.boo │ │ ├── enums-1.boo │ │ ├── events-1.boo │ │ ├── explode-1.boo │ │ ├── explode-2.boo │ │ ├── expressions-1.boo │ │ ├── expressions-2.boo │ │ ├── expressions-3.boo │ │ ├── expressions-4.boo │ │ ├── expressions-5.boo │ │ ├── extensions-1.boo │ │ ├── fields-1.boo │ │ ├── fields-2.boo │ │ ├── fields-3.boo │ │ ├── fields-4.boo │ │ ├── fields-5.boo │ │ ├── fields-6.boo │ │ ├── for_or-1.boo │ │ ├── for_or_then-1.boo │ │ ├── for_then-1.boo │ │ ├── generators-1.boo │ │ ├── generators-2.boo │ │ ├── generators-3.boo │ │ ├── generic-method-1.boo │ │ ├── generic-method-2.boo │ │ ├── generic-method-3.boo │ │ ├── generic-parameter-constraints.boo │ │ ├── generics-1.boo │ │ ├── generics-2.boo │ │ ├── generics-3.boo │ │ ├── generics-4.boo │ │ ├── generics-5.boo │ │ ├── getset-1.boo │ │ ├── goto-1.boo │ │ ├── goto-2.boo │ │ ├── hash-1.boo │ │ ├── hash-initializer.boo │ │ ├── iif-1.boo │ │ ├── import-1.boo │ │ ├── import-2.boo │ │ ├── in-not-in-1.boo │ │ ├── in-not-in-2.boo │ │ ├── in-not-in-3.boo │ │ ├── inplace-1.boo │ │ ├── internal-generic-callable-type-1.boo │ │ ├── internal-generic-type-1.boo │ │ ├── internal-generic-type-2.boo │ │ ├── internal-generic-type-3.boo │ │ ├── internal-generic-type-4.boo │ │ ├── internal-generic-type-5.boo │ │ ├── internal-generic-type-6.boo │ │ ├── interpolation-1.boo │ │ ├── interpolation-2.boo │ │ ├── interpolation-3.boo │ │ ├── interpolation-4.boo │ │ ├── invocation-1.boo │ │ ├── isa-1.boo │ │ ├── keywords-as-members-1.boo │ │ ├── line-continuation-1.boo │ │ ├── list-1.boo │ │ ├── long-literals-1.boo │ │ ├── macro-doc.boo │ │ ├── macros-1.boo │ │ ├── macros-2.boo │ │ ├── macros-3.boo │ │ ├── macros-anywhere-1.boo │ │ ├── method-declaration-in-macro-application.boo │ │ ├── method-declarations-in-nested-macro-application.boo │ │ ├── module-1.boo │ │ ├── module-2.boo │ │ ├── module-3.boo │ │ ├── named-arguments-1.boo │ │ ├── named-arguments-2.boo │ │ ├── new-1.boo │ │ ├── not-1.boo │ │ ├── not-2.boo │ │ ├── null-1.boo │ │ ├── omitted-member-target-1.boo │ │ ├── ones-complement-1.boo │ │ ├── regex-literals-1.boo │ │ ├── regex-literals-2.boo │ │ ├── return-1.boo │ │ ├── return-2.boo │ │ ├── self-1.boo │ │ ├── semicolons-1.boo │ │ ├── slicing-1.boo │ │ ├── slicing-2.boo │ │ ├── splicing-1.boo │ │ ├── splicing-class-body.boo │ │ ├── splicing-enum-body.boo │ │ ├── string-literals-1.boo │ │ ├── struct-1.boo │ │ ├── timespan-literals-1.boo │ │ ├── try-1.boo │ │ ├── try-2.boo │ │ ├── type-references-1.boo │ │ ├── unless-1.boo │ │ ├── varargs-1.boo │ │ ├── while_or-1.boo │ │ ├── while_or_then-1.boo │ │ ├── while_then-1.boo │ │ ├── xor-1.boo │ │ ├── yield-1.boo │ │ └── yield-as-member-name.boo │ ├── simple.boo │ ├── simple_class_fields.boo │ ├── simple_class_methods.boo │ ├── simple_classes.boo │ ├── simple_global_defs.boo │ ├── static_method.boo │ ├── stmt_modifiers_1.boo │ ├── stmt_modifiers_2.boo │ ├── stmt_modifiers_3.boo │ ├── unicode_ids.boo │ ├── unpack_stmt_1.boo │ ├── while_stmt_1.boo │ ├── wsa │ │ ├── and-or-1.boo │ │ ├── arrays-1.boo │ │ ├── arrays-2.boo │ │ ├── arrays-3.boo │ │ ├── arrays-4.boo │ │ ├── arrays-5.boo │ │ ├── arrays-6.boo │ │ ├── as-1.boo │ │ ├── assignment-1.boo │ │ ├── ast-literal-enum.boo │ │ ├── ast-literal-varargs-method.boo │ │ ├── ast-literals-1.boo │ │ ├── ast-literals-10.boo │ │ ├── ast-literals-11.boo │ │ ├── ast-literals-2.boo │ │ ├── ast-literals-3.boo │ │ ├── ast-literals-4.boo │ │ ├── ast-literals-5.boo │ │ ├── ast-literals-6.boo │ │ ├── ast-literals-7.boo │ │ ├── ast-literals-8.boo │ │ ├── ast-literals-9.boo │ │ ├── ast-literals-if-it-looks-like-a-block-1.boo │ │ ├── at-operator.boo │ │ ├── attributes-1.boo │ │ ├── attributes-2.boo │ │ ├── bool-literals-1.boo │ │ ├── callables-1.boo │ │ ├── callables-2.boo │ │ ├── callables-with-varags.boo │ │ ├── cast-1.boo │ │ ├── char-1.boo │ │ ├── char-2.boo │ │ ├── class-1.boo │ │ ├── class-2.boo │ │ ├── class-3.boo │ │ ├── closures-1.boo │ │ ├── closures-10.boo │ │ ├── closures-11.boo │ │ ├── closures-12.boo │ │ ├── closures-13.boo │ │ ├── closures-14.boo │ │ ├── closures-15.boo │ │ ├── closures-16.boo │ │ ├── closures-17.boo │ │ ├── closures-18.boo │ │ ├── closures-19.boo │ │ ├── closures-2.boo │ │ ├── closures-20.boo │ │ ├── closures-21.boo │ │ ├── closures-22.boo │ │ ├── closures-3.boo │ │ ├── closures-4.boo │ │ ├── closures-5.boo │ │ ├── closures-6.boo │ │ ├── closures-7.boo │ │ ├── closures-8.boo │ │ ├── closures-9.boo │ │ ├── collection-initializer.boo │ │ ├── comments-1.boo │ │ ├── comments-2.boo │ │ ├── comments-3.boo │ │ ├── comments-4.boo │ │ ├── conditional-1.boo │ │ ├── declarations-1.boo │ │ ├── declarations-2.boo │ │ ├── declarations-3.boo │ │ ├── double-literals-1.boo │ │ ├── dsl-1.boo │ │ ├── elif-1.boo │ │ ├── elif-2.boo │ │ ├── enumerable-type-shortcut.boo │ │ ├── enums-1.boo │ │ ├── events-1.boo │ │ ├── explode-1.boo │ │ ├── explode-2.boo │ │ ├── expressions-1.boo │ │ ├── expressions-2.boo │ │ ├── expressions-3.boo │ │ ├── expressions-4.boo │ │ ├── expressions-5.boo │ │ ├── extensions-1.boo │ │ ├── fields-1.boo │ │ ├── fields-2.boo │ │ ├── fields-3.boo │ │ ├── fields-4.boo │ │ ├── fields-5.boo │ │ ├── fields-6.boo │ │ ├── for_or-1.boo │ │ ├── for_or_then-1.boo │ │ ├── for_then-1.boo │ │ ├── generators-1.boo │ │ ├── generators-2.boo │ │ ├── generators-3.boo │ │ ├── generic-method-1.boo │ │ ├── generic-method-2.boo │ │ ├── generic-method-3.boo │ │ ├── generic-parameter-constraints.boo │ │ ├── generics-1.boo │ │ ├── generics-2.boo │ │ ├── generics-3.boo │ │ ├── generics-4.boo │ │ ├── generics-5.boo │ │ ├── getset-1.boo │ │ ├── goto-1.boo │ │ ├── goto-2.boo │ │ ├── hash-1.boo │ │ ├── hash-initializer.boo │ │ ├── iif-1.boo │ │ ├── import-1.boo │ │ ├── import-2.boo │ │ ├── in-not-in-1.boo │ │ ├── in-not-in-2.boo │ │ ├── in-not-in-3.boo │ │ ├── inplace-1.boo │ │ ├── internal-generic-callable-type-1.boo │ │ ├── internal-generic-type-1.boo │ │ ├── internal-generic-type-2.boo │ │ ├── internal-generic-type-3.boo │ │ ├── internal-generic-type-4.boo │ │ ├── internal-generic-type-5.boo │ │ ├── internal-generic-type-6.boo │ │ ├── interpolation-1.boo │ │ ├── interpolation-2.boo │ │ ├── interpolation-3.boo │ │ ├── interpolation-4.boo │ │ ├── invocation-1.boo │ │ ├── isa-1.boo │ │ ├── keywords-as-members-1.boo │ │ ├── line-continuation-1.boo │ │ ├── list-1.boo │ │ ├── long-literals-1.boo │ │ ├── macro-doc.boo │ │ ├── macros-1.boo │ │ ├── macros-2.boo │ │ ├── macros-3.boo │ │ ├── macros-anywhere-1.boo │ │ ├── member-references-1.boo │ │ ├── method-declaration-in-macro-application.boo │ │ ├── method-declarations-in-nested-macro-application.boo │ │ ├── module-1.boo │ │ ├── module-2.boo │ │ ├── module-3.boo │ │ ├── named-arguments-1.boo │ │ ├── named-arguments-2.boo │ │ ├── new-1.boo │ │ ├── not-1.boo │ │ ├── not-2.boo │ │ ├── null-1.boo │ │ ├── omitted-member-target-1.boo │ │ ├── ones-complement-1.boo │ │ ├── regex-literals-1.boo │ │ ├── regex-literals-2.boo │ │ ├── return-1.boo │ │ ├── return-2.boo │ │ ├── self-1.boo │ │ ├── semicolons-1.boo │ │ ├── slicing-1.boo │ │ ├── slicing-2.boo │ │ ├── splicing-1.boo │ │ ├── splicing-class-body.boo │ │ ├── splicing-enum-body.boo │ │ ├── string-literals-1.boo │ │ ├── struct-1.boo │ │ ├── timespan-literals-1.boo │ │ ├── try-1.boo │ │ ├── try-2.boo │ │ ├── try-3.boo │ │ ├── type-references-1.boo │ │ ├── unless-1.boo │ │ ├── varargs-1.boo │ │ ├── while_or-1.boo │ │ ├── while_or_then-1.boo │ │ ├── while_then-1.boo │ │ ├── xor-1.boo │ │ ├── yield-1.boo │ │ └── yield-as-member-name.boo │ └── yield_stmt_1.boo │ ├── regression │ ├── BOO-1005-1.boo │ ├── BOO-1005-2.boo │ ├── BOO-1006-1.boo │ ├── BOO-1008-1.boo │ ├── BOO-1009-1.boo │ ├── BOO-1013-1.boo │ ├── BOO-1013-2.boo │ ├── BOO-1016-1.boo │ ├── BOO-1016-2.boo │ ├── BOO-1027-1.boo │ ├── BOO-1031-1.boo │ ├── BOO-1031-2.boo │ ├── BOO-1031-3.boo │ ├── BOO-1031-4.boo │ ├── BOO-1035-1.boo │ ├── BOO-104-1.boo │ ├── BOO-1040-1.boo │ ├── BOO-1047.boo │ ├── BOO-1069-1.boo │ ├── BOO-1070-1.boo │ ├── BOO-1071.boo │ ├── BOO-1076.boo │ ├── BOO-1078-1.boo │ ├── BOO-1080-1.boo │ ├── BOO-1082.boo │ ├── BOO-1085.boo │ ├── BOO-1086.boo │ ├── BOO-1088-1.boo │ ├── BOO-1091-1.boo │ ├── BOO-1095-1.boo │ ├── BOO-1111-1.boo │ ├── BOO-1127-1.boo │ ├── BOO-1130-1.boo │ ├── BOO-1135-1.boo │ ├── BOO-1147-1.boo │ ├── BOO-1147-2.boo │ ├── BOO-1154-1.boo │ ├── BOO-1160-1.boo │ ├── BOO-1162-1.boo │ ├── BOO-1170.boo │ ├── BOO-1171-1.boo │ ├── BOO-1176-1.boo │ ├── BOO-1177-1.boo │ ├── BOO-1206-1.boo │ ├── BOO-121-1.boo │ ├── BOO-1210-1.boo │ ├── BOO-1217-1.boo │ ├── BOO-122-1.boo │ ├── BOO-1220-1.boo │ ├── BOO-123-1.boo │ ├── BOO-1256.boo │ ├── BOO-1261-1.boo │ ├── BOO-1264.boo │ ├── BOO-1288.boo │ ├── BOO-129-1.boo │ ├── BOO-1290.boo │ ├── BOO-1306.boo │ ├── BOO-1307.boo │ ├── BOO-1308.boo │ ├── BOO-138-1.boo │ ├── BOO-145-1.boo │ ├── BOO-176-1.boo │ ├── BOO-178-1.boo │ ├── BOO-178-2.boo │ ├── BOO-189-1.boo │ ├── BOO-189-2.boo │ ├── BOO-195-1.boo │ ├── BOO-203-1.boo │ ├── BOO-210-1.boo │ ├── BOO-226-1.boo │ ├── BOO-226-2.boo │ ├── BOO-227-1.boo │ ├── BOO-231-1.boo │ ├── BOO-241-1.boo │ ├── BOO-248-1.boo │ ├── BOO-260-1.boo │ ├── BOO-265-1.boo │ ├── BOO-270-1.boo │ ├── BOO-281-1.boo │ ├── BOO-281-2.boo │ ├── BOO-301-1.boo │ ├── BOO-301-2.boo │ ├── BOO-308-1.boo │ ├── BOO-308-2.boo │ ├── BOO-313-1.boo │ ├── BOO-313-10.boo │ ├── BOO-313-11.boo │ ├── BOO-313-12.boo │ ├── BOO-313-2.boo │ ├── BOO-313-3.boo │ ├── BOO-313-4.boo │ ├── BOO-313-5.boo │ ├── BOO-313-6.boo │ ├── BOO-313-7.boo │ ├── BOO-313-8.boo │ ├── BOO-313-9.boo │ ├── BOO-327-1.boo │ ├── BOO-338-1.boo │ ├── BOO-356-1.boo │ ├── BOO-357-1.boo │ ├── BOO-357-2.boo │ ├── BOO-366-1.boo │ ├── BOO-366-2.boo │ ├── BOO-367-1.boo │ ├── BOO-368-1.boo │ ├── BOO-369-1.boo │ ├── BOO-369-2.boo │ ├── BOO-372-1.boo │ ├── BOO-390-1.boo │ ├── BOO-396-1.boo │ ├── BOO-398-1.boo │ ├── BOO-40-1.boo │ ├── BOO-407-1.boo │ ├── BOO-408-1.boo │ ├── BOO-411-1.boo │ ├── BOO-417-1.boo │ ├── BOO-420-1.boo │ ├── BOO-440-1.boo │ ├── BOO-440-2.boo │ ├── BOO-440-3.boo │ ├── BOO-441-1.boo │ ├── BOO-441-2.boo │ ├── BOO-46-1.boo │ ├── BOO-46-2.boo │ ├── BOO-464-1.boo │ ├── BOO-474-1.boo │ ├── BOO-540-1.boo │ ├── BOO-540-2.boo │ ├── BOO-549-1.boo │ ├── BOO-569-1.boo │ ├── BOO-585-1.boo │ ├── BOO-590-1.boo │ ├── BOO-603-1.boo │ ├── BOO-605-1.boo │ ├── BOO-608-1.boo │ ├── BOO-612-1.boo │ ├── BOO-612-2.boo │ ├── BOO-632-1.boo │ ├── BOO-642-1.boo │ ├── BOO-650-1.boo │ ├── BOO-651-1.boo │ ├── BOO-656-1.boo │ ├── BOO-662-1.boo │ ├── BOO-662-2.boo │ ├── BOO-684-1.boo │ ├── BOO-685-1.boo │ ├── BOO-697-1.boo │ ├── BOO-698-1.boo │ ├── BOO-705-1.boo │ ├── BOO-707-1.boo │ ├── BOO-709-1.boo │ ├── BOO-710-1.boo │ ├── BOO-714-1.boo │ ├── BOO-719-1.boo │ ├── BOO-719-2.boo │ ├── BOO-723-1.boo │ ├── BOO-724-1.boo │ ├── BOO-724-2.boo │ ├── BOO-725-1.boo │ ├── BOO-729-1.boo │ ├── BOO-736-1.boo │ ├── BOO-739-1.boo │ ├── BOO-739-2.boo │ ├── BOO-747-1.boo │ ├── BOO-747-2.boo │ ├── BOO-748-1.boo │ ├── BOO-75-1.boo │ ├── BOO-753-1.boo │ ├── BOO-753-2.boo │ ├── BOO-76-1.boo │ ├── BOO-76-2.boo │ ├── BOO-77-1.boo │ ├── BOO-770-1.boo │ ├── BOO-779-1.boo │ ├── BOO-779-2.boo │ ├── BOO-779-3.boo │ ├── BOO-779-4.boo │ ├── BOO-792-1.boo │ ├── BOO-792-2.boo │ ├── BOO-799-1.boo │ ├── BOO-806-1.boo │ ├── BOO-809-1.boo │ ├── BOO-809-2.boo │ ├── BOO-809-3.boo │ ├── BOO-809-4.boo │ ├── BOO-813-1.boo │ ├── BOO-826.boo │ ├── BOO-835-1.boo │ ├── BOO-844-1.boo │ ├── BOO-844-2.boo │ ├── BOO-85-1.boo │ ├── BOO-860-1.boo │ ├── BOO-861-1.boo │ ├── BOO-862-1.boo │ ├── BOO-862-2.boo │ ├── BOO-864-1.boo │ ├── BOO-865-1.boo │ ├── BOO-88-1.boo │ ├── BOO-882.boo │ ├── BOO-893-1.boo │ ├── BOO-90-1.boo │ ├── BOO-913-1.boo │ ├── BOO-935-1.boo │ ├── BOO-935-2.boo │ ├── BOO-948-1.boo │ ├── BOO-949-1.boo │ ├── BOO-949-2.boo │ ├── BOO-952-1.boo │ ├── BOO-955-1.boo │ ├── BOO-958-1.boo │ ├── BOO-960.boo │ ├── BOO-973-1.boo │ ├── BOO-974-1.boo │ ├── BOO-975-1.boo │ ├── BOO-977-1.boo │ ├── BOO-979-1.boo │ ├── BOO-979-2.boo │ ├── BOO-982-1.boo │ ├── BOO-983-1.boo │ ├── BOO-983-2.boo │ ├── BOO-986-1.boo │ ├── BOO-99-1.boo │ ├── BOO-992-1.boo │ ├── BOO-992-2.boo │ ├── BOO-999-1.boo │ ├── BOO-GH94-1.boo │ ├── array_ldelem.boo │ ├── boo-1032-1.boo │ ├── boo-1032-2.boo │ ├── boo-1051.boo │ ├── complex-iterators-1.boo │ ├── delegate-overload.boo │ ├── duck-default-member-overload.boo │ ├── duck-default-setter-overload.boo │ ├── for-re-Split.boo │ ├── generators-1.boo │ ├── linq-filter-error-2.boo │ ├── linq-filter-error.boo │ ├── method-with-type-inference-rule-as-statement.boo │ ├── nullables-and-generators.boo │ └── override-inference.boo │ ├── semantics │ ├── abstract_method0.boo │ ├── abstract_method_stubs0.boo │ ├── assert0.boo │ ├── assert1.boo │ ├── assign_property.boo │ ├── callables-1.boo │ ├── classes0.boo │ ├── classes1.boo │ ├── collection-initializer.boo │ ├── enum0.boo │ ├── enum1.boo │ ├── equality0.boo │ ├── fields-1.boo │ ├── fields-2.boo │ ├── fields-3.boo │ ├── fields-4.boo │ ├── fields-5.boo │ ├── fields-6.boo │ ├── fields-7.boo │ ├── fields-8.boo │ ├── folding-0.boo │ ├── for-1.boo │ ├── for-2.boo │ ├── hash-initializer.boo │ ├── hash0.boo │ ├── in_string.boo │ ├── interfaces-0.boo │ ├── interfaces-1.boo │ ├── interfaces-2.boo │ ├── is-0.boo │ ├── len.boo │ ├── lock0.boo │ ├── lock1.boo │ ├── lock2.boo │ ├── method2.boo │ ├── method3.boo │ ├── method6.boo │ ├── method7.boo │ ├── module0.boo │ ├── null0.boo │ ├── null1.boo │ ├── numericpromo0.boo │ ├── omitted-target-1.boo │ ├── regex-is-cached-in-static-field-unless-assigned.boo │ ├── slice_property.boo │ ├── slice_property_int.boo │ ├── static_field_initializer.boo │ ├── stringslice0.boo │ ├── stringslice1.boo │ ├── struct-1.boo │ ├── type_resolution0.boo │ ├── using0.boo │ └── using1.boo │ ├── stdlib │ ├── DynamicVariable-1.boo │ ├── cat-1.boo │ ├── cat-2.boo │ ├── environments-1.boo │ ├── formatting-1.boo │ ├── hash-1.boo │ ├── hash-2.boo │ ├── hash-3.boo │ ├── join-1.boo │ ├── len-1.boo │ ├── list-add-1.boo │ ├── list-equals-1.boo │ ├── list-find-1.boo │ ├── list-indexof-1.boo │ ├── list-indexof-2.boo │ ├── list-indexof-3.boo │ ├── list-removeall-1.boo │ ├── list-sort-1.boo │ ├── map-1.boo │ ├── range-1.boo │ ├── range-2.boo │ ├── range-3.boo │ └── reversed-1.boo │ ├── unsafe │ ├── errors │ │ ├── BCE0168-1.boo │ │ ├── sizeof-usage-1.boo │ │ ├── unsafe-usage-1.boo │ │ └── unsafe-usage-2.boo │ ├── sizeof-1.boo │ ├── unsafe-1.boo │ ├── unsafe-2.boo │ ├── unsafe-3.boo │ ├── unsafe-4.boo │ └── unsafe-5.boo │ └── warnings │ ├── BCW0001-10.boo │ ├── BCW0001-4.boo │ ├── BCW0002-1.boo │ ├── BCW0003-1.boo │ ├── BCW0003-2.boo │ ├── BCW0004-1.boo │ ├── BCW0004-2.boo │ ├── BCW0005-1.boo │ ├── BCW0006-1.boo │ ├── BCW0006-2.boo │ ├── BCW0007-1.boo │ ├── BCW0008-1.boo │ ├── BCW0011-1.boo │ ├── BCW0011-10.boo │ ├── BCW0011-11.boo │ ├── BCW0011-12.boo │ ├── BCW0011-13.boo │ ├── BCW0011-14.boo │ ├── BCW0011-15.boo │ ├── BCW0011-16.boo │ ├── BCW0011-17.boo │ ├── BCW0011-18.boo │ ├── BCW0011-19.boo │ ├── BCW0011-2.boo │ ├── BCW0011-3.boo │ ├── BCW0011-4.boo │ ├── BCW0011-5.boo │ ├── BCW0011-6.boo │ ├── BCW0011-7.boo │ ├── BCW0011-8.boo │ ├── BCW0011-9.boo │ ├── BCW0012-1.boo │ ├── BCW0013-1.boo │ ├── BCW0013-2.boo │ ├── BCW0013-3.boo │ ├── BCW0014-1.boo │ ├── BCW0014-2.boo │ ├── BCW0015-1.boo │ ├── BCW0015-2.boo │ ├── BCW0015-3.boo │ ├── BCW0015-4.boo │ ├── BCW0015-5.boo │ ├── BCW0016-1.boo │ ├── BCW0017-1.boo │ ├── BCW0018-1.boo │ ├── BCW0019-1.boo │ ├── BCW0020-1.boo │ ├── BCW0021-1.boo │ ├── BCW0022-1.boo │ ├── BCW0022-2.boo │ ├── BCW0023-1.boo │ ├── BCW0024-1.boo │ ├── BCW0025-1.boo │ ├── BCW0026-1.boo │ ├── BCW0027-1.boo │ ├── BCW0028-1.boo │ ├── BCW0028-2.boo │ ├── BCW0029-1.boo │ ├── no-unreacheable-code-warning-for-compiler-generated-code.boo │ ├── nowarn-1.boo │ └── nowarn-2.boo ├── todo.txt ├── tools └── RetargetAssembly │ ├── RetargetAssembly.boo │ └── build.gradle └── version.txt /Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = bin extras 2 | -------------------------------------------------------------------------------- /bin/.gitignore: -------------------------------------------------------------------------------- 1 | *.mdb 2 | -------------------------------------------------------------------------------- /bin/Boo.Lang.CodeDom.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/Boo.Lang.CodeDom.dll -------------------------------------------------------------------------------- /bin/Boo.Lang.Compiler.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/Boo.Lang.Compiler.dll -------------------------------------------------------------------------------- /bin/Boo.Lang.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/Boo.Lang.Extensions.dll -------------------------------------------------------------------------------- /bin/Boo.Lang.Interpreter.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/Boo.Lang.Interpreter.dll -------------------------------------------------------------------------------- /bin/Boo.Lang.Parser.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/Boo.Lang.Parser.dll -------------------------------------------------------------------------------- /bin/Boo.Lang.PatternMatching.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/Boo.Lang.PatternMatching.dll -------------------------------------------------------------------------------- /bin/Boo.Lang.Useful.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/Boo.Lang.Useful.dll -------------------------------------------------------------------------------- /bin/Boo.Lang.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/Boo.Lang.dll -------------------------------------------------------------------------------- /bin/Boo.Microsoft.Build.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/Boo.Microsoft.Build.Tasks.dll -------------------------------------------------------------------------------- /bin/Boo.NAnt.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/Boo.NAnt.Tasks.dll -------------------------------------------------------------------------------- /bin/booc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/booc.exe -------------------------------------------------------------------------------- /bin/booi.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/booi.exe -------------------------------------------------------------------------------- /bin/booish.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/bin/booish.exe -------------------------------------------------------------------------------- /booc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | env mono build/booc.exe "$@" 3 | -------------------------------------------------------------------------------- /booi: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | env mono build/booi.exe "$@" 3 | -------------------------------------------------------------------------------- /build-tools/versions: -------------------------------------------------------------------------------- 1 | NANT_COMMIT=e3644541bf083d8e33f450bfbd1a4147e494769c 2 | NUNIT_VERSION=2.6.3 3 | MAKE_VERSION=4.2 -------------------------------------------------------------------------------- /ci: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | SCRIPT_DIR=$(dirname "${BASH_SOURCE[0]}") 6 | 7 | ${SCRIPT_DIR}/nant compile-tests 8 | ${SCRIPT_DIR}/nunit 9 | -------------------------------------------------------------------------------- /ci.ps1: -------------------------------------------------------------------------------- 1 | $ErrorActionPreference = "Stop" 2 | 3 | $SCRIPT_PATH=$MyInvocation.MyCommand.Path 4 | $SCRIPT_DIR=Split-Path $SCRIPT_PATH 5 | 6 | & ${SCRIPT_DIR}\nant.ps1 compile-tests 7 | & ${SCRIPT_DIR}\nunit.ps1 8 | -------------------------------------------------------------------------------- /docs/BooManifesto.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/docs/BooManifesto.pdf -------------------------------------------------------------------------------- /docs/BooManifesto.sxw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/docs/BooManifesto.sxw -------------------------------------------------------------------------------- /examples/BuildingLanguages/UsingCSharp/.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | obj 3 | -------------------------------------------------------------------------------- /examples/asp.net/Math.asmx: -------------------------------------------------------------------------------- 1 | <%@WebService Class="MathService" Language="C#" %> 2 | public class MathService : Math 3 | { 4 | } 5 | -------------------------------------------------------------------------------- /examples/gac/GacLibrary/GacLibrary.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/examples/gac/GacLibrary/GacLibrary.snk -------------------------------------------------------------------------------- /examples/pipeline/Extensibilidade.sxw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/examples/pipeline/Extensibilidade.sxw -------------------------------------------------------------------------------- /extras/SharpDevelop/BooBinding/icons/Boo.File.EmptyFile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/SharpDevelop/BooBinding/icons/Boo.File.EmptyFile.png -------------------------------------------------------------------------------- /extras/SharpDevelop/BooBinding/icons/Boo.File.Form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/SharpDevelop/BooBinding/icons/Boo.File.Form.png -------------------------------------------------------------------------------- /extras/SharpDevelop/BooBinding/icons/Boo.FileIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/SharpDevelop/BooBinding/icons/Boo.FileIcon.png -------------------------------------------------------------------------------- /extras/SharpDevelop/BooBinding/icons/Boo.Project.EmptyProject.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/SharpDevelop/BooBinding/icons/Boo.Project.EmptyProject.png -------------------------------------------------------------------------------- /extras/SharpDevelop/BooBinding/icons/Boo.Project.Form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/SharpDevelop/BooBinding/icons/Boo.Project.Form.png -------------------------------------------------------------------------------- /extras/SharpDevelop/BooBinding/icons/Boo.ProjectIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/SharpDevelop/BooBinding/icons/Boo.ProjectIcon.png -------------------------------------------------------------------------------- /extras/boo.mime: -------------------------------------------------------------------------------- 1 | text/x-boo 2 | ext: boo 3 | -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/InternalClass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/InternalClass.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/InternalEnum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/InternalEnum.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/InternalField.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/InternalField.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/InternalInterface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/InternalInterface.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/InternalMethod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/InternalMethod.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/InternalProperty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/InternalProperty.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/PrivateClass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/PrivateClass.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/PrivateEnum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/PrivateEnum.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/PrivateField.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/PrivateField.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/PrivateInterface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/PrivateInterface.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/PrivateMethod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/PrivateMethod.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/PrivateProperty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/PrivateProperty.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/ProtectedClass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/ProtectedClass.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/ProtectedEnum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/ProtectedEnum.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/ProtectedField.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/ProtectedField.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/ProtectedInterface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/ProtectedInterface.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/ProtectedMethod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/ProtectedMethod.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/ProtectedProperty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/ProtectedProperty.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/class.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/class.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/enum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/enum.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/event.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/event.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/field.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/interface.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/method.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/method.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/namespace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/namespace.png -------------------------------------------------------------------------------- /extras/boox/resources/ClassBrowserIcons/property.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/ClassBrowserIcons/property.png -------------------------------------------------------------------------------- /extras/boox/resources/boo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/extras/boox/resources/boo.ico -------------------------------------------------------------------------------- /extras/template.config.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | @SUPPORTEDVERSIONS@ 7 | 8 | 9 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /il: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | mono build/booc.exe -out:build/il.exe "$@" && monodis build/il.exe 3 | -------------------------------------------------------------------------------- /il.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | build\booc.exe -out:build\il.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 3 | ildasm /text build\il.exe 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/README.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/README.txt -------------------------------------------------------------------------------- /lib/antlr-2.7.5/antlr-2.7.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/antlr-2.7.5.jar -------------------------------------------------------------------------------- /lib/antlr-2.7.5/antlr/debug/NewLineListener.java: -------------------------------------------------------------------------------- 1 | package antlr.debug; 2 | 3 | public interface NewLineListener extends ListenerBase { 4 | 5 | 6 | public void hitNewLine(NewLineEvent e); 7 | } 8 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/ANTLRException.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/ANTLRException.gif -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/closure.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/closure.gif -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/hidden.stream.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/hidden.stream.gif -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/j-guru-blue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/j-guru-blue.jpg -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/jguru-logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/jguru-logo.gif -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/lexer.to.parser.tokens.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/lexer.to.parser.tokens.gif -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/logo.gif -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/optional.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/optional.gif -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/posclosure.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/posclosure.gif -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/stream.perspectives.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/stream.perspectives.gif -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/stream.selector.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/stream.selector.gif -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/stream.splitter.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/stream.splitter.gif -------------------------------------------------------------------------------- /lib/antlr-2.7.5/doc/subrule.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/doc/subrule.gif -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/ASTsupport/Main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "SupportTest.hpp" 3 | 4 | int main() 5 | { 6 | SupportTest::main(); 7 | return 0; 8 | } 9 | 10 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/calc/test.in: -------------------------------------------------------------------------------- 1 | 3+4*5; 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/exprAST/test.in: -------------------------------------------------------------------------------- 1 | 4 / (5+6) *f(x,y,z,1+2) 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/exprAST/test2.in: -------------------------------------------------------------------------------- 1 | 3+4 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/filterWithRule/t.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | dsfkjdsfklj 5 |
6 | foo 7 | 8 | hi 9 | 10 | 11 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/heteroAST/test.in: -------------------------------------------------------------------------------- 1 | 3+4*5+21; 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/imagNodeAST/simple.in: -------------------------------------------------------------------------------- 1 | { 2 | i = 3+4; 3 | } 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/imagNodeAST/test.in: -------------------------------------------------------------------------------- 1 | { 2 | i = 3; 3 | if ( 6 ) j = 7; else j = 8; 4 | while ( 9 ) { 5 | k = j; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/includeFile/incl.h: -------------------------------------------------------------------------------- 1 | 2 | int x; 3 | #include "subincl.h" 4 | int y; 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/includeFile/subincl.h: -------------------------------------------------------------------------------- 1 | int z; 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/includeFile/test.c: -------------------------------------------------------------------------------- 1 | int a,b; 2 | #include "incl.h" 3 | int c; 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/lexRewrite/test.in: -------------------------------------------------------------------------------- 1 | abc := ( 34 ) 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/multiLexer/CommonTokenTypes.txt: -------------------------------------------------------------------------------- 1 | Common 2 | JAVADOC_OPEN=4 3 | JAVADOC_CLOSE=5 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/multiLexer/test.in: -------------------------------------------------------------------------------- 1 | /** a javadoc comment 2 | * @param foo 3 | * @exception IOException 4 | * blah blah 5 | */ 6 | int abc; 7 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/multiParser/test.in: -------------------------------------------------------------------------------- 1 | A B C C B A 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/parseBinary/data: -------------------------------------------------------------------------------- 1 | a test -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/preserveWhiteSpace/readme.txt: -------------------------------------------------------------------------------- 1 | See http://www.antlr.org/fieldguide/whitespace for a description of 2 | this translator. 3 | 4 | Peace, 5 | Terence 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/transform/test.in: -------------------------------------------------------------------------------- 1 | 0+3+0*5+0; 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/treewalk/simple.in: -------------------------------------------------------------------------------- 1 | { 2 | i = 3+4; 3 | } 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/treewalk/test.in: -------------------------------------------------------------------------------- 1 | { 2 | i = 3+4*5; 3 | if ( 6 ) j = 7; else j = 8; 4 | while ( 9 ) { 5 | k = 1; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/cpp/unicode/test.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/examples/cpp/unicode/test.in -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/ASTsupport/ASTType49.cs: -------------------------------------------------------------------------------- 1 | /// Test heterogeneous dynamic typing class. 2 | public class ASTType49 : antlr.CommonAST 3 | { 4 | } 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/ASTsupport/MyAST.cs: -------------------------------------------------------------------------------- 1 | /// Test homogeneous class. 2 | public class MyAST : antlr.CommonAST 3 | { 4 | } 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/ASTsupport/shiplist: -------------------------------------------------------------------------------- 1 | ASTSupport.build 2 | t.bat 3 | test.g 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/ASTsupport/t.bat: -------------------------------------------------------------------------------- 1 | java antlr.Tool test.g 2 | javac *.java 3 | java SupportTest 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/HTML/shiplist: -------------------------------------------------------------------------------- 1 | html.g 2 | Main.java 3 | test.html 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/IDL/shiplist: -------------------------------------------------------------------------------- 1 | idl.g 2 | test.idl 3 | Main.java 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/calc/shiplist: -------------------------------------------------------------------------------- 1 | calc.build 2 | calc.g 3 | Calc.cs 4 | test.in 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/calc/test.in: -------------------------------------------------------------------------------- 1 | 3+4*5; 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/columns/shiplist: -------------------------------------------------------------------------------- 1 | columns.build 2 | track.g 3 | test.in 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/columns/test.in: -------------------------------------------------------------------------------- 1 | 123456789012345678901234567890 2 | a one two three 3 | 34 z 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/cpp/cpp.in: -------------------------------------------------------------------------------- 1 | int a,b; 2 | #include "incl.h" 3 | int c; 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/cpp/incl.h: -------------------------------------------------------------------------------- 1 | 2 | int x; 3 | #include "subincl.h" 4 | int y; 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/cpp/subincl.h: -------------------------------------------------------------------------------- 1 | int z; 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/csccbug.cs: -------------------------------------------------------------------------------- 1 | // wh: bug(?) in DotGNU 0.6 - "using antlr" will workaround the problem. 2 | #if __CSCC__ 3 | using antlr; 4 | #else 5 | class Dummy {} 6 | #endif 7 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/exprAST/shiplist: -------------------------------------------------------------------------------- 1 | exprAST.build 2 | expr.g 3 | Main.cs 4 | test.in 5 | test2.in 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/exprAST/test.in: -------------------------------------------------------------------------------- 1 | 4 / (5+6) *f(x,y,z,1+2) 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/exprAST/test2.in: -------------------------------------------------------------------------------- 1 | 3+4 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/filter/shiplist: -------------------------------------------------------------------------------- 1 | filter.build 2 | Test.cs 3 | t.g 4 | test.html 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/filterWithRule/shiplist: -------------------------------------------------------------------------------- 1 | filterWithRule.build 2 | t.g 3 | t.html 4 | Test.cs 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/filterWithRule/t.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | dsfkjdsfklj 5 |
6 | foo 7 | 8 | hi 9 |

10 | 11 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/heteroAST/shiplist: -------------------------------------------------------------------------------- 1 | calc.g 2 | Main.java 3 | test.in 4 | BinaryOperatorAST.java 5 | CalcAST.java 6 | INTNode.java 7 | MULTNode.java 8 | PLUSNode.java 9 | 10 | 11 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/heteroAST/test.in: -------------------------------------------------------------------------------- 1 | 3+4*5+21; 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/imagNodeAST/shiplist: -------------------------------------------------------------------------------- 1 | Main.cs 2 | simple.in 3 | test.in 4 | treewalk.g 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/imagNodeAST/simple.in: -------------------------------------------------------------------------------- 1 | { 2 | 3 | i = 3+4; 4 | 5 | } 6 | 7 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/imagNodeAST/test.in: -------------------------------------------------------------------------------- 1 | { 2 | 3 | i = 3; 4 | 5 | if ( 6 ) j = 7; else j = 8; 6 | 7 | while ( 9 ) { 8 | 9 | k = j; 10 | 11 | } 12 | 13 | } 14 | 15 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/includeFile/incl.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | int x; 4 | 5 | #include "subincl.h" 6 | 7 | int y; 8 | 9 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/includeFile/shiplist: -------------------------------------------------------------------------------- 1 | Main.cs 2 | P.g 3 | test.c 4 | incl.h 5 | subincl.h 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/includeFile/subincl.h: -------------------------------------------------------------------------------- 1 | int z; 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/includeFile/test.c: -------------------------------------------------------------------------------- 1 | int a,b; 2 | 3 | #include "incl.h" 4 | 5 | int c; 6 | 7 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/inherit.tinyc/shiplist: -------------------------------------------------------------------------------- 1 | input.c 2 | Main.cs 3 | runtest.bat 4 | runtest.sh 5 | subc.g 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/java/shiplist: -------------------------------------------------------------------------------- 1 | java.build 2 | JavaParser.csproj 3 | java.g 4 | java.tree.g 5 | Main.cs 6 | Main.java 7 | T.java 8 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/multiLexer/shiplist: -------------------------------------------------------------------------------- 1 | Main.java 2 | javaparse.g 3 | javadocparse.g 4 | javalex.g 5 | javadoclex.g 6 | test.in 7 | CommonTokenTypes.txt 8 | 9 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/multiLexer/test.in: -------------------------------------------------------------------------------- 1 | /** a javadoc comment 2 | * @param foo 3 | * @exception IOException 4 | * blah blah 5 | */ 6 | int abc; 7 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/parseBinary/data: -------------------------------------------------------------------------------- 1 | a test -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/parseBinary/runtests.bat: -------------------------------------------------------------------------------- 1 | nant 2 | @bin\MkData.exe 3 | bin\parseBinary.exe 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/parseBinary/shiplist: -------------------------------------------------------------------------------- 1 | data 2 | data.g 3 | Main.java 4 | MkData.java 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/preserveWhiteSpace/readme.txt: -------------------------------------------------------------------------------- 1 | See http://www.antlr.org/fieldguide/whitespace for a description of 2 | this translator. 3 | 4 | Peace, 5 | Terence 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/preserveWhiteSpace/shiplist: -------------------------------------------------------------------------------- 1 | InstrMain.java 2 | instr.g 3 | readme.txt 4 | test.in 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/tinyc/shiplist: -------------------------------------------------------------------------------- 1 | input.c 2 | lexer.g 3 | tinyc.g 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/unicode/shiplist: -------------------------------------------------------------------------------- 1 | unicode.g 2 | test.in 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/csharp/unicode/test.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/examples/csharp/unicode/test.in -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/ASTsupport/ASTType49.java: -------------------------------------------------------------------------------- 1 | /** Test heterogeneous dynamic typing class */ 2 | public class ASTType49 extends antlr.CommonAST { 3 | } 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/ASTsupport/MyAST.java: -------------------------------------------------------------------------------- 1 | /** Test homogeneous class */ 2 | public class MyAST extends antlr.CommonAST { 3 | } 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/ASTsupport/shiplist: -------------------------------------------------------------------------------- 1 | t.bat 2 | test.g 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/ASTsupport/t.bat: -------------------------------------------------------------------------------- 1 | java antlr.Tool test.g 2 | javac *.java 3 | java SupportTest 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/HTML/shiplist: -------------------------------------------------------------------------------- 1 | html.g 2 | Main.java 3 | test.html 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/IDL/shiplist: -------------------------------------------------------------------------------- 1 | idl.g 2 | test.idl 3 | Main.java 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/calc/shiplist: -------------------------------------------------------------------------------- 1 | calc.g 2 | Calc.java 3 | test.in 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/calc/test.in: -------------------------------------------------------------------------------- 1 | 3+4*5; 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/columns/shiplist: -------------------------------------------------------------------------------- 1 | track.g 2 | test.in 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/columns/test.in: -------------------------------------------------------------------------------- 1 | 123456789012345678901234567890 2 | a one two three 3 | 34 z 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/cpp/cpp.in: -------------------------------------------------------------------------------- 1 | int a,b; 2 | #include "incl.h" 3 | int c; 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/cpp/incl.h: -------------------------------------------------------------------------------- 1 | 2 | int x; 3 | #include "subincl.h" 4 | int y; 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/cpp/subincl.h: -------------------------------------------------------------------------------- 1 | int z; 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/exprAST/shiplist: -------------------------------------------------------------------------------- 1 | expr.g 2 | Main.java 3 | test.in 4 | test2.in 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/exprAST/test.in: -------------------------------------------------------------------------------- 1 | 4 / (5+6) *f(x,y,z,1+2) 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/exprAST/test2.in: -------------------------------------------------------------------------------- 1 | 3+4 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/filter/shiplist: -------------------------------------------------------------------------------- 1 | Test.java 2 | t.g 3 | test.html 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/filter/t.g: -------------------------------------------------------------------------------- 1 | class T extends Lexer; 2 | options { 3 | k=2; 4 | filter=true; 5 | } 6 | 7 | P : "

" ; 8 | BR: "
" ; 9 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/filterWithRule/shiplist: -------------------------------------------------------------------------------- 1 | t.g 2 | t.html 3 | Test.java 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/filterWithRule/t.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | dsfkjdsfklj 5 |
6 | foo 7 | 8 | hi 9 |

10 | 11 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/heteroAST/shiplist: -------------------------------------------------------------------------------- 1 | calc.g 2 | Main.java 3 | test.in 4 | BinaryOperatorAST.java 5 | CalcAST.java 6 | INTNode.java 7 | MULTNode.java 8 | PLUSNode.java 9 | 10 | 11 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/heteroAST/test.in: -------------------------------------------------------------------------------- 1 | 3+4*5+21; 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/imagNodeAST/shiplist: -------------------------------------------------------------------------------- 1 | Main.java 2 | simple.in 3 | test.in 4 | treewalk.g 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/imagNodeAST/simple.in: -------------------------------------------------------------------------------- 1 | { 2 | i = 3+4; 3 | } 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/imagNodeAST/test.in: -------------------------------------------------------------------------------- 1 | { 2 | i = 3; 3 | if ( 6 ) j = 7; else j = 8; 4 | while ( 9 ) { 5 | k = j; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/includeFile/incl.h: -------------------------------------------------------------------------------- 1 | 2 | int x; 3 | #include "subincl.h" 4 | int y; 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/includeFile/shiplist: -------------------------------------------------------------------------------- 1 | Main.java 2 | P.g 3 | test.c 4 | incl.h 5 | subincl.h 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/includeFile/subincl.h: -------------------------------------------------------------------------------- 1 | int z; 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/includeFile/test.c: -------------------------------------------------------------------------------- 1 | int a,b; 2 | #include "incl.h" 3 | int c; 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/inherit.tinyc/shiplist: -------------------------------------------------------------------------------- 1 | input.c 2 | Main.java 3 | runtest.bat 4 | runtest.sh 5 | subc.g 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/java/shiplist: -------------------------------------------------------------------------------- 1 | java.g 2 | java.tree.g 3 | Main.java 4 | tests/E.java 5 | tests/T.java 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/lexRewrite/shiplist: -------------------------------------------------------------------------------- 1 | Main.java 2 | rewrite.g 3 | test.in 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/lexRewrite/test.in: -------------------------------------------------------------------------------- 1 | abc := ( 34 ) 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/linkChecker/LinkListener.java: -------------------------------------------------------------------------------- 1 | interface LinkListener { 2 | public void hrefReference(String target, int line) ; 3 | public void imageReference(String imageFileName, int line); 4 | } 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/linkChecker/shiplist: -------------------------------------------------------------------------------- 1 | links.g 2 | Main.java 3 | test.html 4 | LinkChecker.java 5 | LinkListener.java 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/multiLexer/shiplist: -------------------------------------------------------------------------------- 1 | Main.java 2 | javaparse.g 3 | javadocparse.g 4 | javalex.g 5 | javadoclex.g 6 | test.in 7 | CommonTokenTypes.txt 8 | 9 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/multiLexer/test.in: -------------------------------------------------------------------------------- 1 | /** a javadoc comment 2 | * @param foo 3 | * @exception IOException 4 | * blah blah 5 | */ 6 | int abc; 7 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/parseBinary/data: -------------------------------------------------------------------------------- 1 | a test -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/parseBinary/shiplist: -------------------------------------------------------------------------------- 1 | data 2 | data.g 3 | Main.java 4 | MkData.java 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/pascal/Function.java: -------------------------------------------------------------------------------- 1 | public class Function extends Symbol { 2 | public Function(String name) { 3 | super(name); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/pascal/Procedure.java: -------------------------------------------------------------------------------- 1 | import java.io.*; 2 | 3 | public class Procedure extends Symbol implements Serializable { 4 | public Procedure(String name) { 5 | super(name); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/pascal/RecordType.java: -------------------------------------------------------------------------------- 1 | import java.io.*; 2 | 3 | public class RecordType extends TypeSpecifier implements Serializable { 4 | } 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/pascal/ScalarType.java: -------------------------------------------------------------------------------- 1 | /** Predefined scalar type */ 2 | import java.io.*; 3 | 4 | public class ScalarType extends TypeSpecifier implements Serializable { 5 | } 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/pascal/Unit.java: -------------------------------------------------------------------------------- 1 | import java.io.*; 2 | 3 | public class Unit extends Symbol implements Serializable { 4 | public Unit(String name) { 5 | super(name); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/preserveWhiteSpace/readme.txt: -------------------------------------------------------------------------------- 1 | See http://www.antlr.org/fieldguide/whitespace for a description of 2 | this translator. 3 | 4 | Peace, 5 | Terence 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/preserveWhiteSpace/shiplist: -------------------------------------------------------------------------------- 1 | InstrMain.java 2 | instr.g 3 | readme.txt 4 | test.in 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/tinybasic/FunctionScope.java: -------------------------------------------------------------------------------- 1 | package tinybasic; 2 | 3 | class FunctionScope extends Scope{ 4 | public FunctionScope(Scope prev){ 5 | super(prev); 6 | } 7 | 8 | 9 | } 10 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/tinybasic/GlobalScope.java: -------------------------------------------------------------------------------- 1 | package tinybasic; 2 | 3 | class GlobalScope extends Scope{ 4 | public GlobalScope(Scope prev){ 5 | super(prev); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/tinyc/shiplist: -------------------------------------------------------------------------------- 1 | input.c 2 | lexer.g 3 | tinyc.g 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/transform/shiplist: -------------------------------------------------------------------------------- 1 | calc.g 2 | Calc.java 3 | test.in 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/transform/test.in: -------------------------------------------------------------------------------- 1 | 0+3+0*5+0; 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/treewalk/shiplist: -------------------------------------------------------------------------------- 1 | Main.java 2 | simple.in 3 | test.in 4 | treewalk.g 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/treewalk/simple.in: -------------------------------------------------------------------------------- 1 | { 2 | i = 3+4; 3 | } 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/treewalk/test.in: -------------------------------------------------------------------------------- 1 | { 2 | i = 3+4*5; 3 | if ( 6 ) j = 7; else j = 8; 4 | while ( 9 ) { 5 | k = 1; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/unicode.IDENTs/shiplist: -------------------------------------------------------------------------------- 1 | Unicode.readme 2 | Unicode.g 3 | test.in 4 | Main.java 5 | ShowString.java 6 | Debug.java 7 | StreamConverter.java 8 | font.properties 9 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/unicode.IDENTs/test.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/examples/java/unicode.IDENTs/test.in -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/unicode/shiplist: -------------------------------------------------------------------------------- 1 | unicode.g 2 | test.in 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/unicode/test.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/examples/java/unicode/test.in -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/java/xml/test.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/examples/java/xml/test.xml -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/columns/columns.in: -------------------------------------------------------------------------------- 1 | 123456789012345678901234567890 2 | a one two three 3 | 34 z 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/cpp/cpp.in: -------------------------------------------------------------------------------- 1 | int a,b; 2 | #include "incl.h" 3 | int c; 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/cpp/incl.h: -------------------------------------------------------------------------------- 1 | 2 | int x; 3 | #include "subincl.h" 4 | int y; 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/cpp/subincl.h: -------------------------------------------------------------------------------- 1 | int z; 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/exprAST/expr.in: -------------------------------------------------------------------------------- 1 | 4 / (5+6) *f(x,y,z,1+2) 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/exprAST/expr2.in: -------------------------------------------------------------------------------- 1 | 3+*5 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/filterWithRule/rulefilter.in: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | dsfkjdsfklj 5 |
6 | foo 7 | 8 | hi 9 |

10 | 11 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/heteroAST/hetero.in: -------------------------------------------------------------------------------- 1 | 3+4*5+21; 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/imagNodeAST/imagnode.in: -------------------------------------------------------------------------------- 1 | { 2 | i = 3; 3 | if ( 6 ) j = 7; else j = 8; 4 | while ( 9 ) { 5 | k = j; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/includeFile/incfile.in: -------------------------------------------------------------------------------- 1 | int a,b; 2 | #include "incl.h" 3 | int c; 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/includeFile/incl.h: -------------------------------------------------------------------------------- 1 | 2 | int x; 3 | #include "subincl.h" 4 | int y; 5 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/includeFile/subincl.h: -------------------------------------------------------------------------------- 1 | int z; 2 | 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/lexRewrite/rewrite.in: -------------------------------------------------------------------------------- 1 | abc := ( 34 ) 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/lexerTester/test.in: -------------------------------------------------------------------------------- 1 | AAA 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/multiLexer/multilex.in: -------------------------------------------------------------------------------- 1 | /** a javadoc comment 2 | * @param foo 3 | * @exception IOException 4 | * blah blah 5 | */ 6 | int abc; 7 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/multiLexer/multilex.tok: -------------------------------------------------------------------------------- 1 | Common 2 | JAVADOC_OPEN=4 3 | JAVADOC_CLOSE=5 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/multiParser/multiparser.in: -------------------------------------------------------------------------------- 1 | A B C C B A 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/parseBinary/binary.in: -------------------------------------------------------------------------------- 1 | a test -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/transform/transform.in: -------------------------------------------------------------------------------- 1 | 0+3+0*5+0; 2 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/treewalk/treewalk.in: -------------------------------------------------------------------------------- 1 | { 2 | i = 3+4*5; 3 | if ( 6 ) j = 7; else j = 8; 4 | while ( 9 ) { 5 | k = 1; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/unicode.IDENTs/ident.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/examples/python/unicode.IDENTs/ident.in -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/unicode/unicode.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/examples/python/unicode/unicode.in -------------------------------------------------------------------------------- /lib/antlr-2.7.5/examples/python/xml/xml.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/examples/python/xml/xml.in -------------------------------------------------------------------------------- /lib/antlr-2.7.5/lib/antlr.astframe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/lib/antlr.astframe.dll -------------------------------------------------------------------------------- /lib/antlr-2.7.5/lib/antlr.runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/lib/antlr.runtime.dll -------------------------------------------------------------------------------- /lib/antlr-2.7.5/lib/cpp/AUTHORS: -------------------------------------------------------------------------------- 1 | Author: 2 | Peter Wells 3 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/lib/cpp/contrib/bcb4/README: -------------------------------------------------------------------------------- 1 | Project files for Borland C++Builder 4.0 to build antlr.lib 2 | 3 | Donated by Ross Bencina 4 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/lib/cpp/scripts/cr_stripper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | for f in antlr/*.hpp src/*.cpp; do 3 | cat "$f" | tr -d "\r" > $$ 4 | cmp -s $$ "$f" || (p4 edit "$f" && mv $$ "$f" && echo "$f Fixed") 5 | done 6 | -------------------------------------------------------------------------------- /lib/antlr-2.7.5/lib/csharp/ASTFrame/antlr.astframe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/antlr-2.7.5/lib/csharp/ASTFrame/antlr.astframe.dll -------------------------------------------------------------------------------- /lib/moq-3.1.416.3/Moq.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/lib/moq-3.1.416.3/Moq.dll -------------------------------------------------------------------------------- /src/.gitattributes: -------------------------------------------------------------------------------- 1 | -whitespace 2 | -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | obj 3 | *.userprefs 4 | .idea/ 5 | .vscode/ 6 | **/.idea/ 7 | **/.vscode/ 8 | packages 9 | .nuget -------------------------------------------------------------------------------- /src/Boo.Lang/Resources/.gitignore: -------------------------------------------------------------------------------- 1 | *.resources 2 | -------------------------------------------------------------------------------- /src/TestResults/Boo-VS2010.TE.Tests.mdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/src/TestResults/Boo-VS2010.TE.Tests.mdf -------------------------------------------------------------------------------- /src/TestResults/Boo-VS2010.TE.Tests_log.ldf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/src/TestResults/Boo-VS2010.TE.Tests_log.ldf -------------------------------------------------------------------------------- /src/boo.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/src/boo.snk -------------------------------------------------------------------------------- /src/booc/App.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/src/booc/App.ico -------------------------------------------------------------------------------- /src/booc/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/global.json: -------------------------------------------------------------------------------- 1 | { 2 | "projects": [ "src", "test" ], 3 | "sdk": { 4 | "version": "1.0.0-preview2-003131" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | bin 3 | obj 4 | -------------------------------------------------------------------------------- /tests/Boo.Lang.Useful.Tests/BooTemplate/Globals.boo: -------------------------------------------------------------------------------- 1 | namespace Boo.Lang.Useful.BooTemplate.Tests 2 | 3 | def normalize(s as string): 4 | return s.Trim().Replace("\r\n", "\n") 5 | -------------------------------------------------------------------------------- /tests/BooCompiler.Tests/SupportingClasses/ByteEnum.cs: -------------------------------------------------------------------------------- 1 | namespace BooCompiler.Tests.SupportingClasses 2 | { 3 | public enum ByteEnum : byte 4 | { 5 | Foo = 1, 6 | Bar = 2, 7 | Baz = 4 8 | } 9 | } -------------------------------------------------------------------------------- /tests/BooCompiler.Tests/SupportingClasses/Point.cs: -------------------------------------------------------------------------------- 1 | namespace BooCompiler.Tests.SupportingClasses 2 | { 3 | public struct Point 4 | { 5 | public int x; 6 | public int y; 7 | } 8 | } -------------------------------------------------------------------------------- /tests/BooCompiler.Tests/SupportingClasses/SByteEnum.cs: -------------------------------------------------------------------------------- 1 | namespace BooCompiler.Tests.SupportingClasses 2 | { 3 | public enum SByteEnum : sbyte 4 | { 5 | Foo = -1, 6 | Bar = -2, 7 | Baz = -4 8 | } 9 | } -------------------------------------------------------------------------------- /tests/BooCompiler.Tests/SupportingClasses/Vector3.cs: -------------------------------------------------------------------------------- 1 | namespace BooCompiler.Tests.SupportingClasses 2 | { 3 | public struct Vector3 4 | { 5 | public float x, y, z; 6 | } 7 | } -------------------------------------------------------------------------------- /tests/BooCompiler.Tests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /tests/BooModules/Generators.boo: -------------------------------------------------------------------------------- 1 | namespace Generators 2 | 3 | def oddNumbers(until as int): 4 | return i for i in range(until) if i % 2 5 | -------------------------------------------------------------------------------- /tests/BooModules/Math.boo: -------------------------------------------------------------------------------- 1 | def sqrt(value as double): 2 | return System.Math.Sqrt(value) 3 | -------------------------------------------------------------------------------- /tests/BooModules/SunShip.boo: -------------------------------------------------------------------------------- 1 | namespace SunShip 2 | 3 | def Ascent(): 4 | return "10:10" 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/build.cmd: -------------------------------------------------------------------------------- 1 | C:\Users\Mason\Documents\nant-0.92\bin\nant -pause -------------------------------------------------------------------------------- /tests/test.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/tests/test.snk -------------------------------------------------------------------------------- /tests/testcases/attributes/default-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def foo(value as string): 3 | if value is null: 4 | value = 'test' 5 | """ 6 | def foo([default("test")] value as string): 7 | pass 8 | -------------------------------------------------------------------------------- /tests/testcases/attributes/required-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def foo(name): 3 | raise System.ArgumentNullException('name') if (name is null) 4 | """ 5 | def foo([required] name): 6 | pass 7 | -------------------------------------------------------------------------------- /tests/testcases/compilation/1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | ok 3 | """ 4 | print "ok" 5 | -------------------------------------------------------------------------------- /tests/testcases/compilation/InternalArrayType.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Foo[] 3 | """ 4 | class Foo: 5 | Foos as (Foo): 6 | get: return array(Foo, 0) 7 | 8 | print Foo().Foos 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/testcases/compilation/UsingNestedType.boo: -------------------------------------------------------------------------------- 1 | """ 2 | ApplicationData 3 | """ 4 | print(System.Environment.SpecialFolder.ApplicationData) 5 | -------------------------------------------------------------------------------- /tests/testcases/compilation/caseinsensitivehash.boo: -------------------------------------------------------------------------------- 1 | """ 2 | bar 3 | True 4 | """ 5 | h = Hash(true) 6 | h["foo"] = "bar" 7 | print(h["fOO"]) 8 | print("FOO" in h) 9 | -------------------------------------------------------------------------------- /tests/testcases/compilation/double0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.Double 3 | System.Double 4 | """ 5 | a = .5 6 | b as double 7 | print(a.GetType()) 8 | print(b.GetType()) 9 | -------------------------------------------------------------------------------- /tests/testcases/compilation/enumeratoritemtype0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | FOO 3 | BAR 4 | """ 5 | for s in System.IO.StringReader("foo\nbar"): 6 | print(s.ToUpper()) # s is declared as System.String 7 | -------------------------------------------------------------------------------- /tests/testcases/compilation/enumeratoritemtype2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 2 4 | 4 5 | """ 6 | for i in range(3): 7 | print(i*2) # i is declared as int 8 | -------------------------------------------------------------------------------- /tests/testcases/compilation/formatting0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | public class Foo 3 | { 4 | } 5 | """ 6 | item = "Foo" 7 | print( 8 | """public class ${item} 9 | { 10 | } 11 | """) 12 | -------------------------------------------------------------------------------- /tests/testcases/compilation/if0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | true 3 | """ 4 | import System.Console 5 | 6 | Write("true") if true 7 | Write("false") if false 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/compilation/inplace1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 5 3 | """ 4 | class Person: 5 | public Age as int 6 | 7 | p = Person(Age: 3) 8 | p.Age += 2 9 | print(p.Age) 10 | -------------------------------------------------------------------------------- /tests/testcases/compilation/long0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.Int64 3 | System.Int64 4 | """ 5 | a = 0L 6 | b = 1l 7 | print(a.GetType()) 8 | print(b.GetType()) 9 | -------------------------------------------------------------------------------- /tests/testcases/compilation/match0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Matches 3 | 4 | """ 5 | print("Matches") if "Bamboo" =~ "^Bamboo$" 6 | 7 | -------------------------------------------------------------------------------- /tests/testcases/compilation/match1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Doesn't 3 | 4 | """ 5 | pattern = "^Bambo$" 6 | print("Bamboo") if "Bamboo" =~ pattern 7 | print("Doesn't") if "Bamboo" !~ pattern 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/compilation/match2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Doesn't 3 | 4 | """ 5 | pattern = "^Bambo$" 6 | print("Bamboo") if "Bamboo" =~ pattern 7 | print("Doesn't") if "Bamboo" !~ pattern 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/compilation/math.boo: -------------------------------------------------------------------------------- 1 | def square(a as int): 2 | return a*a 3 | -------------------------------------------------------------------------------- /tests/testcases/compilation/mathwithns.boo: -------------------------------------------------------------------------------- 1 | namespace MultiFileTest 2 | 3 | def square(value as int): 4 | return value*value 5 | -------------------------------------------------------------------------------- /tests/testcases/compilation/modifiers0.boo: -------------------------------------------------------------------------------- 1 | a, b = 1, 2 if false 2 | c, d = 3, 4 if true 3 | 4 | assert 0 == a 5 | assert 0 == b 6 | assert 3 == c 7 | assert 4 == d 8 | -------------------------------------------------------------------------------- /tests/testcases/compilation/mult0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 2 3 | 2 4 | 9 5 | """ 6 | a = 5 7 | b = 2 8 | print(a/b) 9 | print(a*b/a) 10 | print(a+b*b) 11 | -------------------------------------------------------------------------------- /tests/testcases/compilation/multifile0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Homer 3 | """ 4 | import MultiFileTest 5 | 6 | c = Character("Homer") 7 | print(c.Name) 8 | -------------------------------------------------------------------------------- /tests/testcases/compilation/multifile1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Homer 3 | """ 4 | namespace MultiFileTest 5 | 6 | c = Character("Homer") 7 | print(c.Name) 8 | -------------------------------------------------------------------------------- /tests/testcases/compilation/multifile2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 3 | 4 4 | 9 5 | """ 6 | for i in range(1, 4): 7 | print(square(i)) 8 | -------------------------------------------------------------------------------- /tests/testcases/compilation/multifile3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 9 3 | """ 4 | namespace MultiFileTest 5 | 6 | print(square(3)) 7 | -------------------------------------------------------------------------------- /tests/testcases/compilation/null0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | True 3 | """ 4 | class Foo: 5 | pass 6 | 7 | f as Foo = null 8 | print(f is null) 9 | -------------------------------------------------------------------------------- /tests/testcases/compilation/parameter_as_lvalue.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 2 3 | """ 4 | def spam(eggs as int): 5 | eggs = eggs + 1 6 | return eggs 7 | 8 | print(spam(1)) 9 | -------------------------------------------------------------------------------- /tests/testcases/compilation/pow0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 8 3 | 256 4 | """ 5 | print(2**3) 6 | print(2**2**3) # 2**8 and not 4**3 7 | -------------------------------------------------------------------------------- /tests/testcases/compilation/re0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.Text.RegularExpressions.Regex 3 | """ 4 | print(/foo/.GetType()) 5 | -------------------------------------------------------------------------------- /tests/testcases/compilation/redefine_builtin.boo: -------------------------------------------------------------------------------- 1 | """ 2 | zip 3 | """ 4 | zip = "zip" 5 | print(zip) 6 | -------------------------------------------------------------------------------- /tests/testcases/compilation/stringmultiply0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | foofoofoo 3 | barbar 4 | """ 5 | print(3*'foo') 6 | print('bar'*2) 7 | -------------------------------------------------------------------------------- /tests/testcases/compilation/timespan0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 02:00:00 3 | 00:01:06 4 | 00:54:00 5 | """ 6 | print(2h) 7 | print(66s) 8 | print(.9h) 9 | -------------------------------------------------------------------------------- /tests/testcases/compilation/unpack_locals.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = 2, b = 1 3 | """ 4 | a = 1 5 | b = 2 6 | a, b = b, a 7 | print("a = ${a}, b = ${b}") 8 | -------------------------------------------------------------------------------- /tests/testcases/ducky/duck-slice-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 42 3 | """ 4 | class Foo: 5 | 6 | [getter(Values)] 7 | _values = (1, 2, 3) 8 | 9 | 10 | d as duck = Foo() 11 | d.Values[0] = 42 12 | print d.Values[0] 13 | -------------------------------------------------------------------------------- /tests/testcases/ducky/ducky-10.boo: -------------------------------------------------------------------------------- 1 | """ 2 | JSON 3 | """ 4 | 5 | json = {'A':"B",'C':[1,null,3,"ABC",{"D":56,"E":"JSON"}]} 6 | print json["C"][4]["E"] 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/ducky/ducky-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 56 3 | """ 4 | items = (42, "foo", 14) 5 | total = 0 6 | for item in items: 7 | total += item if item isa int 8 | print total 9 | 10 | -------------------------------------------------------------------------------- /tests/testcases/ducky/ducky-8.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 2 3 | 4 4 | 4 5 | 1 6 | """ 7 | 8 | d as duck = [1, 2, 3, 4] 9 | print d[1] 10 | print d[3] 11 | print d[-1] 12 | print d[-4] 13 | -------------------------------------------------------------------------------- /tests/testcases/ducky/ducky-9.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 2 3 | 4 4 | 4 5 | 1 6 | """ 7 | 8 | d as duck = [1, 2, 3, 4] 9 | print d[1] 10 | print d.Item[3] 11 | print d[-1] 12 | print d.Item[-4] 13 | -------------------------------------------------------------------------------- /tests/testcases/ducky/method-dispatch-10.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 42 3 | """ 4 | class Foo: 5 | static def bar(): 6 | return 42 7 | 8 | 9 | f as duck = Foo() 10 | print f.bar() 11 | -------------------------------------------------------------------------------- /tests/testcases/ducky/method-dispatch-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | int: 1 3 | """ 4 | class Foo: 5 | def bar(i as int): 6 | print "int:", i 7 | 8 | d as duck = Foo() 9 | d.bar(1.0) 10 | 11 | -------------------------------------------------------------------------------- /tests/testcases/ducky/null-initializer-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | FOO 3 | """ 4 | class Foo: 5 | public a = null 6 | 7 | f = Foo(a: "foo") 8 | print f.a.ToUpper() 9 | -------------------------------------------------------------------------------- /tests/testcases/ducky/object-overloads-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 05/21/2007 22:40:05 3 | 05/21/2007 4 | """ 5 | o as duck = date(2007, 5, 21, 22, 40, 5) 6 | print o.ToString() 7 | print o.ToString("MM/dd/yyyy") 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0005-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0005-1.boo(9,11): BCE0005: Unknown identifier: 'local'. 3 | """ 4 | def foo(): 5 | local = "foo" 6 | bar() 7 | 8 | def bar(): 9 | print(local) 10 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0005-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0005-2.boo(8,7): BCE0005: Unknown identifier: 'local'. 3 | """ 4 | block = do (): 5 | local = "foo" 6 | print(local) 7 | 8 | print(local) 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0018-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0018-1.boo(4,11): BCE0018: The name 'Bar' does not denote a valid type ('not found'). 3 | """ 4 | class Foo(Bar): 5 | def constructor(): 6 | pass 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0018-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0018-4.boo(4,11): BCE0018: The name 'Bar' does not denote a valid type ('not found'). 3 | """ 4 | class Foo(Bar of int): 5 | def constructor(): 6 | pass 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0022-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0022-1.boo(4,12): BCE0022: Cannot convert 'string' to 'int'. 3 | """ 4 | i as int = "foo" 5 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0022-11.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0022-11.boo(5,21): BCE0022: Cannot convert 'null' to 'single'. 3 | """ 4 | class Foo: 5 | bar as single = null 6 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0022-12.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0022-12.boo(5,6): BCE0022: Cannot convert 'string' to 'int'. 3 | """ 4 | class Foo: 5 | [getter(Bar as int)] 6 | _bar as string 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0022-13.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0022-13.boo(5,5): BCE0022: Cannot convert 'int' to 'string'. 3 | """ 4 | i = "sok" 5 | for i in range(10): 6 | print i 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0022-14.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0022-14.boo(5,18): BCE0022: Cannot convert '(object)' to '(string)'. 3 | """ 4 | a = (,) 5 | ss as (string) = a 6 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0022-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0022-2.boo(7,20): BCE0022: Cannot convert 'int' to 'string'. 3 | """ 4 | class Person: 5 | Name as string: 6 | get: 7 | return 3 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0022-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0022-4.boo(4,17): BCE0022: Cannot convert 'void' to 'int'. 3 | """ 4 | i as int = print("foo") 5 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0022-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0022-5.boo(5,5): BCE0022: Cannot convert 'int' to 'string'. 3 | """ 4 | i = 0 5 | s = cast(string, i) 6 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0038-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0038-1.boo(5,5): BCE0038: 'Foo' is not a valid macro. 3 | """ 4 | class Foo: 5 | Foo 6 | 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0051-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0051-1.boo(4,11): BCE0051: Operator '^' cannot be used with a left hand side of type 'double' and a right hand side of type 'double'. 3 | """ 4 | print 3.0 ^ 1.1 5 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0060-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0060-1.boo(5,18): BCE0060: 'Foo.Bar()': no suitable method found to override. 3 | """ 4 | class Foo: 5 | override def Bar(): 6 | pass 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0061-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0061-1.boo(6,9): BCE0061: 'Foo.Bar()' is not an override. 3 | """ 4 | class Foo: 5 | def Bar(): 6 | super() 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0063-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0063-1.boo(4,1): BCE0063: No enclosing loop out of which to break or continue. 3 | """ 4 | break 5 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0063-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0063-2.boo(4,1): BCE0063: No enclosing loop out of which to break or continue. 3 | """ 4 | continue 5 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0063-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0063-3.boo(7,9): BCE0063: No enclosing loop out of which to break or continue. 3 | """ 4 | i = 0 5 | while i < 3: 6 | f = def (): 7 | continue 8 | ++i 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0063-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0063-5.boo(8,5): BCE0063: No enclosing loop out of which to break or continue. 3 | """ 4 | i = 0 5 | while i < 3: 6 | pass 7 | or: 8 | break 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0063-6.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0063-6.boo(8,5): BCE0063: No enclosing loop out of which to break or continue. 3 | """ 4 | i = 0 5 | while i < 3: 6 | pass 7 | or: 8 | continue 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0063-7.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0063-7.boo(8,5): BCE0063: No enclosing loop out of which to break or continue. 3 | """ 4 | i = 0 5 | while i < 3: 6 | pass 7 | then: 8 | break 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0063-8.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0063-8.boo(8,5): BCE0063: No enclosing loop out of which to break or continue. 3 | """ 4 | i = 0 5 | while i < 3: 6 | pass 7 | then: 8 | continue 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0067-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0067-1.boo(5,1): BCE0067: There is already a local variable with the name 'a'. 3 | """ 4 | a = 3 5 | a as int = 4 6 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0067-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0067-2.boo(5,1): BCE0067: There is already a local variable with the name 'a'. 3 | """ 4 | a = 3 5 | a as int, b as int = 4, 5 6 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0067-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0067-3.boo(5,5): BCE0067: There is already a local variable with the name 'a'. 3 | """ 4 | def foo(a): 5 | a as int = 3 6 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0072-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0072-2.boo(6,16): BCE0022: Cannot convert 'int' to 'string'. 3 | """ 4 | class Foo: 5 | override def ToString(): 6 | return 3 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0073-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0073-1.boo(5,18): BCE0073: Abstract method 'Foo.Bar()' cannot have a body. 3 | """ 4 | class Foo: 5 | abstract def Bar(): 6 | print("shouldn't be here!") 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0082-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0082-1.boo(6,20): BCE0082: 'string' is not a callable type. Event type must be a callable type. 3 | """ 4 | class Button: 5 | 6 | event Click as string 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0083-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0083-1.boo(5,23): BCE0083: Static constructors must be private. 3 | """ 4 | class Foo: 5 | public static def constructor(): 6 | pass 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0084-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0084-1.boo(5,16): BCE0084: Static constructors cannot declare parameters. 3 | """ 4 | class Foo: 5 | static def constructor(param): 6 | pass 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0085-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0085-1.boo(7,5): BCE0085: Cannot create instance of abstract class 'Foo'. 3 | """ 4 | abstract class Foo: 5 | pass 6 | 7 | f = Foo() 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0085-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0085-3.boo(8,5): BCE0085: Cannot create instance of abstract class 'Foo'. 3 | """ 4 | class Foo: 5 | abstract def Bar(): 6 | pass 7 | 8 | f = Foo() 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0086-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0086-1.boo(7,5): BCE0086: Cannot create instance of interface 'IFoo'. 3 | """ 4 | interface IFoo: 5 | pass 6 | 7 | f = IFoo() 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0087-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0087-1.boo(7,5): BCE0087: Cannot create instance of enum 'Foo'. 3 | """ 4 | enum Foo: 5 | Bar 6 | 7 | f = Foo() 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0089-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0089-1.boo(7,9): BCE0089: Type 'Foo' already has a definition for 'bar'. 3 | """ 4 | class Foo: 5 | bar as object 6 | 7 | def bar(): 8 | pass 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0089-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0089-2.boo(7,5): BCE0089: Type 'Foo' already has a definition for 'bar'. 3 | """ 4 | class Foo: 5 | bar as object 6 | 7 | bar = null # still a field declaration 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0089-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0089-3.boo(7,11): BCE0089: Type 'Foo' already has a definition for 'bar'. 3 | """ 4 | class Foo: 5 | bar as object 6 | 7 | class bar: 8 | pass 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0089-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0089-4.boo(7,15): BCE0089: Type 'Foo' already has a definition for 'bar'. 3 | """ 4 | class Foo: 5 | bar as object 6 | 7 | interface bar: 8 | pass 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0089-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0089-5.boo(7,11): BCE0089: Type 'Foo' already has a definition for 'bar'. 3 | """ 4 | class Foo: 5 | bar as object 6 | 7 | event bar as System.EventHandler 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0089-7.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0089-7.boo(10,5): BCE0089: Type 'Foo' already has a definition for 'bar'. 3 | """ 4 | enum Foo: 5 | 6 | bar 7 | 8 | foo 9 | 10 | bar 11 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0093-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0093-1.boo(4,6): BCE0093: Cannot branch into ensure block. 3 | """ 4 | goto label 5 | try: 6 | pass 7 | ensure: 8 | :label 9 | 10 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0093-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0093-2.boo(5,10): BCE0093: Cannot branch into ensure block. 3 | """ 4 | try: 5 | goto label 6 | ensure: 7 | :label 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0094-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0094-1.boo(5,10): BCE0094: Cannot branch into exception handler. 3 | """ 4 | try: 5 | goto label 6 | except: 7 | :label 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0095-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0095-1.boo(4,6): BCE0095: No such label 'label'. 3 | """ 4 | goto label 5 | 6 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0095-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0095-2.boo(7,6): BCE0095: No such label 'label'. 3 | """ 4 | a = def (): 5 | :label 6 | 7 | goto label 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0097-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0097-1.boo(4,6): BCE0097: Cannot branch into try block. 3 | """ 4 | goto start 5 | try: 6 | :start 7 | ensure: 8 | pass 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0100-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0100-1.boo(6,9): BCE0100: yield cannot be used inside constructors. 3 | """ 4 | class Foo: 5 | def constructor(): 6 | yield 0 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0102-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0102-1.boo(6,12): BCE0102: Generators cannot return values. 3 | """ 4 | def foo(): 5 | yield 1 6 | return 42 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0103-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0103-1.boo(7,11): BCE0103: Cannot extend final type 'Foo'. 3 | """ 4 | final class Foo: 5 | pass 6 | 7 | class Bar(Foo): 8 | pass 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0103-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0103-2.boo(7,11): BCE0103: Cannot extend final type 'Foo'. 3 | """ 4 | class Foo(System.ValueType): 5 | pass 6 | 7 | class Bar(Foo): 8 | pass 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0103-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0103-3.boo(7,11): BCE0103: Cannot extend final type 'Foo'. 3 | """ 4 | enum Foo: 5 | None 6 | 7 | class Bar(Foo): 8 | pass 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0107-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0107-1.boo(5,9): BCE0107: Value types cannot declare parameter-less constructors. 3 | """ 4 | class Foo(System.ValueType): 5 | def constructor(): 6 | pass 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0108-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0108-1.boo(5,20): BCE0108: Value type fields cannot have initializers. 3 | """ 4 | class Foo(System.ValueType): 5 | public Value = 0 6 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0112-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0112-1.boo(5,9): BCE0112: Destructors cannot be passed parameters 3 | """ 4 | class Burninator: 5 | def destructor (burnText as string): 6 | print "${burnText}!" 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0121-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0121-1.boo(6,16): BCE0121: 'super' is not valid in this context. 3 | """ 4 | class Foo: 5 | override def ToString(): 6 | return super + "foo" 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0123-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0123-1.boo(5,18): BCE0123: Invalid parameter type 'void'. 3 | """ 4 | class Foo: 5 | def bar(i as void): 6 | pass 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0124-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0124-1.boo(5,10): BCE0124: Invalid field type 'void'. 3 | """ 4 | class Foo: 5 | i as void 6 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0125-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0125-1.boo(4,6): BCE0125: Invalid declaration type 'void'. 3 | """ 4 | i as void 5 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0126-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0126-1.boo(7,8): BCE0126: It is not possible to evaluate an expression of type 'void'. 3 | """ 4 | def foo() as void: 5 | pass 6 | 7 | i = foo() 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0126-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0126-4.boo(7,13): BCE0126: It is not possible to evaluate an expression of type 'void'. 3 | """ 4 | def foo() as void: 5 | pass 6 | 7 | print "${foo()}" 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0126-6.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0126-6.boo(7,10): BCE0126: It is not possible to evaluate an expression of type 'void'. 3 | """ 4 | def foo() as void: 5 | pass 6 | 7 | print foo() == true 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0128-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0128-1.boo(4,1): BCE0128: 'try' block must be followed by at least one 'except' block or either a 'failure' or 'ensure' block. 3 | """ 4 | try: 5 | print '!' 6 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0134-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0134-1.boo(5,9): BCE0134: 'Foo.constructor' cannot return values. 3 | """ 4 | class Foo: 5 | def constructor() as int: 6 | pass 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0134-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0134-2.boo(5,9): BCE0134: 'Foo.destructor' cannot return values. 3 | """ 4 | class Foo: 5 | def destructor() as int: 6 | pass 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0142.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0142.boo(4,5): BCE0142: Cannot bind [default] attribute to value type parameter 'x' in 'method'. 3 | """ 4 | def method([default(0)] x as int): 5 | print x 6 | method(2) 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0153-2.boo: -------------------------------------------------------------------------------- 1 | import BooCompiler.Tests.SupportingClasses 2 | 3 | def foo() [ThisReturnTypeIs("null")] as string: 4 | pass 5 | 6 | 7 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0155-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0155-1.boo(7,14): BCE0155: Instantiating generic parameters is not yet supported. 3 | """ 4 | 5 | class Foo[of T]: 6 | def Bar(ref i as T): 7 | i = T() 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0166-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0166-1.boo(5,5): BCE0166: Unknown macro 'bar'. Did you mean to declare the field 'bar as object'? 3 | """ 4 | class Foo: 5 | bar 6 | -------------------------------------------------------------------------------- /tests/testcases/errors/BCE0167-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0167-1.boo(5,8): BCE0167: Namespace 'Bad.Namespace' not found in assembly 'Boo.Lang' 3 | """ 4 | 5 | import Bad.Namespace from Boo.Lang 6 | 7 | print "ok" 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/errors/cannot-convert-enum-to-single.boo: -------------------------------------------------------------------------------- 1 | """ 2 | cannot-convert-enum-to-single.boo(7,17): BCE0022: Cannot convert 'E' to 'single'. 3 | """ 4 | enum E: 5 | E0 6 | 7 | s as single = E.E0 8 | -------------------------------------------------------------------------------- /tests/testcases/errors/selective-import-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | selective-import-2.boo(4,15): BCE0019: 'NoWayThisNameIsThere' is not a member of 'System'. 3 | """ 4 | import System(NoWayThisNameIsThere) 5 | -------------------------------------------------------------------------------- /tests/testcases/errors/selective-import.boo: -------------------------------------------------------------------------------- 1 | """ 2 | selective-import.boo(5,1): BCE0005: Unknown identifier: 'Console'. 3 | """ 4 | import System(Object) 5 | Console.WriteLine("hello") 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/arrays-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 3 | 2 4 | 3 5 | 6 | """ 7 | for i in (1, 2, 3): 8 | print(i.ToString()) 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/arrays-11.boo: -------------------------------------------------------------------------------- 1 | a as (object) = null 2 | assert a is null 3 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/arrays-14.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 4 3 | 7 4 | 8 5 | """ 6 | a = ((1, 2), (3, 4), (5, 6), (7, 8)) 7 | 8 | print(a[1][-1]) 9 | print(a[-1][0]) 10 | print(a[3][1]) 11 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/arrays-18.boo: -------------------------------------------------------------------------------- 1 | import System 2 | 3 | a = (cast(byte, 0), cast(byte, 1)) 4 | 5 | assert Type.GetType("System.Byte[]") is a.GetType() 6 | assert 0 == a[0] 7 | assert 1 == a[1] 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/arrays-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1, 2, 3 3 | 4 | """ 5 | a, b, c = 1, 2, 3 6 | print("${a}, ${b}, ${c}") 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/arrays-20.boo: -------------------------------------------------------------------------------- 1 | 2 | 3 | a = array(range(3)) 4 | assert a.GetType() is System.Type.GetType("System.Int32[]") 5 | 6 | assert 1 == a[-1]-a[-2] 7 | assert -1 == a[-2]-a[-1] 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/arrays-21.boo: -------------------------------------------------------------------------------- 1 | 2 | 3 | a = array(i*2 for i in range(3)) 4 | assert a.GetType() is typeof((int)) 5 | 6 | assert 2 == a[-1]-a[-2] 7 | assert -2 == a[-2]-a[-1] 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/arrays-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1, 2, 3 3 | 4 | """ 5 | print(string.Format("{0}, {1}, {2}", "1", 2, 3)) 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/arrays-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.Int32[] 3 | """ 4 | array as (int) = [1, 2, 3].ToArray(int) 5 | print(array.GetType()) 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/arrays-7.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Person[][] 3 | """ 4 | class Person: 5 | pass 6 | 7 | items = ((Person(), Person()), (Person(),)) 8 | print(items.GetType()) 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/arrays-8.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1, um 3 | 2, dois 4 | """ 5 | numbers = (1, 2) 6 | text = ("um", "dois") 7 | for n, t in zip(numbers, text): 8 | print("${n}, ${t}") 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/arrays-9.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | """ 4 | def foo(): 5 | return (,) 6 | 7 | print(len(foo())) 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/arrays/matrix-with-type-reference.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.String[,] 3 | """ 4 | type = string 5 | m as (string, 2) = matrix(type, 2, 2) 6 | print m.GetType() 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/attributes/transient.boo: -------------------------------------------------------------------------------- 1 | """ 2 | """ 3 | [transient] class Foo: 4 | pass 5 | 6 | assert not typeof(Foo).IsSerializable 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/callables/byref-13.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 42 3 | """ 4 | def foo(ref i as int): 5 | i = 42 6 | 7 | f = foo 8 | i = 0 9 | f(i) 10 | print i 11 | -------------------------------------------------------------------------------- /tests/testcases/integration/callables/callables-12.boo: -------------------------------------------------------------------------------- 1 | 2 | 3 | def foo(): 4 | return "yes, it works!" 5 | 6 | assert "yes, it works!" == foo.Invoke() 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/callables/callables-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | FOO 3 | """ 4 | def ToUpper(s as string): 5 | return s.ToUpper() 6 | 7 | a = ToUpper 8 | print(a("foo")) 9 | 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/callables/callables-37.boo: -------------------------------------------------------------------------------- 1 | 2 | 3 | assert Boo.Lang.ICallable is typeof(callable) 4 | -------------------------------------------------------------------------------- /tests/testcases/integration/callables/callables-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 2 4 6 8 3 | """ 4 | def even(value): 5 | return 0 == cast(int, value) % 2 6 | 7 | l = List(range(10)) 8 | print(join(l.Collect(even))) 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/callables/callables-41.boo: -------------------------------------------------------------------------------- 1 | #category FailsOnMono4 2 | 3 | a = { return "foo" }, { return "bar" } 4 | assert "foo" == a[0]() 5 | assert "bar" == a[-1]() 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/callables/callables-42.boo: -------------------------------------------------------------------------------- 1 | 2 | 3 | a = { return "foo" }, { return 3 } 4 | assert "foo" == a[0]() 5 | assert 3 == a[-1]() 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/callables/callables-45.boo: -------------------------------------------------------------------------------- 1 | """ 2 | foo 3 | """ 4 | class T: 5 | def constructor(start as callable(object)): 6 | start("foo") 7 | 8 | T(print) 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/callables/callables-7.boo: -------------------------------------------------------------------------------- 1 | 2 | def foo(): 3 | pass 4 | 5 | f = foo 6 | assert f isa ICallable, "anonymous callable type implements ICallable" 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/callables/method-as-macro-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | not null 3 | """ 4 | def foo(block as callable()): 5 | if block is null: return 6 | print "not null" 7 | 8 | foo: 9 | pass 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/callables/params-6.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Hello World 3 | """ 4 | class Test: 5 | def constructor(*args): 6 | print join(args) 7 | 8 | Test("Hello", "World") 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/closures/closure-inference-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 007 3 | """ 4 | 5 | closure as callable(int) as string = { i | i.ToString("000") } 6 | print closure(7) 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/closures/closure-inference-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 007 3 | """ 4 | 5 | closure as callable(int) as string 6 | closure = { i | i.ToString("000") } 7 | print closure(7) 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/closures/closures-18.boo: -------------------------------------------------------------------------------- 1 | div = { a as int, b as int | return a/b } 2 | assert 3 == div(6, 2) 3 | assert 5 == div(15, 3) 4 | -------------------------------------------------------------------------------- /tests/testcases/integration/closures/closures-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | before 3 | closure 4 | after 5 | """ 6 | a = def: 7 | print("closure") 8 | 9 | print("before") 10 | a() 11 | print("after") 12 | -------------------------------------------------------------------------------- /tests/testcases/integration/closures/closures-23.boo: -------------------------------------------------------------------------------- 1 | div = def (a as int, b as int): 2 | return a/b 3 | 4 | assert 3 == div(6, 2) 5 | assert 5 == div(15, 3) 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/closures/closures-27.boo: -------------------------------------------------------------------------------- 1 | a = 0 2 | f1 = def (): 3 | a = 5 4 | return { return a } 5 | 6 | f = f1() 7 | assert f is not null 8 | assert 5 == f() 9 | assert 5 == a 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/closures/closures-5.boo: -------------------------------------------------------------------------------- 1 | 2 | predicate = { item as int | return 0 == item % 2 } 3 | 4 | assert predicate(2) 5 | assert not predicate(3) 6 | assert predicate(4) 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/closures/explicit-closure-types-for-generic-method.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 12 42 64 3 | """ 4 | a = (42, 12, 1, 64) 5 | System.Array.Sort(a, { l as int, r as int | l - r }) 6 | print join(a) 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/closures/nested-functions-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 42 3 | """ 4 | a = 41 5 | def foo(): 6 | ++a 7 | foo() 8 | print a 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/clr-extensions/infer-closure-singature.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 -1 3 | """ 4 | import System.Linq 5 | 6 | print join(("1", "2").Select({s|s.IndexOf("1")}).ToArray()) -------------------------------------------------------------------------------- /tests/testcases/integration/duck-typing/duck-17.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 1 4 | """ 5 | i as duck = 0 6 | while i < 2: 7 | print i 8 | i++ 9 | 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/duck-typing/duck-3.boo: -------------------------------------------------------------------------------- 1 | class Person: 2 | 3 | public Name as string 4 | 5 | p as duck = Person(Name: "John") 6 | assert "John" == p.Name 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/duck-typing/duck-7.boo: -------------------------------------------------------------------------------- 1 | l as duck = [1, 2, 3] 2 | assert l*2 == [1, 2, 3, 1, 2, 3] 3 | assert 2*l == [1, 2, 3, 1, 2, 3] 4 | -------------------------------------------------------------------------------- /tests/testcases/integration/duck-typing/duck-8.boo: -------------------------------------------------------------------------------- 1 | i1 as duck = 4 2 | i2 as duck = 2 3 | 4 | assert 8 == i1*i2 5 | assert 2 == i1/i2 6 | assert 2 == i1-i2 7 | assert -2 == i2-i1 8 | assert 6 == i1+i2 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/generator-of-static-class-is-transient.boo: -------------------------------------------------------------------------------- 1 | """ 2 | """ 3 | static class Bar: 4 | def foo(): 5 | yield 42 6 | 7 | assert not Bar.foo().GetType().IsSerializable 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/generator-of-transient-class-is-transient.boo: -------------------------------------------------------------------------------- 1 | """ 2 | """ 3 | [transient] 4 | class Bar: 5 | def foo(): 6 | yield 42 7 | 8 | assert not Bar().foo().GetType().IsSerializable 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/generators-12.boo: -------------------------------------------------------------------------------- 1 | 2 | g = i*2 for i in range(5) 3 | 4 | current = 0 5 | for i in g: 6 | assert current == i/2, "integer division" 7 | ++current 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/generators-13.boo: -------------------------------------------------------------------------------- 1 | 2 | def foo(): 3 | return i*2 for i in range(5) 4 | 5 | current = 0 6 | for i in foo(): 7 | assert current == i/2, "integer division" 8 | ++current 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/generators-15.boo: -------------------------------------------------------------------------------- 1 | 2 | 3 | i = 0 4 | g = (++i)*j for j in range(3) 5 | 6 | assert "0 2 6" == join(g) 7 | assert 3 == i 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/generators-16.boo: -------------------------------------------------------------------------------- 1 | 2 | 3 | a = range(3) 4 | g = i*2 for i in a 5 | assert "0 2 4" == join(g) 6 | 7 | a = range(3, 6) 8 | assert "6 8 10" == join(g) 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/generators-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 4 8 12 16 3 | """ 4 | print(join(i*2 for i in range(10) if 0 == i % 2)) 5 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/generators-8.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 6 12 18 24 3 | """ 4 | a = i*2 for i as int in (j*3 for j in range(5)) 5 | print(join(a)) 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/list-generators-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 2 4 | 4 5 | 6 6 | 8 7 | """ 8 | def foo(): 9 | return [i*2 for i in range(5)] 10 | 11 | print(join(foo(), "\n")) 12 | 13 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/list-generators-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 4 4 | 8 5 | 12 6 | 16 7 | """ 8 | print(join([i*2 for i in range(10) if 0 == i % 2], "\n")) 9 | 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/list-generators-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0, 1, 2 3 | """ 4 | print(join([("${i}" for i in range(3))], ", ")) 5 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/list-generators-5.boo: -------------------------------------------------------------------------------- 1 | i = 0 2 | l = [++i for j in range(3)] 3 | assert l == [1, 2, 3] 4 | assert 3 == i 5 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/to-string.boo: -------------------------------------------------------------------------------- 1 | """ 2 | generator(System.Int32) 3 | """ 4 | g = i for i in range(3) 5 | print g.ToString() 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/generators/yield-13.boo: -------------------------------------------------------------------------------- 1 | def generator() as System.Collections.IEnumerable: 2 | yield 1 3 | yield "um" 4 | 5 | assert "1: um" == join(generator(), ": ") 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/linq/array-linq.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.Collections.Generic.List`1[System.Int32] 3 | """ 4 | import System.Linq 5 | 6 | type = (1, 2).ToList().GetType() 7 | print type -------------------------------------------------------------------------------- /tests/testcases/integration/linq/linq-aggregate.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 6 3 | """ 4 | import System.Linq 5 | a = (1, 2, 3) 6 | print a.Aggregate({i, j | i + j}) 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/meta-programming/interpolation-splicing-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | print "\$(42)" 3 | """ 4 | foo = [| 42 |] 5 | code = [| print "${$foo}" |] 6 | print code.ToCodeString() 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/meta-programming/interpolation-splicing-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | print "\$(42)" 3 | """ 4 | foo = [| 42 |] 5 | code = [| print "${$(foo)}" |] 6 | print code.ToCodeString() 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/modules/dotted.module.name.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Dotted_module_nameModule 3 | """ 4 | print typeof(Dotted_module_nameModule) 5 | -------------------------------------------------------------------------------- /tests/testcases/integration/modules/import-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Hello, world! 3 | """ 4 | import System 5 | 6 | Console.Write("Hello, world!") 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/modules/import-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Hello, System.Console! 3 | """ 4 | import System.Console 5 | 6 | Write("Hello, System.Console!") 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/modules/import-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.Text.StringBuilder 3 | """ 4 | import System 5 | import System.Text 6 | 7 | Console.Write(StringBuilder().GetType()) 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/modules/import-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.Drawing.Point 3 | """ 4 | import System 5 | import System.Drawing from System.Drawing 6 | 7 | Console.Write(Point(0, 0).GetType()) 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/modules/import-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Hello, S! 3 | """ 4 | import System as S 5 | 6 | S.Console.Write("Hello, S!") 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/modules/import-6.boo: -------------------------------------------------------------------------------- 1 | """ 2 | MyPoint(0, 0) 3 | """ 4 | import System 5 | import System.Drawing from BooCompiler.Tests 6 | 7 | System.Console.Write(Point(0, 0).ToString()) 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/modules/modules-2.boo: -------------------------------------------------------------------------------- 1 | import SunShip from BooModules 2 | 3 | 4 | assert "10:10" == Ascent() 5 | -------------------------------------------------------------------------------- /tests/testcases/integration/modules/modules-3.boo: -------------------------------------------------------------------------------- 1 | import SunShip from BooModules 2 | 3 | 4 | assert 2.0 == sqrt(4) 5 | assert "10:10" == Ascent() 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/modules/modules-6.boo: -------------------------------------------------------------------------------- 1 | """ 2 | it works 3 | """ 4 | def Main(argv as (string)): 5 | print "it works" 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/modules/peek.a.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BOO! 3 | """ 4 | print 'BOO!' 5 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/bitwise-and-1.boo: -------------------------------------------------------------------------------- 1 | 2 | assert 0 == 1 & 2 3 | assert 1 == 1 & 3 4 | assert 0 == 2 & 4 5 | assert 2 == 2 & 6 6 | assert 3 == 3 & 7 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/cast-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | boo 3 | 4 | """ 5 | a as object = "kaboom!!" 6 | 7 | print((a as string).Substring(2, 3)) 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/cast-7.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Bar 3 | 3 4 | """ 5 | enum Foo: 6 | Bar = 3 7 | 8 | print(Foo.Bar) 9 | print(cast(int, Foo.Bar)) 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/cast-9.boo: -------------------------------------------------------------------------------- 1 | // explicit conversion operators 2 | a = System.Decimal(8) 3 | assert 8 == cast(int, a) 4 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/post-incdec-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 3 | 2 4 | 1 5 | 0 6 | """ 7 | i = 0 8 | i++ 9 | print i 10 | i++ 11 | print i 12 | i-- 13 | print i 14 | i-- 15 | print i 16 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/post-incdec-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 1 4 | 2 5 | 2 6 | 1 7 | """ 8 | i = 0 9 | print i++ 10 | print i++ 11 | print i 12 | print i-- 13 | print i 14 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/post-incdec-7.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 1 4 | 2 5 | 2 6 | 1 7 | """ 8 | i = decimal.Zero 9 | print i++ 10 | print i++ 11 | print i 12 | print i-- 13 | print i 14 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/shift-1.boo: -------------------------------------------------------------------------------- 1 | a = 3 2 | a <<= 2 3 | assert 12 == a 4 | 5 | a >>= 1 6 | assert 6 == a 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/slicing-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 3 3 | 2 4 | 1 5 | """ 6 | import System.Console 7 | 8 | a = (1, 2, 3) 9 | WriteLine(a[2]) 10 | WriteLine(a[1]) 11 | WriteLine(a[0]) 12 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/slicing-13.boo: -------------------------------------------------------------------------------- 1 | 2 | a = "12345" 3 | 4 | assert "123" == a[-10:3] 5 | assert "345" == a[-3:10] 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/slicing-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 3 3 | 2 4 | 1 5 | """ 6 | import System.Console 7 | 8 | a = [1, 2, 3] 9 | WriteLine(a[2]) 10 | WriteLine(a[1]) 11 | WriteLine(a[0]) 12 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/slicing-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | third 3 | second 4 | first 5 | """ 6 | l = ["first", "second", "third"] 7 | print(l[-1]) 8 | print(l[-2]) 9 | print(l[-3]) 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/slicing-8.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Matz 3 | Guido 4 | """ 5 | a = ("ruby", "python") 6 | a[0] = "Matz" 7 | a[-1] = "Guido" 8 | print(a[0]) 9 | print(a[1]) 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/slicing-9.boo: -------------------------------------------------------------------------------- 1 | """ 2 | f 3 | o 4 | o 5 | """ 6 | s = "foo" 7 | print(s.Chars[0]) 8 | print(s.Chars[1]) 9 | print(s.Chars[2]) 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/operators/unary-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 3 3 3 | """ 4 | a = (1, 2, 3) 5 | index = 0 6 | assert 3 == ++a[++index] 7 | assert 1 == index 8 | print join(a) 9 | 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/char-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.Char 3 | a 4 | """ 5 | 6 | print char('a').GetType() 7 | 8 | a as char = char('a') 9 | print a 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/double-precision-is-used-for-literals.boo: -------------------------------------------------------------------------------- 1 | """ 2 | -4.42330604244772 3 | """ 4 | e as double = -4.42330604244772 5 | print System.Convert.ToString(e) 6 | 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/hash-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 3 | bar 4 | Boo.Lang.Hash 5 | """ 6 | d = {} 7 | d["foo"] = "bar" 8 | print(d.Count) 9 | print(d["foo"]) 10 | print(d.GetType()) 11 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/hex-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0xABBA: 43962 3 | """ 4 | print("0xABBA: ${0xABBA}") 5 | 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/int-shift-overflow-unchecked.boo: -------------------------------------------------------------------------------- 1 | """ 2 | -2147483648 3 | """ 4 | unchecked: 5 | i as int = 1<<31 6 | print i 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/list-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 1 4 | 5 | """ 6 | import System.Console 7 | 8 | l = [] 9 | WriteLine(l.Count) 10 | WriteLine(l.Add("foo").Count) 11 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/list-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | """ 4 | def foo(): 5 | return [] 6 | 7 | print(len(foo())) 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/long-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 9223372036854775807 3 | """ 4 | d as long 5 | d=9223372036854775807 6 | print d 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/string-yields-chars.boo: -------------------------------------------------------------------------------- 1 | """ 2 | F 3 | O 4 | O 5 | """ 6 | for ch in "foo": 7 | print char.ToUpper(ch) 8 | 9 | [assembly: StrictMode] 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/typeof-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.String 3 | Boo.Lang.List 4 | 5 | """ 6 | print(typeof(string).ToString()) 7 | print(typeof(List).ToString()) 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/typeof-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.Object[] 3 | """ 4 | print(typeof((object))) 5 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/uint-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 2147483648 3 | """ 4 | ui as uint = 2147483648 5 | print ui 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/uint-argument.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 2147483648 3 | """ 4 | def p(ui as uint): 5 | print ui 6 | 7 | p 2147483648 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/uint-field-initializer.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 2147483648 3 | """ 4 | class Foo: 5 | public bar as uint = 2147483648 6 | print Foo().bar 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/ulong-bitshift.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 2 3 | """ 4 | x as ulong = 1 5 | x <<= 1 6 | print x 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/primitives/unsigned-2.boo: -------------------------------------------------------------------------------- 1 | 2 | import BooCompiler.Tests.SupportingClasses from BooCompiler.Tests 3 | 4 | assert 28 == Person(Age: 28).Age 5 | assert 30 == Person(Age: 30L).Age 6 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/break-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 1 4 | 2 5 | 3 6 | 4 7 | 5 8 | """ 9 | i = 0 10 | while i < 10: 11 | print(i) 12 | if ++i > 5: 13 | break 14 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/break-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | ensured 3 | """ 4 | while true: 5 | try: 6 | break 7 | raise "never got here" 8 | ensure: 9 | print("ensured") 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/continue-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 2 4 | 4 5 | 6 6 | 8 7 | """ 8 | for i as int in range(10): 9 | continue if i % 2 10 | print(i) 11 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/continue-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 2 4 | 4 5 | 6 6 | 8 7 | 10 8 | """ 9 | i = -1 10 | while i < 10: 11 | ++i 12 | continue if i % 2 13 | print(i) 14 | 15 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/declaration-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Hello 3 | """ 4 | for item in [" Hello "]: 5 | itemString as string = item 6 | System.Console.Write(itemString.Trim()) 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/for-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 3 | 2 4 | """ 5 | 6 | for item in List().Add("1").Add("2"): 7 | print(item) 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/for-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Item 1 3 | Item 2 4 | 5 | """ 6 | 7 | for item as string in List().Add(" 1 ").Add(" 2 "): 8 | print("Item ${item.Trim()}") 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/for-5.boo: -------------------------------------------------------------------------------- 1 | 2 | values = [] 3 | for i in range(10): 4 | break if i > 4 5 | values.Add(i) 6 | 7 | assert values == [0, 1, 2, 3, 4] 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/for_then-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | I have no item 3 | """ 4 | 5 | list = [] 6 | 7 | for i in list: print 'I have an item!' ; break 8 | then: print 'I have no item' 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/goto-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | before 3 | after 4 | """ 5 | print('before') 6 | goto exit 7 | print('skipped') 8 | :exit 9 | print('after') 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/unpack-1.boo: -------------------------------------------------------------------------------- 1 | a, b = 1, 2 2 | assert 1 == a 3 | assert 2 == b 4 | assert 3 == (a + b) 5 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/unpack-10.boo: -------------------------------------------------------------------------------- 1 | a = 3, 2, 1 2 | b, = a 3 | assert 3 == b 4 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/unpack-2.boo: -------------------------------------------------------------------------------- 1 | a = 1, 2, 3 2 | 3 | b, c = a 4 | assert 1 == b 5 | assert 2 == c 6 | assert 3 == (b + c) 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/unpack-3.boo: -------------------------------------------------------------------------------- 1 | a = "spam", 42, object() 2 | 3 | s as string, i as int, o = a 4 | assert "spam" == s 5 | assert 42 == i 6 | assert o is a[-1] 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/unpack-4.boo: -------------------------------------------------------------------------------- 1 | a = 1 2 | b = 2 3 | 4 | a, b = b, a 5 | assert 1 == b 6 | assert 2 == a 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/unpack-5.boo: -------------------------------------------------------------------------------- 1 | a, b = range(1, 4) 2 | assert 1 == a 3 | assert 2 == b 4 | assert 3 == (a + b) 5 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/while-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 3 3 | 2 4 | 1 5 | """ 6 | i = 3 7 | 8 | while i > 0: 9 | System.Console.WriteLine(i) 10 | --i 11 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/while-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 3 | 0 4 | """ 5 | i = 1 6 | while not (i < 0): 7 | print(i) 8 | --i 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/while-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 1 4 | 2 5 | """ 6 | a = object() 7 | i = 0 8 | while a is not null: 9 | print i 10 | ++i 11 | a = null if i > 2 12 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/while-6.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 1 4 | 2 5 | """ 6 | a = null 7 | i = 0 8 | while a is null: 9 | print i 10 | ++i 11 | a = object() if i > 2 12 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/while-7.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 1 4 | 2 5 | """ 6 | a = 1 7 | i = 0 8 | while 0 != a: 9 | print i 10 | ++i 11 | a = 0 if i > 2 12 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/while-8.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 1 4 | 2 5 | """ 6 | a = 0 7 | i = 0 8 | while a == 0: 9 | print i 10 | ++i 11 | a = 1 if i > 2 12 | -------------------------------------------------------------------------------- /tests/testcases/integration/statements/while_then-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Exactly. 3 | """ 4 | 5 | while false: print 'Say what?' ; break 6 | then: print 'Exactly.' 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/types/classes-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | homer 3 | 4 | """ 5 | class Person: 6 | def constructor(fname as string): 7 | print(fname) 8 | 9 | Person("homer") 10 | -------------------------------------------------------------------------------- /tests/testcases/integration/types/classes-8.boo: -------------------------------------------------------------------------------- 1 | """ 2 | it worked! 3 | """ 4 | class ClassWithoutConstructor: 5 | def run(): 6 | print("it worked!") 7 | 8 | ClassWithoutConstructor().run() 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/types/classes-9.boo: -------------------------------------------------------------------------------- 1 | """ 2 | True 3 | """ 4 | class C2(C1): 5 | pass 6 | 7 | class C1: 8 | pass 9 | 10 | System.Console.Write(typeof(C2).BaseType is typeof(C1)) 11 | -------------------------------------------------------------------------------- /tests/testcases/integration/types/fields-10.boo: -------------------------------------------------------------------------------- 1 | class Fields10: 2 | 3 | public Foo as System.Action 4 | 5 | def DoSomething(): 6 | Foo() -------------------------------------------------------------------------------- /tests/testcases/integration/types/fields-7.boo: -------------------------------------------------------------------------------- 1 | 2 | class Foo: 3 | 4 | public spam = "spam" 5 | 6 | public eggs = 2 7 | 8 | f = Foo() 9 | assert "spam" == f.spam 10 | assert 2 == f.eggs 11 | -------------------------------------------------------------------------------- /tests/testcases/integration/types/innerclasses-9.boo: -------------------------------------------------------------------------------- 1 | class A: 2 | class B: 3 | pass 4 | 5 | class C(B): 6 | pass 7 | 8 | assert typeof(A.C).BaseType is A.B 9 | -------------------------------------------------------------------------------- /tests/testcases/integration/types/interfaces-19.boo: -------------------------------------------------------------------------------- 1 | import System 2 | 3 | convertible as IConvertible = 3 4 | 5 | assert 3.0 == convertible.ToDouble(null) 6 | assert 3L == convertible.ToInt64(null) 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/types/interfaces-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | True 3 | """ 4 | interface IFoo: 5 | pass 6 | 7 | print(typeof(IFoo).IsInterface) 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/types/internal-field-initializer.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 42 3 | """ 4 | class Foo: 5 | internal Value = 0 6 | 7 | print Foo(Value: 42).Value 8 | -------------------------------------------------------------------------------- /tests/testcases/integration/types/overloading-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | ClassWithNewMethod.Method2 3 | """ 4 | import BooCompiler.Tests.SupportingClasses from BooCompiler.Tests 5 | 6 | ClassWithNewMethod().Method2() 7 | -------------------------------------------------------------------------------- /tests/testcases/integration/types/static-final-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | """ 3 | class Globals: 4 | public static final None = null 5 | 6 | assert Globals.None is null 7 | -------------------------------------------------------------------------------- /tests/testcases/macros/print-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | spam 3 | 1 2 3 4 | 5 | eggs 42 6 | """ 7 | print "spam" 8 | print 1, 2, 3 9 | print 10 | print "eggs", 42 11 | -------------------------------------------------------------------------------- /tests/testcases/macros/print-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | foo 3 | """ 4 | def foo(): 5 | return 42 6 | 7 | print "foo" if foo() >= 42 8 | print "bar" if foo() < 42 9 | -------------------------------------------------------------------------------- /tests/testcases/macros/then-can-be-used-as-macro-name.boo: -------------------------------------------------------------------------------- 1 | """ 2 | something happens 3 | """ 4 | macro then(what as string): 5 | yield [| print $what |] 6 | 7 | then "something happens" 8 | -------------------------------------------------------------------------------- /tests/testcases/macros/yieldAll-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 2 3 1 3 | """ 4 | def foo(): 5 | yieldAll range(1, 4) 6 | yield 1 7 | 8 | print join(foo()) 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/testcases/net2/errors/BCE0138-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCE0138-1.boo(7,11): BCE0138: 'Foo' is not a generic definition. 3 | """ 4 | class Foo: 5 | pass 6 | 7 | foo = Foo of string() 8 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/array-enumerable-1.boo: -------------------------------------------------------------------------------- 1 | import System.Collections.Generic 2 | 3 | a as IEnumerable of int 4 | a = (1,2,3,4) 5 | 6 | assert a isa IEnumerable of int 7 | assert a isa (int) 8 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/collections-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 42 3 | """ 4 | import System.Collections.Generic 5 | 6 | l = List of int() 7 | l.Add(21) 8 | print l[0]*2 9 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/generators-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 2 3 | 4 4 | 6 5 | """ 6 | e = i * 2 for i in (1,2,3) 7 | for i in e: print i 8 | assert e isa System.Collections.Generic.IEnumerable of int 9 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/generators-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 2 3 | 4 4 | 6 5 | """ 6 | 7 | e = i * 2 for i in (1,2,3,4) if i <= 3 8 | for i in e: print i 9 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/generic-array-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | """ 4 | import System.Collections.Generic 5 | 6 | arr = array(List[of int], 3) 7 | arr[0] = List[of int]() 8 | print arr[0].Count 9 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/generic-field-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 42 3 | """ 4 | class Container[of T]: 5 | public value as T 6 | 7 | c = Container[of int](value: 21) 8 | print c.value * 2 9 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/generic-inheritance-1.boo: -------------------------------------------------------------------------------- 1 | class xList[of T](List[of T]): 2 | pass 3 | 4 | l = xList[of int]() 5 | l.Add(42) 6 | 7 | assert 42 == l[0] 8 | assert 42 == l[-1] 9 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/generic-matrix-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.String[,] 3 | 1 4 | 2 5 | """ 6 | m = matrix[of string](1, 2) 7 | print m.GetType() 8 | for i in range(m.Rank): 9 | print m.GetLength(i) 10 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/inference-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Int32 3 | """ 4 | 5 | def Method[of T](arg as T): 6 | return typeof(T).Name 7 | 8 | print Method(42) -------------------------------------------------------------------------------- /tests/testcases/net2/generics/inference-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Int32 3 | """ 4 | 5 | def Method[of T](arg as (T)): 6 | return typeof(T).Name 7 | 8 | print Method((42, )) 9 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/internal-generic-type-1.boo: -------------------------------------------------------------------------------- 1 | public class GenericType[of T]: 2 | pass 3 | 4 | assert typeof(GenericType of *).MakeGenericType(int) == typeof(GenericType of int) 5 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/internal-generic-type-2.boo: -------------------------------------------------------------------------------- 1 | public interface GenericInterface[of T]: 2 | pass 3 | 4 | assert typeof(GenericInterface of *).MakeGenericType(int) == typeof(GenericInterface of int) 5 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/internal-generic-type-3.boo: -------------------------------------------------------------------------------- 1 | public struct GenericStruct[of T]: 2 | Field as T 3 | 4 | assert typeof(GenericStruct of *).MakeGenericType(int) == typeof(GenericStruct of int) 5 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/mixedbase.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boo-lang/boo/bc0aa51531bed5b60e557f1a3a9030bb8659f47d/tests/testcases/net2/generics/mixedbase.dll -------------------------------------------------------------------------------- /tests/testcases/net2/generics/nullable-7.boo: -------------------------------------------------------------------------------- 1 | import System 2 | 3 | def NullableTest(): 4 | return Default(Nullable[of int]) 5 | 6 | var value = NullableTest() 7 | assert not value.HasValue -------------------------------------------------------------------------------- /tests/testcases/net2/generics/type-reference-1.boo: -------------------------------------------------------------------------------- 1 | import System.Collections.Generic 2 | 3 | assert List of int is typeof(List of *).MakeGenericType(int) 4 | -------------------------------------------------------------------------------- /tests/testcases/net2/generics/type-reference-3.boo: -------------------------------------------------------------------------------- 1 | import System.Collections.Generic 2 | 3 | assert typeof(List of int) is typeof(List of *).MakeGenericType(int) 4 | -------------------------------------------------------------------------------- /tests/testcases/parser/end_identifier.boo: -------------------------------------------------------------------------------- 1 | public class T: 2 | public end as object 3 | public override def ToString() as string: 4 | return "$(self.end)" 5 | 6 | t = T(end: 'foo') 7 | print t -------------------------------------------------------------------------------- /tests/testcases/parser/enum_1.boo: -------------------------------------------------------------------------------- 1 | enum Priority: 2 | Low 3 | Normal 4 | High 5 | 6 | enum Difficulty: 7 | Easy = 0 8 | Normal = 5 9 | Hard 10 | -------------------------------------------------------------------------------- /tests/testcases/parser/for_stmt_1.boo: -------------------------------------------------------------------------------- 1 | for i in [1, 2, 3]: 2 | print(i) 3 | -------------------------------------------------------------------------------- /tests/testcases/parser/if_else_1.boo: -------------------------------------------------------------------------------- 1 | if gets() =~ /foo/: 2 | print("wow!") 3 | for i in ["w", "o", "w"]: 4 | print(i) 5 | if gets() =~ /bar/: 6 | print("foobar, eh?") 7 | else: 8 | print("nah?") 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/re_literal_1.boo: -------------------------------------------------------------------------------- 1 | s = prompt("> ") 2 | print("It's a match!") if s =~ /foo/ 3 | -------------------------------------------------------------------------------- /tests/testcases/parser/re_literal_2.boo: -------------------------------------------------------------------------------- 1 | s = "\"Bamboo\"\n" 2 | re = /foo\(bar\)/ 3 | -------------------------------------------------------------------------------- /tests/testcases/parser/re_literal_3.boo: -------------------------------------------------------------------------------- 1 | re = @/\x2f\u002f/ 2 | s = "${/\x2f\u002f/}" 3 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/and-or-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = ((false and true) or true) 3 | b = (false or (true and true)) 4 | """ 5 | a = false and true or true 6 | b = false or true and true 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/arrays-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = (1, 2, 3) 3 | b = ((1, 2), (3, 4)) 4 | """ 5 | a = (1, 2, 3,) 6 | b = ( 7 | (1, 2), 8 | (3, 4,), 9 | ) 10 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/arrays-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a0 as (int) 3 | a1 as (int) 4 | a2 as (int, 2) 5 | """ 6 | a0 as (int) 7 | a1 as (int, 1) 8 | a2 as (int, 2) 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/arrays-6.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a1 = (of int: 1, 2, 3) 3 | a2 = (of string: 'foo', 'bar') 4 | """ 5 | a1 = (of int: 1, 2, 3) 6 | a2 = (of string: "foo", "bar") 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/assignment-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = (3 + 2) 3 | a += (5 * 2) 4 | a /= (-1) 5 | a *= 2 6 | a -= 3 7 | 8 | """ 9 | a = 3 + 2 10 | a += 5*2 11 | a /= -1 12 | a *= 2 13 | a -= 3 14 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/ast-literal-enum.boo: -------------------------------------------------------------------------------- 1 | """ 2 | e = [| 3 | enum Foo: 4 | 5 | Bar 6 | |] 7 | """ 8 | e = [| 9 | enum Foo: 10 | Bar 11 | |] 12 | 13 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/ast-literal-varargs-method.boo: -------------------------------------------------------------------------------- 1 | """ 2 | code = [| 3 | def foo(*args): 4 | pass 5 | |] 6 | """ 7 | code = [| 8 | def foo(*args): 9 | pass 10 | |] 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/at-operator.boo: -------------------------------------------------------------------------------- 1 | """ 2 | @() 3 | @(1) 4 | @(1, 2) 5 | """ 6 | @() 7 | @(1) 8 | @(1, 2) 9 | 10 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/bool-literals-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def odd(n): 3 | return false if (n % 2) 4 | return true 5 | 6 | """ 7 | def odd(n): 8 | return false if n % 2 9 | return true 10 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/cast-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = (b cast c) 3 | """ 4 | a = b cast c 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/char-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | print char('a') 3 | """ 4 | print char('a') 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/char-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | match foo: 3 | case char(): 4 | print 5 | """ 6 | match foo: 7 | case char(): 8 | print 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/class-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class C1: 3 | pass 4 | 5 | class C2: 6 | pass 7 | """ 8 | class C1: 9 | pass 10 | 11 | class C2(): 12 | pass 13 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/closures-10.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class Foo: 3 | 4 | bar = { msg | print(msg) } 5 | """ 6 | class Foo: 7 | bar = { msg | print(msg) } 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/closures-11.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class Foo: 3 | 4 | bar = { msg | print(msg) } 5 | """ 6 | class Foo: 7 | bar = def (msg): 8 | print(msg) 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/closures-14.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def foo(): 3 | return { print('foo') } 4 | 5 | print(foo()()) 6 | """ 7 | def foo(): 8 | return { print('foo') } 9 | 10 | print(foo()()) 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/closures-18.boo: -------------------------------------------------------------------------------- 1 | """ 2 | i = 3 3 | a = def (): 4 | raise 'uh, oh...' if (i < 2) 5 | print(i) 6 | """ 7 | i = 3 8 | a = { raise "uh, oh..." if i < 2; print(i) } 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/closures-19.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a, b = (1, 1) 3 | c = { a, b = (b, a) } 4 | """ 5 | a, b = 1, 1 6 | c = { a, b = b, a } 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/closures-20.boo: -------------------------------------------------------------------------------- 1 | """ 2 | c1 = { print 'foo' } 3 | c2 = { item | print item if (item is not null) } 4 | """ 5 | c1 = { print "foo" } 6 | c2 = { item | print item if item is not null } 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/closures-22.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = { return } 3 | foo({ return }) 4 | bar({ return }) 5 | """ 6 | a = def (): 7 | pass 8 | 9 | foo(): 10 | pass 11 | 12 | bar({ return }) 13 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/closures-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | c1 = { item | print(item) } 3 | c2 = { item as int | print((item * 2)) } 4 | """ 5 | c1 = { item | print(item) } 6 | c2 = { item as int | print(item*2) } 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/closures-6.boo: -------------------------------------------------------------------------------- 1 | """ 2 | c = { print('Hello!') } 3 | """ 4 | c = { print("Hello!") } 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/closures-7.boo: -------------------------------------------------------------------------------- 1 | """ 2 | predicate = { item as int | return (0 == (item % 2)) } 3 | """ 4 | predicate = { item as int | return 0 == item % 2 } 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/closures-8.boo: -------------------------------------------------------------------------------- 1 | """ 2 | predicate = { item as int | return (0 == (item % 2)) } 3 | """ 4 | predicate = def (item as int): 5 | return 0 == item % 2 6 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/closures-9.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = null 3 | b = iif((a is null), { return '' }, { return a.ToString() }) 4 | """ 5 | a = null 6 | b = iif(a is null, { return "" }, { return a.ToString() }) 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/comments-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | print(('foo' + 'bar')) 3 | """ 4 | /* 5 | a multiline 6 | comment 7 | */ 8 | print("foo" + /*other /*nested*/*/ "bar") 9 | 10 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/comments-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | namespace CPlusPlusStyleComments 3 | """ 4 | namespace CPlusPlusStyleComments // Um comentário C++ 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/declarations-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | i as int = 3 3 | j as int 4 | """ 5 | i as int = 3 6 | j as int 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/declarations-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | i as long = [1, 2, 3].IndexOf({ item as int | return (item > 2) }) 3 | """ 4 | i as long = [1, 2, 3].IndexOf() do (item as int): 5 | return item > 2 6 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/double-literals-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = 3.0 3 | b = 0.0 4 | c = 0.145 5 | """ 6 | a = 3.0 7 | b = .0 8 | c = 0.145 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/expressions-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | i = 0 3 | a = (3 * (++i)) 4 | b = ((--i) * 2) 5 | c = ((1 + (++i)) - 2) 6 | 7 | """ 8 | i = 0 9 | a = 3*++i 10 | b = --i*2 11 | c = 1 + ++i - 2 12 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/expressions-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = ((1 | (2 & 3)) | 2) 3 | a = (Foo.Spam | (Foo.Eggs & Foo.All)) 4 | """ 5 | a = 1 | 2 & 3 | 2 6 | a = Foo.Spam | Foo.Eggs & Foo.All 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/expressions-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = (b = (c = (d = 0))) 3 | """ 4 | a = b = c = d = 0 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/fields-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class Foo: 3 | 4 | bar 5 | """ 6 | class Foo: 7 | 8 | bar 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/fields-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class Foo: 3 | 4 | bar = (1, 2, 3) 5 | """ 6 | class Foo: 7 | 8 | bar = 1, 2, 3 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/fields-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class Foo: 3 | 4 | bar as string 5 | """ 6 | class Foo: 7 | 8 | bar as string 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/fields-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class Foo: 3 | 4 | bar as string = 'foo' 5 | """ 6 | class Foo: 7 | 8 | bar as string = "foo" 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/for_or-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | for item in []: 3 | pass 4 | or: 5 | return 1 6 | """ 7 | for item in []: 8 | pass 9 | or: 10 | return 1 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/for_then-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | for item in []: 3 | pass 4 | then: 5 | return 1 6 | """ 7 | for item in []: 8 | pass 9 | then: 10 | return 1 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/generators-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | print(join([("\$i" for i in range(3))], ', ')) 3 | """ 4 | print(join(["${i}" for i in range(3)], ", ")) 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/generic-method-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def Method[of T](): 3 | pass 4 | """ 5 | 6 | def Method[of T](): 7 | pass 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/generic-method-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def Method[of T1, T2](): 3 | pass 4 | """ 5 | 6 | def Method[of T1, T2](): 7 | pass 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/generic-method-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def Method[of T](t as T): 3 | pass 4 | """ 5 | 6 | def Method[of T](t as T): 7 | pass 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/getset-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | container.set('foo') 3 | bar = container.get() 4 | """ 5 | container.set("foo") 6 | bar = container.get() 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/goto-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | goto start if (i < 3) 3 | goto finish 4 | """ 5 | goto start if i < 3 6 | goto finish 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/import-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | import Gtk from 'gtk-sharp' 3 | import FooBar from 'foo-bar' 4 | """ 5 | import Gtk from "gtk-sharp" 6 | import FooBar from 'foo-bar' 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/in-not-in-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | print(('foo' in ('foo', 'bar'))) 3 | print(('foo' not in ('foo', 'bar'))) 4 | """ 5 | print('foo' in ('foo', 'bar')) 6 | print('foo' not in ('foo', 'bar')) 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/in-not-in-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | if (5 in [1, 2, 3]) and true: 3 | print 'good' 4 | """ 5 | if 5 in [1, 2, 3] and true: 6 | print 'good' 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/line-continuation-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a, b, c = (1, 2, 3) 3 | d, e, f = (4, 5, 6) 4 | """ 5 | a, b, \ 6 | c = 1, 2, 3 7 | 8 | d, e, \ 9 | f = 4, 5, 6 10 | 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/list-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | l = [1, 2, 3] 3 | l = [(1, 2), (3, 4)] 4 | """ 5 | l = [1, 2, 3,] 6 | l = [(1, 2), (3, 4,),] 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/long-literals-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | l = -9223372036854775808L 3 | """ 4 | l = -9223372036854775808L 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/macros-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | assert true 3 | assert "Como? \$(2 + 2) != \$(4)???", 4 == (2 + 2) 4 | 5 | """ 6 | assert true 7 | assert "Como? ${2 + 2} != ${4}???", 4 == 2 + 2 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/method-declaration-in-macro-application.boo: -------------------------------------------------------------------------------- 1 | """ 2 | myclass Foo: 3 | override def ToString(): 4 | pass 5 | """ 6 | myclass Foo: 7 | override def ToString(): 8 | pass 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/null-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = null 3 | """ 4 | a = null 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/ones-complement-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | i = (~2) 3 | j = (-(~i)) 4 | h = ((~i) + ((~j) * 2)) 5 | """ 6 | i = ~2 7 | j = -~i 8 | h = ~i + ~j * 2 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/regex-literals-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | print(@/ foo bar /) 3 | print(@/tab space /) 4 | """ 5 | print(@/ foo bar /) 6 | print(@/tab space /) 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/return-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def foo(a): 3 | return if (a is null) 4 | return 5 | """ 6 | def foo(a): 7 | return if a is null 8 | return 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/return-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def foo(a): 3 | return true if (a is null) 4 | return false 5 | """ 6 | def foo(a): 7 | return true if a is null 8 | return false 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/splicing-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = [| \$(item) |] 3 | b = [| (x as \$(type)) |] 4 | """ 5 | a = [| $item |] 6 | b = [| x as $type |] 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/splicing-class-body.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class E: 3 | 4 | \$(body) 5 | """ 6 | class E: 7 | $body 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/splicing-enum-body.boo: -------------------------------------------------------------------------------- 1 | """ 2 | enum E: 3 | 4 | \$(body) 5 | """ 6 | enum E: 7 | $body 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/struct-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | struct Size: 3 | 4 | Width as int 5 | 6 | Height as int 7 | """ 8 | struct Size: 9 | Width as int 10 | Height as int 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/timespan-literals-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | ms = 10ms 3 | s = 10s 4 | m = 10m 5 | h = 1h 6 | d = 2d 7 | 8 | """ 9 | ms = 10ms 10 | s = 10s 11 | m = 10m 12 | h = 1h 13 | d = 2d 14 | 15 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/while_or-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | while false: 3 | pass 4 | or: 5 | return 1 6 | """ 7 | while false: 8 | pass 9 | or: 10 | return 1 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/while_then-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | while true: 3 | pass 4 | then: 5 | return 1 6 | """ 7 | while true: 8 | pass 9 | then: 10 | return 1 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/xor-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = (true ^ false) 3 | b = (55 ^ 255) 4 | b ^= 42 5 | """ 6 | a = true ^ false 7 | b = 55 ^ 0xFF 8 | b ^= 42 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/roundtrip/yield-as-member-name.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Thread.yield() 3 | """ 4 | Thread.yield() 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/simple.boo: -------------------------------------------------------------------------------- 1 | """ 2 | module doc string 3 | """ 4 | namespace Empty 5 | 6 | 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/simple_classes.boo: -------------------------------------------------------------------------------- 1 | namespace Foo.Bar 2 | 3 | class Customer: 4 | pass 5 | 6 | class Person: 7 | pass 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/simple_global_defs.boo: -------------------------------------------------------------------------------- 1 | namespace Math 2 | 3 | class Rational: 4 | pass 5 | 6 | def pi() as single: 7 | pass 8 | 9 | def rationalPI() as Rational: 10 | pass 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/static_method.boo: -------------------------------------------------------------------------------- 1 | namespace ITL 2 | 3 | class Math: 4 | static def square(x as int) as int: 5 | return x*x 6 | 7 | print(Math.square(3)) 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/stmt_modifiers_1.boo: -------------------------------------------------------------------------------- 1 | def fatorial(n as int) as int: 2 | return 1 if n < 2 3 | return n * fatorial(n-1) 4 | 5 | print( fatorial(5) / fatorial(2) ) 6 | -------------------------------------------------------------------------------- /tests/testcases/parser/stmt_modifiers_2.boo: -------------------------------------------------------------------------------- 1 | def fatorial(n as int) as int: 2 | return 1 if n < 2 3 | return n*fatorial(n-1) 4 | 5 | f = fatorial(5)/fatorial(2) 6 | print(f) 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/stmt_modifiers_3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a, b = (1, 2) if true 3 | c, d = (3, 4) unless false 4 | """ 5 | a, b = 1, 2 if true 6 | c, d = 3, 4 unless false 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/unpack_stmt_1.boo: -------------------------------------------------------------------------------- 1 | arg0, arg1 = Environment.GetCommandLineArgs() 2 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/and-or-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = ((false and true) or true) 3 | b = (false or (true and true)) 4 | """ 5 | a = ((false and true) or true) 6 | b = (false or (true and true)) 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/arrays-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = (1, 2, 3) 3 | b = ((1, 2), (3, 4)) 4 | """ 5 | a = (1, 2, 3) 6 | b = ((1, 2), (3, 4)) 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/arrays-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a0 as (int) 3 | a1 as (int) 4 | a2 as (int, 2) 5 | """ 6 | a0 as (int) 7 | a1 as (int) 8 | a2 as (int, 2) 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/arrays-6.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a1 = (of int: 1, 2, 3) 3 | a2 = (of string: 'foo', 'bar') 4 | """ 5 | a1 = (of int: 1, 2, 3) 6 | a2 = (of string: 'foo', 'bar') 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/assignment-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = (3 + 2) 3 | a += (5 * 2) 4 | a /= (-1) 5 | a *= 2 6 | a -= 3 7 | 8 | """ 9 | a = (3 + 2) 10 | a += (5 * 2) 11 | a /= (-1) 12 | a *= 2 13 | a -= 3 14 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/ast-literal-enum.boo: -------------------------------------------------------------------------------- 1 | """ 2 | e = [| 3 | enum Foo: 4 | 5 | Bar 6 | |] 7 | """ 8 | e = [| 9 | enum Foo: 10 | 11 | Bar 12 | end 13 | |] 14 | 15 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/ast-literal-varargs-method.boo: -------------------------------------------------------------------------------- 1 | """ 2 | code = [| 3 | def foo(*args): 4 | pass 5 | |] 6 | """ 7 | code = [| 8 | def foo(*args): 9 | end 10 | |] 11 | 12 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/at-operator.boo: -------------------------------------------------------------------------------- 1 | """ 2 | @() 3 | @(1) 4 | @(1, 2) 5 | """ 6 | @() 7 | @(1) 8 | @(1, 2) 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/attributes-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | [module: M] 3 | [assembly: Foo(true)] 4 | [assembly: Bar(Spam: 1)] 5 | """ 6 | [assembly: Foo(true)] 7 | [assembly: Bar(Spam: 1)] 8 | [module: M] 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/bool-literals-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def odd(n): 3 | return false if (n % 2) 4 | return true 5 | 6 | """ 7 | def odd(n): 8 | return false if (n % 2) 9 | return true 10 | end 11 | 12 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/cast-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = (b cast c) 3 | """ 4 | a = b cast c 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/char-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | print char('a') 3 | """ 4 | print char('a') 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/char-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | match foo: 3 | case char(): 4 | print 5 | """ 6 | match foo: 7 | case char(): 8 | print 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/class-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class C1: 3 | pass 4 | 5 | class C2: 6 | pass 7 | """ 8 | class C1: 9 | end 10 | 11 | class C2: 12 | end 13 | 14 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/closures-10.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class Foo: 3 | 4 | bar = { msg | print(msg) } 5 | """ 6 | class Foo: 7 | 8 | bar = { msg | print(msg) } 9 | end 10 | 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/closures-11.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class Foo: 3 | 4 | bar = { msg | print(msg) } 5 | """ 6 | class Foo: 7 | 8 | bar = { msg | print(msg) } 9 | end 10 | 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/closures-14.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def foo(): 3 | return { print('foo') } 4 | 5 | print(foo()()) 6 | """ 7 | def foo(): 8 | return { print('foo') } 9 | end 10 | 11 | print(foo()()) 12 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/closures-19.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a, b = (1, 1) 3 | c = { a, b = (b, a) } 4 | """ 5 | a, b = (1, 1) 6 | c = { a, b = (b, a) } 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/closures-20.boo: -------------------------------------------------------------------------------- 1 | """ 2 | c1 = { print 'foo' } 3 | c2 = { item | print item if (item is not null) } 4 | """ 5 | c1 = { print 'foo' } 6 | c2 = { item | print item if (item is not null) } 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/closures-21.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = { x | x > 0 } 3 | b = { x | (x > 0) and (x < 10) } 4 | """ 5 | a = { x | x > 0 } 6 | b = { x | (x > 0) and (x < 10) } 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/closures-22.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = { return } 3 | foo({ return }) 4 | bar({ return }) 5 | """ 6 | a = def (): 7 | end 8 | 9 | foo(): 10 | end 11 | 12 | bar({ return }) 13 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/closures-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | c1 = { item | print(item) } 3 | c2 = { item as int | print((item * 2)) } 4 | """ 5 | c1 = { item | print(item) } 6 | c2 = { item as int | print((item * 2)) } 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/closures-6.boo: -------------------------------------------------------------------------------- 1 | """ 2 | c = { print('Hello!') } 3 | """ 4 | c = { print('Hello!') } 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/closures-7.boo: -------------------------------------------------------------------------------- 1 | """ 2 | predicate = { item as int | return (0 == (item % 2)) } 3 | """ 4 | predicate = { item as int | return (0 == (item % 2)) } 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/closures-8.boo: -------------------------------------------------------------------------------- 1 | """ 2 | predicate = { item as int | return (0 == (item % 2)) } 3 | """ 4 | predicate = { item as int | return (0 == (item % 2)) } 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/closures-9.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = null 3 | b = iif((a is null), { return '' }, { return a.ToString() }) 4 | """ 5 | a = null 6 | b = iif((a is null), { return '' }, { return a.ToString() }) 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/comments-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | print(('foo' + 'bar')) 3 | """ 4 | /* 5 | a multiline 6 | comment 7 | */ 8 | print("foo" + /*other /*nested*/*/ "bar") 9 | 10 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/comments-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | namespace CPlusPlusStyleComments 3 | """ 4 | namespace CPlusPlusStyleComments 5 | 6 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/declarations-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | i as int = 3 3 | j as int 4 | """ 5 | i as int = 3 6 | j as int 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/declarations-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | i as callable = { print 'foo' } 3 | j as callable = { print 'bar' } 4 | """ 5 | i as callable = { print 'foo' } 6 | j as callable = { print 'bar' } 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/declarations-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | i as long = [1, 2, 3].IndexOf({ item as int | return (item > 2) }) 3 | """ 4 | i as long = [1, 2, 3].IndexOf({ item as int | return (item > 2) }) 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/double-literals-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = 3.0 3 | b = 0.0 4 | c = 0.145 5 | """ 6 | a = 3.0 7 | b = 0.0 8 | c = 0.145 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/expressions-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = ((1 | (2 & 3)) | 2) 3 | a = (Foo.Spam | (Foo.Eggs & Foo.All)) 4 | """ 5 | a = ((1 | (2 & 3)) | 2) 6 | a = (Foo.Spam | (Foo.Eggs & Foo.All)) 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/expressions-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = (b = (c = (d = 0))) 3 | """ 4 | a = (b = (c = (d = 0))) 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/fields-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class Foo: 3 | 4 | bar 5 | """ 6 | class Foo: 7 | 8 | bar 9 | end 10 | 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/fields-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class Foo: 3 | 4 | bar = (1, 2, 3) 5 | """ 6 | class Foo: 7 | 8 | bar = (1, 2, 3) 9 | end 10 | 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/fields-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class Foo: 3 | 4 | bar as string 5 | """ 6 | class Foo: 7 | 8 | bar as string 9 | end 10 | 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/fields-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class Foo: 3 | 4 | bar as string = 'foo' 5 | """ 6 | class Foo: 7 | 8 | bar as string = 'foo' 9 | end 10 | 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/for_or-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | for item in []: 3 | pass 4 | or: 5 | return 1 6 | """ 7 | for item in []: 8 | pass 9 | or: 10 | return 1 11 | end -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/for_then-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | for item in []: 3 | pass 4 | then: 5 | return 1 6 | """ 7 | for item in []: 8 | pass 9 | then: 10 | return 1 11 | end -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/generators-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | print(join([("\$i" for i in range(3))], ', ')) 3 | """ 4 | print(join([("${i}" for i in range(3))], ', ')) 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/generic-method-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def Method[of T](): 3 | pass 4 | """ 5 | def Method[of T](): 6 | end 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/generic-method-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def Method[of T1, T2](): 3 | pass 4 | """ 5 | def Method[of T1, T2](): 6 | end 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/generic-method-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def Method[of T](t as T): 3 | pass 4 | """ 5 | def Method[of T](t as T): 6 | end 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/getset-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | container.set('foo') 3 | bar = container.get() 4 | """ 5 | container.set('foo') 6 | bar = container.get() 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/goto-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | goto start if (i < 3) 3 | goto end_ 4 | """ 5 | goto start if (i < 3) 6 | goto end_ 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/import-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | import Gtk from 'gtk-sharp' 3 | import FooBar from 'foo-bar' 4 | """ 5 | import Gtk from 'gtk-sharp' 6 | import FooBar from 'foo-bar' 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/in-not-in-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | print(('foo' in ('foo', 'bar'))) 3 | print(('foo' not in ('foo', 'bar'))) 4 | """ 5 | print(('foo' in ('foo', 'bar'))) 6 | print(('foo' not in ('foo', 'bar'))) 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/in-not-in-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | assert 1 in { 1: 2 } 3 | assert 1 in { 1: 2 }, 'should pass but does not' 4 | """ 5 | assert 1 in { 1: 2 } 6 | assert 1 in { 1: 2 }, 'should pass but does not' 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/in-not-in-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | if (5 in [1, 2, 3]) and true: 3 | print 'good' 4 | """ 5 | if (5 in [1, 2, 3]) and true: 6 | print 'good' 7 | end 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/internal-generic-callable-type-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | public callable GenericCallable[of TIn, TOut](TIn) as TOut 3 | """ 4 | public callable GenericCallable[of TIn, TOut](TIn) as TOut 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/internal-generic-type-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | public class GenericType[of T](BaseType, SomeInterface): 3 | pass 4 | """ 5 | public class GenericType[of T](BaseType, SomeInterface): 6 | end 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/internal-generic-type-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | public class GenericType[of T](BaseType, SomeInterface): 3 | pass 4 | """ 5 | public class GenericType[of T](BaseType, SomeInterface): 6 | end 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/internal-generic-type-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | public struct GenericType[of T](BaseType, SomeInterface): 3 | pass 4 | """ 5 | public struct GenericType[of T](BaseType, SomeInterface): 6 | end 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/interpolation-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | "2 + 2 is \$(2 + 2)" 3 | "\$((3 * 2) - 1) should be \$(5)" 4 | """ 5 | "2 + 2 is ${(2 + 2)}" 6 | "${((3 * 2) - 1)} should be ${5}" 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/line-continuation-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a, b, c = (1, 2, 3) 3 | d, e, f = (4, 5, 6) 4 | """ 5 | a, b, c = (1, 2, 3) 6 | d, e, f = (4, 5, 6) 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/list-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | l = [1, 2, 3] 3 | l = [(1, 2), (3, 4)] 4 | """ 5 | l = [1, 2, 3] 6 | l = [(1, 2), (3, 4)] 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/long-literals-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | l = -9223372036854775808L 3 | """ 4 | l = -9223372036854775808L 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/macros-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | assert true 3 | assert "Como? \$(2 + 2) != \$(4)???", 4 == (2 + 2) 4 | 5 | """ 6 | assert true 7 | assert "Como? ${(2 + 2)} != ${4}???", 4 == (2 + 2) 8 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/null-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = null 3 | """ 4 | a = null 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/ones-complement-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | i = (~2) 3 | j = (-(~i)) 4 | h = ((~i) + ((~j) * 2)) 5 | """ 6 | i = (~2) 7 | j = (-(~i)) 8 | h = ((~i) + ((~j) * 2)) 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/regex-literals-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | print(@/ foo bar /) 3 | print(@/tab space /) 4 | """ 5 | print(@/ foo bar /) 6 | print(@/tab space /) 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/return-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def foo(a): 3 | return if (a is null) 4 | return 5 | """ 6 | def foo(a): 7 | return if (a is null) 8 | return 9 | end 10 | 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/return-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | def foo(a): 3 | return true if (a is null) 4 | return false 5 | """ 6 | def foo(a): 7 | return true if (a is null) 8 | return false 9 | end 10 | 11 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/splicing-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = [| \$(item) |] 3 | b = [| (x as \$(type)) |] 4 | """ 5 | a = [| $item |] 6 | b = [| x as $type |] 7 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/splicing-class-body.boo: -------------------------------------------------------------------------------- 1 | """ 2 | class E: 3 | 4 | \$(body) 5 | """ 6 | class E: 7 | $body 8 | end 9 | 10 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/splicing-enum-body.boo: -------------------------------------------------------------------------------- 1 | """ 2 | enum E: 3 | 4 | \$(body) 5 | """ 6 | enum E: 7 | $body 8 | end 9 | 10 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/struct-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | struct Size: 3 | 4 | Width as int 5 | 6 | Height as int 7 | """ 8 | struct Size: 9 | 10 | Width as int 11 | 12 | Height as int 13 | end 14 | 15 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/timespan-literals-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | ms = 10ms 3 | s = 10s 4 | m = 10m 5 | h = 1h 6 | d = 2d 7 | 8 | """ 9 | ms = 10ms 10 | s = 10s 11 | m = 10m 12 | h = 1h 13 | d = 2d 14 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/while_or-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | while false: 3 | pass 4 | or: 5 | return 1 6 | """ 7 | while false: 8 | pass 9 | or: 10 | return 1 11 | end -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/while_then-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | while true: 3 | pass 4 | then: 5 | return 1 6 | """ 7 | while true: 8 | pass 9 | then: 10 | return 1 11 | end -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/xor-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | a = (true ^ false) 3 | b = (55 ^ 255) 4 | b ^= 42 5 | """ 6 | a = (true ^ false) 7 | b = (55 ^ 255) 8 | b ^= 42 9 | -------------------------------------------------------------------------------- /tests/testcases/parser/wsa/yield-as-member-name.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Thread.yield() 3 | """ 4 | Thread.yield() 5 | -------------------------------------------------------------------------------- /tests/testcases/parser/yield_stmt_1.boo: -------------------------------------------------------------------------------- 1 | def odds(l): 2 | for i in l: 3 | yield i if 0 != i % 2 4 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-1047.boo: -------------------------------------------------------------------------------- 1 | import System.Threading.Interlocked 2 | 3 | x as int = 10 4 | CompareExchange(x, 5, 5) 5 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-1069-1.boo: -------------------------------------------------------------------------------- 1 | test = 5 2 | test %= 3 3 | assert test == 2 4 | test %= 2 5 | assert test == 0 -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-1070-1.boo: -------------------------------------------------------------------------------- 1 | test as duck 2 | test = 5 3 | assert test << 1 == 10 4 | assert test >> 1 == 2 5 | assert test ^ 2 == 7 -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-1080-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Foo 3 | """ 4 | 5 | class A[of T]: 6 | internal def Foo(): 7 | print "Foo" 8 | 9 | A[of int]().Foo() 10 | 11 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-1127-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 2 3 | """ 4 | 5 | class Test: 6 | public static final X as int = 1 7 | 8 | static def constructor(): 9 | X = 2 10 | 11 | print Test.X 12 | 13 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-1130-1.boo: -------------------------------------------------------------------------------- 1 | enum W: 2 | Int = 0xff0000 3 | Long = 0xff0000000000 4 | 5 | assert W.Int == 0xff0000 6 | assert W.Long == 0xff0000000000 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-1177-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | OK 3 | """ 4 | 5 | [System.Runtime.CompilerServices.CompilerGlobalScope] 6 | class Test: 7 | def constructor(): 8 | print "OK" 9 | 10 | Test() 11 | 12 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-1288.boo: -------------------------------------------------------------------------------- 1 | """ 2 | done 3 | """ 4 | import System 5 | 6 | def fun(): 7 | print "done" 8 | return 9 | x = 2 10 | Array.Find((1,2,3),{q|q==x}) 11 | 12 | fun() 13 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-129-1.boo: -------------------------------------------------------------------------------- 1 | class A: 2 | enum snack: 3 | yummy 4 | 5 | def constructor(): 6 | super() 7 | 8 | assert cast(int, A.snack.yummy) == 0 9 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-145-1.boo: -------------------------------------------------------------------------------- 1 | import System.Drawing from BooCompiler.Tests 2 | 3 | p = Point(100, 100) 4 | assert 100 == p.X 5 | 6 | p.X = 300 7 | assert 300 == p.X 8 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-178-1.boo: -------------------------------------------------------------------------------- 1 | enum Test: 2 | A 3 | B 4 | C 5 | 6 | a = Test.A 7 | assert "A" == a.ToString() 8 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-178-2.boo: -------------------------------------------------------------------------------- 1 | import System 2 | 3 | assert "Friday" == DayOfWeek.Friday.ToString() 4 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-189-1.boo: -------------------------------------------------------------------------------- 1 | import System.Drawing from System.Drawing 2 | 3 | s as Size 4 | s.Width = 100 5 | s.Height = 200 6 | assert 100 == s.Width 7 | assert 200 == s.Height 8 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-195-1.boo: -------------------------------------------------------------------------------- 1 | struct Size: 2 | Width as int 3 | Height as int 4 | 5 | s = Size() 6 | assert 0 == s.Width 7 | assert 0 == s.Height 8 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-226-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Test 3 | """ 4 | class Test(System.ValueType): 5 | public x as double 6 | 7 | v1 = Test(x: 1) 8 | print v1.ToString() 9 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-226-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Test 3 | """ 4 | struct Test: 5 | x as double 6 | 7 | v1 = Test(x: 1) 8 | print v1.ToString() 9 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-231-1.boo: -------------------------------------------------------------------------------- 1 | a as object = 0.0 2 | b as object = 1.0 3 | 4 | assert true == (not a) 5 | assert false == (not b) 6 | assert false == ((not b) == (not a)) 7 | assert true == (not a) 8 | 9 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-248-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 9.2 3 | """ 4 | x as decimal = 2.5 5 | d as duck = x 6 | print cast(decimal, 6.7 + d).ToString(System.Globalization.CultureInfo.InvariantCulture) 7 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-301-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 3 | """ 4 | i = 0 5 | while i < 2: 6 | ++i 7 | for j in range(2): 8 | pass 9 | break 10 | 11 | print i 12 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-301-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 3 | 2 4 | """ 5 | i = 0 6 | while i < 2: 7 | ++i 8 | j = 1 9 | while j < 3: 10 | ++j 11 | break 12 | break 13 | 14 | print i 15 | print j 16 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-308-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 2 4 3 | """ 4 | a as duck = [1, 2, 3] 5 | a[-1] = 4 6 | print join(a) 7 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-308-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 2 4 3 | """ 4 | a as duck = (1, 2, 3) 5 | a[-1] = 4 6 | print join(a) 7 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-313-5.boo: -------------------------------------------------------------------------------- 1 | import System.Globalization 2 | 3 | class Foo: 4 | 5 | public static IC = CultureInfo.InvariantCulture 6 | 7 | assert Foo.IC.Name == CultureInfo.InvariantCulture.Name 8 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-338-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | ok 3 | """ 4 | def foo(): 5 | msg as string 6 | try: 7 | pass 8 | ensure: 9 | msg = "ok" 10 | return msg 11 | 12 | print foo() 13 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-366-1.boo: -------------------------------------------------------------------------------- 1 | generator = { yield 1; yield 2 } 2 | e = generator().GetEnumerator() 3 | item, = e 4 | assert 1 == item 5 | item, = e 6 | assert 2 == item 7 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-372-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Pointers.Foo(int&) 3 | """ 4 | import BooCompiler.Tests.SupportingClasses 5 | 6 | value = 3 7 | 8 | p = Pointers() 9 | p.Foo(value) 10 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-398-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Hello World 3 | """ 4 | closure = def(*var as (string)): 5 | print join(var) 6 | closure("Hello", "World") 7 | 8 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-441-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | only once 3 | 0 0 1 0 4 | """ 5 | def foo(): 6 | print "only once" 7 | return 2 8 | 9 | a = array(int, 4) 10 | a[foo()] += 1 11 | print join(a) 12 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-612-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 4 3 | """ 4 | def foo(ref x as int): 5 | return x = 4 6 | 7 | x = 0 8 | print foo(x) 9 | assert 4 == x 10 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-612-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 4 3 | """ 4 | def foo(ref x as int): 5 | a = x = 4 6 | return a 7 | 8 | x = 0 9 | print foo(x) 10 | assert 4 == x 11 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-705-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 32 3 | """ 4 | v as uint = 1 5 | v = v << 5 6 | print v 7 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-714-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 3 | 3 4 | """ 5 | a = 1 6 | b = 5 7 | for i in range(a, b, 2): 8 | print i 9 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-719-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | bar 3 | """ 4 | class Bar(Foo): 5 | def X(): 6 | return "bar" 7 | 8 | class Foo: 9 | virtual def X(): 10 | return "foo" 11 | 12 | print Bar().X() 13 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-725-1.boo: -------------------------------------------------------------------------------- 1 | enum E: 2 | a 3 | b 4 | c 5 | 6 | def check(val as System.Enum): 7 | assert val != null 8 | assert E.a.Equals(val) 9 | 10 | check(E.a) 11 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-739-1.boo: -------------------------------------------------------------------------------- 1 | class Foo: 2 | static a = 'hello' 3 | 4 | static def constructor(): 5 | assert a != null 6 | 7 | Foo() 8 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-770-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | -1 3 | """ 4 | class Bug: 5 | [property(Id)] _id = 0 6 | 7 | static def Load(): 8 | return Bug(Id: -1) 9 | 10 | print Bug.Load().Id 11 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-779-4.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 3 | 1 4 | 2 5 | 3 6 | """ 7 | 8 | def GetRange(): 9 | return range(4) 10 | 11 | for item in GetRange(): 12 | print item -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-799-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 0 1 2 3 | 0 1 2 4 | """ 5 | e = range(3) 6 | print join(e) 7 | print join(e) 8 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-860-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Foo.Bar 3 | """ 4 | enum Foo: 5 | Bar 6 | 7 | print("Foo." + Foo.Bar) 8 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-90-1.boo: -------------------------------------------------------------------------------- 1 | 2 | 3 | class MyHash(Hash): 4 | pass 5 | 6 | h = MyHash() 7 | h[3] = 4 8 | assert 4 == h[3] 9 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-913-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | True 3 | """ 4 | import Builtins 5 | 6 | class Builtins: 7 | static def DoIt(): 8 | return true 9 | 10 | a = DoIt() 11 | print(a) 12 | 13 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-935-1.boo: -------------------------------------------------------------------------------- 1 | class Z[of T(A)](): 2 | pass 3 | class A: 4 | pass 5 | Z[of A]() 6 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-935-2.boo: -------------------------------------------------------------------------------- 1 | class A: 2 | pass 3 | class B[of T(constructor)]: 4 | pass 5 | x as B[of A] 6 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-949-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | ok 3 | """ 4 | def Method(x as string): 5 | pass 6 | def Method[of T](x as string): 7 | pass 8 | 9 | print "ok" 10 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-949-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | ok 3 | """ 4 | def Method[of T](x as string): 5 | pass 6 | 7 | def Method[of T,U](y as string): 8 | pass 9 | 10 | print "ok" 11 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-958-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | compiled successfully 3 | """ 4 | 5 | interface IFoo[of T]: 6 | def Bar(ref i as T) 7 | 8 | print "compiled successfully" 9 | 10 | -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-975-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | AClass`1[System.String] 3 | """ 4 | 5 | class AClass[of T]: 6 | pass 7 | 8 | c = AClass[of string]() 9 | 10 | print c -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-977-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Foo`1[System.String] 3 | """ 4 | 5 | class Foo[of T]: 6 | pass 7 | 8 | foo = Foo[of string]() 9 | 10 | print foo.ToString() -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-979-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Param 3 | """ 4 | class Param: 5 | pass 6 | 7 | c = (Param(),) 8 | d = System.Array.AsReadOnly[of Param](c) 9 | 10 | print d[0].GetType() -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-979-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Param 3 | """ 4 | class Param: 5 | pass 6 | 7 | c = (Param(),) 8 | System.Array.Sort[of Param](c) 9 | 10 | print c[0].GetType() -------------------------------------------------------------------------------- /tests/testcases/regression/BOO-986-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | Good to go! 3 | """ 4 | 5 | def Foo([default('Good to go!')] obj): 6 | print obj 7 | 8 | Foo(null) -------------------------------------------------------------------------------- /tests/testcases/regression/array_ldelem.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 250 3 | """ 4 | i = 0 5 | bytes = array(byte, 1) 6 | bytes[0] = 250 7 | i = bytes[0] 8 | print i 9 | -------------------------------------------------------------------------------- /tests/testcases/regression/for-re-Split.boo: -------------------------------------------------------------------------------- 1 | """ 2 | foo bar 3 | """ 4 | def lines(s as string): 5 | for line in /\n/.Split(s): 6 | yield line 7 | 8 | print join(lines("foo\nbar")) 9 | -------------------------------------------------------------------------------- /tests/testcases/semantics/enum0.boo: -------------------------------------------------------------------------------- 1 | """ 2 | public enum SomeValues: 3 | 4 | Foo = 0 5 | 6 | Bar = 2 7 | 8 | Baz = 3 9 | """ 10 | enum SomeValues: 11 | Foo 12 | Bar = 2 13 | Baz 14 | -------------------------------------------------------------------------------- /tests/testcases/stdlib/cat-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 1 2 3 4 5 6 3 | 1 2 3 4 5 6 7 8 9 4 | """ 5 | 6 | a = 1, 2, 3 7 | b = 4, 5, 6 8 | c = 7, 8, 9 9 | 10 | print join(cat(a, b)) 11 | print join(cat(a, b, c)) 12 | -------------------------------------------------------------------------------- /tests/testcases/stdlib/join-1.boo: -------------------------------------------------------------------------------- 1 | assert "0 1 2" == join(range(3)) 2 | assert "0, 1, 2", join(range(3), ", ") 3 | assert "0:1:2", join(range(3), ":") 4 | assert "0:1:2", join(range(3), ":"[0]) 5 | -------------------------------------------------------------------------------- /tests/testcases/stdlib/len-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | System.ArgumentException 3 | """ 4 | ltuae as duck = 42 5 | try: 6 | i = len(ltuae) 7 | except x: 8 | print x.GetType() 9 | -------------------------------------------------------------------------------- /tests/testcases/stdlib/list-add-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | [1, 2, 4] 3 | """ 4 | l1 = [1, 2, 3] 5 | l1.Pop() 6 | l2 = [4, 5] 7 | l2.Pop() 8 | print l1 + l2 9 | -------------------------------------------------------------------------------- /tests/testcases/stdlib/list-equals-1.boo: -------------------------------------------------------------------------------- 1 | a = [(1, 2), (3, 4)] 2 | b = [(1, 2), (3, 4)] 3 | 4 | assert a == b 5 | -------------------------------------------------------------------------------- /tests/testcases/stdlib/list-indexof-1.boo: -------------------------------------------------------------------------------- 1 | a = [5, 4, 3, 2, 1] 2 | for i in range(len(a)): 3 | assert i == a.IndexOf(5-i) 4 | -------------------------------------------------------------------------------- /tests/testcases/stdlib/list-indexof-2.boo: -------------------------------------------------------------------------------- 1 | a = [5, 4, 3, 2, 1] 2 | 3 | assert 0 == a.IndexOf({ item as int | return item > 3 }) 4 | assert 3 == a.IndexOf({ item as int | return item < 3 }) 5 | -------------------------------------------------------------------------------- /tests/testcases/stdlib/list-indexof-3.boo: -------------------------------------------------------------------------------- 1 | a = [(1, 2), (3, 4), (5, 6)] 2 | 3 | assert 0 == a.IndexOf((1, 2)) 4 | assert 1 == a.IndexOf((3, 4)) 5 | assert -1 == a.IndexOf((2, 1)) 6 | assert 2 == a.IndexOf((5, 6)) 7 | -------------------------------------------------------------------------------- /tests/testcases/stdlib/list-sort-1.boo: -------------------------------------------------------------------------------- 1 | 2 | 3 | l = [2, 4, 3, 5, 1] 4 | assert l.Sort() == [1, 2, 3, 4, 5] 5 | assert l.Sort({ lhs as int, rhs as int | return rhs - lhs }) == [5, 4, 3, 2, 1] 6 | -------------------------------------------------------------------------------- /tests/testcases/stdlib/range-3.boo: -------------------------------------------------------------------------------- 1 | """ 2 | step 3 | """ 4 | try: 5 | for i in range(3, 0, 1): 6 | print i 7 | except x as System.ArgumentOutOfRangeException: 8 | print x.ParamName 9 | -------------------------------------------------------------------------------- /tests/testcases/stdlib/reversed-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | 9 7 5 3 1 3 | r a b o o f 4 | """ 5 | 6 | odd = i for i in range(10) if i % 2 7 | print join(reversed(odd)) 8 | 9 | print join(reversed("foobar")) 10 | -------------------------------------------------------------------------------- /tests/testcases/warnings/BCW0002-1.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCW0002-1.boo(4,7): BCW0002: WARNING: Statement modifiers have no effect in labels. 3 | """ 4 | :home if true 5 | -------------------------------------------------------------------------------- /tests/testcases/warnings/BCW0006-2.boo: -------------------------------------------------------------------------------- 1 | """ 2 | """ 3 | struct Foo: 4 | value as int 5 | 6 | foos = array(Foo, 3) 7 | foos[1].value += 2 8 | -------------------------------------------------------------------------------- /tests/testcases/warnings/BCW0011-16.boo: -------------------------------------------------------------------------------- 1 | """ 2 | """ 3 | import BooCompiler.Tests.SupportingClasses from BooCompiler.Tests 4 | 5 | class Consumer(BaseInterface, BaseAbstractClassWithImplementation): 6 | pass 7 | -------------------------------------------------------------------------------- /tests/testcases/warnings/BCW0015-5.boo: -------------------------------------------------------------------------------- 1 | """ 2 | BCW0015-5.boo(6,5): BCW0015: WARNING: Unreachable code detected. 3 | """ 4 | def WithUnreachableCode(i as int): 5 | return 0 6 | ++i 7 | -------------------------------------------------------------------------------- /tests/testcases/warnings/no-unreacheable-code-warning-for-compiler-generated-code.boo: -------------------------------------------------------------------------------- 1 | """ 2 | """ 3 | def test(*i): 4 | for j in i: return true 5 | return false 6 | 7 | test 1, 2, 3 8 | -------------------------------------------------------------------------------- /version.txt: -------------------------------------------------------------------------------- 1 | 0.9.7 2 | --------------------------------------------------------------------------------