taskjuggler 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +119 -0
- data/benchmarks/allocatedSlots.tjp +1602 -0
- data/benchmarks/booking.tjp +40 -30
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/css/tjmanual.css +0 -0
- data/{test/TestSuite/Scheduler/Correct → benchmarks}/css/tjreport.css +1 -0
- data/benchmarks/gantt.tjp +57 -0
- data/benchmarks/htmltaskreport.tjp +26 -1
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/details.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-green.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-red.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-yellow.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resource.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resourcegroup.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/task.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/taskgroup.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-down.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-flat.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-up.png +0 -0
- data/benchmarks/profile.clt +36082 -0
- data/benchmarks/profile.html +58182 -0
- data/benchmarks/runbench.rb +6 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/scripts/wz_tooltip.js +0 -0
- data/doc/AppConfig.html +85 -37
- data/doc/Arguments.html +11 -1
- data/doc/CHANGELOG.html +131 -2
- data/doc/COPYING.html +11 -1
- data/doc/Object.html +12 -3
- data/doc/README.html +11 -1
- data/doc/RuntimeConfig.html +11 -1
- data/doc/String.html +11 -1
- data/doc/StringIO.html +11 -1
- data/doc/TaskJuggler.html +250 -219
- data/doc/TaskJuggler/Account.html +11 -1
- data/doc/TaskJuggler/AccountAttribute.html +11 -1
- data/doc/TaskJuggler/AccountScenario.html +11 -1
- data/doc/TaskJuggler/Allocation.html +11 -1
- data/doc/TaskJuggler/AllocationAttribute.html +11 -1
- data/doc/TaskJuggler/AttributeBase.html +11 -1
- data/doc/TaskJuggler/AttributeDefinition.html +11 -1
- data/doc/TaskJuggler/BatchProcessor.html +11 -1
- data/doc/TaskJuggler/Booking.html +11 -1
- data/doc/TaskJuggler/BookingListAttribute.html +11 -1
- data/doc/TaskJuggler/BooleanAttribute.html +11 -1
- data/doc/TaskJuggler/CSVFile.html +12 -2
- data/doc/TaskJuggler/CellSettingPattern.html +11 -1
- data/doc/TaskJuggler/CellSettingPatternList.html +11 -1
- data/doc/TaskJuggler/Charge.html +11 -1
- data/doc/TaskJuggler/ChargeListAttribute.html +11 -1
- data/doc/TaskJuggler/ChargeSet.html +11 -1
- data/doc/TaskJuggler/ChargeSetListAttribute.html +11 -1
- data/doc/TaskJuggler/CollisionDetector.html +1063 -0
- data/doc/TaskJuggler/ColumnListAttribute.html +11 -1
- data/doc/TaskJuggler/ColumnTable.html +11 -1
- data/doc/TaskJuggler/Daemon.html +11 -1
- data/doc/TaskJuggler/{OnShiftCache.html → DataCache.html} +127 -139
- data/doc/TaskJuggler/DataCacheEntry.html +711 -0
- data/doc/TaskJuggler/DateAttribute.html +11 -1
- data/doc/TaskJuggler/DefinitionListAttribute.html +11 -1
- data/doc/TaskJuggler/DependencyListAttribute.html +11 -1
- data/doc/TaskJuggler/DurationAttribute.html +16 -5
- data/doc/TaskJuggler/FileList.html +11 -1
- data/doc/TaskJuggler/FileRecord.html +11 -1
- data/doc/TaskJuggler/FixnumAttribute.html +19 -9
- data/doc/TaskJuggler/FlagListAttribute.html +29 -19
- data/doc/TaskJuggler/FloatAttribute.html +23 -13
- data/doc/TaskJuggler/FormatListAttribute.html +19 -9
- data/doc/TaskJuggler/GanttChart.html +94 -133
- data/doc/TaskJuggler/GanttContainer.html +11 -1
- data/doc/TaskJuggler/GanttHeader.html +11 -1
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +11 -1
- data/doc/TaskJuggler/GanttLine.html +11 -1
- data/doc/TaskJuggler/GanttLoadStack.html +11 -1
- data/doc/TaskJuggler/GanttMilestone.html +11 -1
- data/doc/TaskJuggler/GanttRouter.html +247 -596
- data/doc/TaskJuggler/GanttTaskBar.html +11 -1
- data/doc/TaskJuggler/HTMLDocument.html +11 -1
- data/doc/TaskJuggler/HTMLGraphics.html +11 -1
- data/doc/TaskJuggler/Interval.html +11 -1
- data/doc/TaskJuggler/IntervalListAttribute.html +33 -23
- data/doc/TaskJuggler/JobInfo.html +11 -1
- data/doc/TaskJuggler/Journal.html +11 -1
- data/doc/TaskJuggler/JournalEntry.html +11 -1
- data/doc/TaskJuggler/JournalEntryList.html +11 -1
- data/doc/TaskJuggler/KeywordArray.html +11 -1
- data/doc/TaskJuggler/KeywordDocumentation.html +16 -6
- data/doc/TaskJuggler/Limits.html +11 -1
- data/doc/TaskJuggler/Limits/Limit.html +11 -1
- data/doc/TaskJuggler/LimitsAttribute.html +24 -14
- data/doc/TaskJuggler/ListAttributeBase.html +11 -1
- data/doc/TaskJuggler/Log.html +11 -1
- data/doc/TaskJuggler/LogFile.html +11 -1
- data/doc/TaskJuggler/LogicalAttribute.html +11 -1
- data/doc/TaskJuggler/LogicalExpression.html +11 -1
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +19 -9
- data/doc/TaskJuggler/LogicalFlag.html +11 -1
- data/doc/TaskJuggler/LogicalFunction.html +11 -1
- data/doc/TaskJuggler/LogicalOperation.html +11 -1
- data/doc/TaskJuggler/Macro.html +11 -1
- data/doc/TaskJuggler/MacroTable.html +11 -1
- data/doc/TaskJuggler/ManagerResponsibilities.html +11 -1
- data/doc/TaskJuggler/ManagerStatusRecord.html +11 -1
- data/doc/TaskJuggler/Message.html +11 -1
- data/doc/TaskJuggler/MessageHandler.html +11 -1
- data/doc/TaskJuggler/Navigator.html +12 -2
- data/doc/TaskJuggler/NavigatorElement.html +11 -1
- data/doc/TaskJuggler/NikuProject.html +11 -1
- data/doc/TaskJuggler/NikuReport.html +11 -1
- data/doc/TaskJuggler/NikuResource.html +11 -1
- data/doc/TaskJuggler/NodeListAttribute.html +17 -7
- data/doc/TaskJuggler/PlaceHolderCell.html +722 -0
- data/doc/TaskJuggler/ProcessIntercom.html +11 -1
- data/doc/TaskJuggler/ProcessIntercomIface.html +11 -1
- data/doc/TaskJuggler/Project.html +587 -500
- data/doc/TaskJuggler/ProjectBroker.html +11 -1
- data/doc/TaskJuggler/ProjectBrokerIface.html +11 -1
- data/doc/TaskJuggler/ProjectFileParser.html +205 -192
- data/doc/TaskJuggler/ProjectFileScanner.html +230 -207
- data/doc/TaskJuggler/ProjectRecord.html +11 -1
- data/doc/TaskJuggler/ProjectServer.html +11 -1
- data/doc/TaskJuggler/ProjectServerIface.html +11 -1
- data/doc/TaskJuggler/PropertyAttribute.html +19 -9
- data/doc/TaskJuggler/PropertyList.html +95 -83
- data/doc/TaskJuggler/PropertySet.html +11 -1
- data/doc/TaskJuggler/PropertyTreeNode.html +11 -1
- data/doc/TaskJuggler/Query.html +234 -232
- data/doc/TaskJuggler/RTFHandlers.html +11 -1
- data/doc/TaskJuggler/RTFNavigator.html +11 -1
- data/doc/TaskJuggler/RTFQuery.html +11 -1
- data/doc/TaskJuggler/RTFReport.html +11 -1
- data/doc/TaskJuggler/RTFReportLink.html +11 -1
- data/doc/TaskJuggler/RTFWithQuerySupport.html +11 -1
- data/doc/TaskJuggler/RealFormat.html +12 -2
- data/doc/TaskJuggler/RealFormatAttribute.html +15 -5
- data/doc/TaskJuggler/ReferenceAttribute.html +38 -28
- data/doc/TaskJuggler/Report.html +96 -113
- data/doc/TaskJuggler/ReportBase.html +161 -152
- data/doc/TaskJuggler/ReportContext.html +11 -1
- data/doc/TaskJuggler/ReportServer.html +59 -48
- data/doc/TaskJuggler/ReportServerIface.html +51 -41
- data/doc/TaskJuggler/ReportServerRecord.html +11 -1
- data/doc/TaskJuggler/ReportServlet.html +11 -1
- data/doc/TaskJuggler/ReportTable.html +46 -25
- data/doc/TaskJuggler/ReportTableCell.html +296 -275
- data/doc/TaskJuggler/ReportTableColumn.html +14 -4
- data/doc/TaskJuggler/ReportTableLegend.html +11 -1
- data/doc/TaskJuggler/ReportTableLine.html +19 -7
- data/doc/TaskJuggler/Resource.html +12 -2
- data/doc/TaskJuggler/ResourceListAttribute.html +40 -30
- data/doc/TaskJuggler/ResourceListRE.html +11 -1
- data/doc/TaskJuggler/ResourceScenario.html +708 -565
- data/doc/TaskJuggler/RichText.html +54 -36
- data/doc/TaskJuggler/RichTextAttribute.html +31 -21
- data/doc/TaskJuggler/RichTextDocument.html +11 -1
- data/doc/TaskJuggler/RichTextElement.html +11 -1
- data/doc/TaskJuggler/RichTextFunctionExample.html +11 -1
- data/doc/TaskJuggler/RichTextFunctionHandler.html +11 -1
- data/doc/TaskJuggler/RichTextImage.html +11 -1
- data/doc/TaskJuggler/RichTextIntermediate.html +81 -71
- data/doc/TaskJuggler/RichTextParser.html +88 -33
- data/doc/TaskJuggler/RichTextScanner.html +45 -35
- data/doc/TaskJuggler/RichTextSnip.html +11 -1
- data/doc/TaskJuggler/RichTextSyntaxRules.html +436 -389
- data/doc/TaskJuggler/Scenario.html +11 -1
- data/doc/TaskJuggler/ScenarioData.html +11 -1
- data/doc/TaskJuggler/ScenarioListAttribute.html +23 -13
- data/doc/TaskJuggler/Scoreboard.html +92 -73
- data/doc/TaskJuggler/SheetHandlerBase.html +11 -1
- data/doc/TaskJuggler/SheetReceiver.html +11 -1
- data/doc/TaskJuggler/SheetSender.html +11 -1
- data/doc/TaskJuggler/Shift.html +11 -1
- data/doc/TaskJuggler/ShiftAssignment.html +11 -1
- data/doc/TaskJuggler/ShiftAssignments.html +11 -1
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +24 -14
- data/doc/TaskJuggler/ShiftScenario.html +11 -1
- data/doc/TaskJuggler/SimpleQueryExpander.html +11 -1
- data/doc/TaskJuggler/SortListAttribute.html +21 -11
- data/doc/TaskJuggler/SourceFileInfo.html +11 -1
- data/doc/TaskJuggler/StatusSheetReceiver.html +11 -1
- data/doc/TaskJuggler/StatusSheetReport.html +11 -1
- data/doc/TaskJuggler/StatusSheetSender.html +112 -11
- data/doc/TaskJuggler/StringAttribute.html +23 -13
- data/doc/TaskJuggler/SymbolAttribute.html +19 -9
- data/doc/TaskJuggler/SyntaxReference.html +80 -71
- data/doc/TaskJuggler/TOCEntry.html +11 -1
- data/doc/TaskJuggler/TSResourceRecord.html +11 -1
- data/doc/TaskJuggler/TSTaskRecord.html +11 -1
- data/doc/TaskJuggler/TableColumnDefinition.html +11 -1
- data/doc/TaskJuggler/TableOfContents.html +11 -1
- data/doc/TaskJuggler/TableReport.html +422 -411
- data/doc/TaskJuggler/Task.html +11 -1
- data/doc/TaskJuggler/TaskDependency.html +11 -1
- data/doc/TaskJuggler/TaskListAttribute.html +33 -23
- data/doc/TaskJuggler/TaskListRE.html +11 -1
- data/doc/TaskJuggler/TaskScenario.html +2007 -1919
- data/doc/TaskJuggler/TextFormatter.html +11 -1
- data/doc/TaskJuggler/TextParser.html +421 -612
- data/doc/TaskJuggler/TextParser/Pattern.html +410 -211
- data/doc/TaskJuggler/TextParser/Rule.html +224 -152
- data/doc/TaskJuggler/TextParser/StackElement.html +190 -28
- data/doc/TaskJuggler/TextParser/State.html +989 -0
- data/doc/TaskJuggler/TextParser/StateTransition.html +782 -0
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +25 -14
- data/doc/TaskJuggler/TextParser/TokenDoc.html +11 -1
- data/doc/TaskJuggler/TextReport.html +11 -1
- data/doc/TaskJuggler/TextScanner.html +285 -273
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +17 -7
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +24 -14
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +11 -1
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +64 -52
- data/doc/TaskJuggler/TimeSheet.html +11 -1
- data/doc/TaskJuggler/TimeSheetReceiver.html +11 -1
- data/doc/TaskJuggler/TimeSheetRecord.html +11 -1
- data/doc/TaskJuggler/TimeSheetReport.html +11 -1
- data/doc/TaskJuggler/TimeSheetSender.html +11 -1
- data/doc/TaskJuggler/TimeSheetSummary.html +11 -1
- data/doc/TaskJuggler/TimeSheets.html +11 -1
- data/doc/TaskJuggler/Tj3AppBase.html +11 -1
- data/doc/TaskJuggler/Tj3Client.html +11 -1
- data/doc/TaskJuggler/Tj3Daemon.html +11 -1
- data/doc/TaskJuggler/Tj3SheetAppBase.html +11 -1
- data/doc/TaskJuggler/Tj3SsReceiver.html +11 -1
- data/doc/TaskJuggler/Tj3SsSender.html +11 -1
- data/doc/TaskJuggler/Tj3TsReceiver.html +11 -1
- data/doc/TaskJuggler/Tj3TsSender.html +11 -1
- data/doc/TaskJuggler/Tj3TsSummary.html +11 -1
- data/doc/TaskJuggler/TjException.html +11 -1
- data/doc/TaskJuggler/TjTime.html +474 -324
- data/doc/TaskJuggler/TjpExample.html +11 -1
- data/doc/TaskJuggler/TjpExportRE.html +11 -1
- data/doc/TaskJuggler/TjpSyntaxRules.html +3731 -3662
- data/doc/TaskJuggler/URLParameter.html +11 -1
- data/doc/TaskJuggler/UserManual.html +11 -1
- data/doc/TaskJuggler/VimSyntax.html +11 -1
- data/doc/TaskJuggler/WebServer.html +11 -1
- data/doc/TaskJuggler/WorkingHours.html +295 -221
- data/doc/TaskJuggler/WorkingHoursAttribute.html +11 -1
- data/doc/TaskJuggler/XMLBlob.html +11 -1
- data/doc/TaskJuggler/XMLComment.html +11 -1
- data/doc/TaskJuggler/XMLDocument.html +11 -1
- data/doc/TaskJuggler/XMLElement.html +11 -1
- data/doc/TaskJuggler/XMLNamedText.html +11 -1
- data/doc/TaskJuggler/XMLText.html +11 -1
- data/doc/index.html +694 -624
- data/doc/lib/AppConfig_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +1 -1
- data/doc/lib/Booking_rb.html +1 -1
- data/doc/lib/DataCache_rb.html +69 -0
- data/doc/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/ProjectFileParser_rb.html +1 -1
- data/doc/lib/ProjectFileScanner_rb.html +1 -1
- data/doc/lib/Project_rb.html +1 -1
- data/doc/lib/PropertyList_rb.html +1 -1
- data/doc/lib/Query_rb.html +1 -1
- data/doc/lib/RealFormat_rb.html +1 -1
- data/doc/lib/ResourceScenario_rb.html +1 -1
- data/doc/lib/Resource_rb.html +1 -1
- data/doc/lib/RichTextParser_rb.html +1 -1
- data/doc/lib/RichTextScanner_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
- data/doc/lib/RichText_rb.html +1 -1
- data/doc/lib/Scoreboard_rb.html +1 -1
- data/doc/lib/StatusSheetSender_rb.html +1 -1
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +1 -1
- data/doc/lib/TaskScenario_rb.html +3 -1
- data/doc/lib/TextParser/Pattern_rb.html +3 -1
- data/doc/lib/TextParser/Rule_rb.html +3 -1
- data/doc/lib/TextParser/StackElement_rb.html +3 -1
- data/doc/lib/TextParser/State_rb.html +65 -0
- data/doc/lib/TextParser_rb.html +1 -1
- data/doc/lib/TextScanner_rb.html +1 -1
- data/doc/lib/Tj3Config_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +1 -1
- data/doc/lib/WorkingHours_rb.html +3 -1
- data/doc/lib/daemon/ReportServer_rb.html +1 -1
- data/doc/lib/reports/CSVFile_rb.html +1 -1
- data/doc/lib/reports/CollisionDetector_rb.html +67 -0
- data/doc/lib/reports/GanttChart_rb.html +1 -1
- data/doc/lib/reports/GanttRouter_rb.html +3 -1
- data/doc/lib/reports/Navigator_rb.html +1 -1
- data/doc/lib/reports/ReportBase_rb.html +1 -1
- data/doc/lib/reports/ReportTableCell_rb.html +1 -1
- data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/reports/ReportTable_rb.html +1 -1
- data/doc/lib/reports/Report_rb.html +1 -1
- data/doc/lib/reports/TableReport_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +1 -1
- data/examples/tutorial.tjp +1 -2
- data/lib/AppConfig.rb +10 -4
- data/lib/Attributes.rb +4 -4
- data/lib/DataCache.rb +124 -0
- data/lib/KeywordDocumentation.rb +5 -5
- data/lib/Project.rb +54 -10
- data/lib/ProjectFileParser.rb +10 -9
- data/lib/ProjectFileScanner.rb +38 -25
- data/lib/PropertyList.rb +6 -4
- data/lib/Query.rb +0 -8
- data/lib/RealFormat.rb +1 -1
- data/lib/Resource.rb +1 -1
- data/lib/ResourceScenario.rb +96 -31
- data/lib/RichText.rb +17 -5
- data/lib/RichTextParser.rb +22 -9
- data/lib/RichTextScanner.rb +34 -34
- data/lib/RichTextSyntaxRules.rb +41 -36
- data/lib/Scoreboard.rb +16 -7
- data/lib/StatusSheetSender.rb +63 -0
- data/lib/SyntaxReference.rb +9 -10
- data/lib/TaskJuggler.rb +28 -4
- data/lib/TaskScenario.rb +66 -19
- data/lib/TextParser.rb +219 -384
- data/lib/TextParser/Pattern.rb +168 -49
- data/lib/TextParser/Rule.rb +33 -17
- data/lib/TextParser/StackElement.rb +42 -2
- data/lib/TextParser/State.rb +175 -0
- data/lib/TextScanner.rb +19 -15
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +111 -3
- data/lib/TjpSyntaxRules.rb +122 -66
- data/lib/WorkingHours.rb +91 -186
- data/lib/daemon/ReportServer.rb +3 -2
- data/lib/reports/CSVFile.rb +1 -1
- data/lib/reports/CollisionDetector.rb +177 -0
- data/lib/reports/GanttChart.rb +25 -41
- data/lib/reports/GanttRouter.rb +104 -233
- data/lib/reports/Navigator.rb +1 -1
- data/lib/reports/Report.rb +9 -33
- data/lib/reports/ReportBase.rb +0 -1
- data/lib/reports/ReportTable.rb +19 -8
- data/lib/reports/ReportTableCell.rb +61 -25
- data/lib/reports/ReportTableColumn.rb +2 -2
- data/lib/reports/ReportTableLine.rb +4 -2
- data/lib/reports/TableReport.rb +1 -0
- data/lib/taskjuggler3.rb +0 -1
- data/manual/Installation +7 -3
- data/manual/Intro +12 -10
- data/manual/The_TaskJuggler_Syntax +4 -4
- data/test/TestSuite/CSV-Reports/celltext-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/genrefs +1 -1
- data/test/TestSuite/CSV-Reports/resourcereport-Reference.csv +4 -4
- data/test/TestSuite/CSV-Reports/resourcereport_with_tasks-Reference.csv +22 -22
- data/test/TestSuite/CSV-Reports/sortByTree-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/sortBy_duration.down-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/sortBy_effort.up-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/sortBy_plan.start.down-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/taskreport-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/taskreport_with_resources-Reference.csv +32 -24
- data/test/TestSuite/CSV-Reports/weekly-Reference.csv +13 -0
- data/test/TestSuite/CSV-Reports/weekly.tjp +9 -0
- data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -2
- data/test/TestSuite/HTML-Reports/depArrows.html +839 -830
- data/test/TestSuite/HTML-Reports/depArrows.tjp +12 -12
- data/test/TestSuite/HTML-Reports/profile.html +37581 -0
- data/test/TestSuite/ReportGenerator/Errors/no_report_defined.tjp +7 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +1 -1
- data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/missing-reports +2 -0
- data/test/TestSuite/StatusSheets/run +2 -0
- data/test/TestSuite/Syntax/Correct/Booking.tjp +13 -5
- data/test/TestSuite/Syntax/Correct/ResourceRoot.tjp +21 -0
- data/test/TestSuite/Syntax/Correct/RollupResource.tjp +21 -0
- data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/include_before_project.tjp +2 -0
- data/test/TestSuite/Syntax/Errors/no_reduce.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
- data/test/TestSuite/TimeSheets/run +1 -1
- data/test/test_CSV-Reports.rb +2 -4
- data/test/test_CollisionDetector.rb +85 -0
- data/test/test_Project.rb +2 -2
- data/test/test_ProjectFileScanner.rb +73 -31
- data/test/test_Query.rb +2 -2
- data/test/test_ReportGenerator.rb +1 -1
- data/test/test_RichText.rb +4 -4
- data/test/test_WorkingHours.rb +150 -11
- metadata +75 -67
- data/test/TestSuite/ReportGenerator/Errors/css/tjreport.css +0 -407
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +0 -26
- data/test/TestSuite/Scheduler/Correct/Allocate.html +0 -3210
- data/test/TestSuite/Scheduler/Correct/Container.html +0 -349
- data/test/TestSuite/Scheduler/Correct/Limits.html +0 -4964
- data/test/TestSuite/Scheduler/Correct/Shift.html +0 -1719
- data/test/TestSuite/Scheduler/Correct/Shift2.html +0 -476
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -66
- data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +0 -66
- data/test/TestSuite/Scheduler/Errors/css/tjreport.css +0 -407
- data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/StatusSheets/resrep.tji +0 -7
- data/test/TestSuite/StatusSheets/tj3d.log +0 -312
- data/test/TestSuite/Syntax/Correct/Managers.html +0 -263
- data/test/TestSuite/TimeSheets/acceptable_intervals +0 -1
- data/test/TestSuite/TimeSheets/statussheets.log +0 -1
|
@@ -151,12 +151,18 @@
|
|
|
151
151
|
|
|
152
152
|
<li><a href="../../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
153
153
|
|
|
154
|
+
<li><a href="../../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
155
|
+
|
|
154
156
|
<li><a href="../../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
155
157
|
|
|
156
158
|
<li><a href="../../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
157
159
|
|
|
158
160
|
<li><a href="../../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
159
161
|
|
|
162
|
+
<li><a href="../../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
163
|
+
|
|
164
|
+
<li><a href="../../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
165
|
+
|
|
160
166
|
<li><a href="../../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
161
167
|
|
|
162
168
|
<li><a href="../../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -263,7 +269,7 @@
|
|
|
263
269
|
|
|
264
270
|
<li><a href="../../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
265
271
|
|
|
266
|
-
<li><a href="../../TaskJuggler/
|
|
272
|
+
<li><a href="../../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
267
273
|
|
|
268
274
|
<li><a href="../../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
269
275
|
|
|
@@ -443,6 +449,10 @@
|
|
|
443
449
|
|
|
444
450
|
<li><a href="../../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
445
451
|
|
|
452
|
+
<li><a href="../../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
453
|
+
|
|
454
|
+
<li><a href="../../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
455
|
+
|
|
446
456
|
<li><a href="../../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
447
457
|
|
|
448
458
|
<li><a href="../../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -551,7 +561,8 @@
|
|
|
551
561
|
<div id="description">
|
|
552
562
|
<p>
|
|
553
563
|
Utility class so that we can distinguish Array results from the Array
|
|
554
|
-
containing the results of a repeatable rule.
|
|
564
|
+
containing the results of a repeatable rule. We define some merging method
|
|
565
|
+
with a slightly different behaviour.
|
|
555
566
|
</p>
|
|
556
567
|
|
|
557
568
|
</div>
|
|
@@ -588,10 +599,10 @@ containing the results of a repeatable rule.
|
|
|
588
599
|
<div class="method-source-code"
|
|
589
600
|
id="new-source">
|
|
590
601
|
<pre>
|
|
591
|
-
<span class="ruby-comment cmt"># File lib/TextParser.rb, line
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
602
|
+
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 57</span>
|
|
603
|
+
57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
|
604
|
+
58: <span class="ruby-keyword kw">super</span>
|
|
605
|
+
59: <span class="ruby-keyword kw">end</span></pre>
|
|
595
606
|
</div>
|
|
596
607
|
|
|
597
608
|
</div>
|
|
@@ -633,14 +644,14 @@ Array.
|
|
|
633
644
|
<div class="method-source-code"
|
|
634
645
|
id="--source">
|
|
635
646
|
<pre>
|
|
636
|
-
<span class="ruby-comment cmt"># File lib/TextParser.rb, line
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
647
|
+
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 65</span>
|
|
648
|
+
65: <span class="ruby-keyword kw">def</span> <span class="ruby-operator"><<</span>(<span class="ruby-identifier">arg</span>)
|
|
649
|
+
66: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TextParserResultArray</span>)
|
|
650
|
+
67: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">arg</span>)
|
|
651
|
+
68: <span class="ruby-keyword kw">else</span>
|
|
652
|
+
69: <span class="ruby-keyword kw">super</span>
|
|
653
|
+
70: <span class="ruby-keyword kw">end</span>
|
|
654
|
+
71: <span class="ruby-keyword kw">end</span></pre>
|
|
644
655
|
</div>
|
|
645
656
|
|
|
646
657
|
</div>
|
|
@@ -149,12 +149,18 @@
|
|
|
149
149
|
|
|
150
150
|
<li><a href="../../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
151
151
|
|
|
152
|
+
<li><a href="../../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
153
|
+
|
|
152
154
|
<li><a href="../../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
153
155
|
|
|
154
156
|
<li><a href="../../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
155
157
|
|
|
156
158
|
<li><a href="../../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
157
159
|
|
|
160
|
+
<li><a href="../../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
161
|
+
|
|
162
|
+
<li><a href="../../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
163
|
+
|
|
158
164
|
<li><a href="../../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
159
165
|
|
|
160
166
|
<li><a href="../../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -261,7 +267,7 @@
|
|
|
261
267
|
|
|
262
268
|
<li><a href="../../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
263
269
|
|
|
264
|
-
<li><a href="../../TaskJuggler/
|
|
270
|
+
<li><a href="../../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
265
271
|
|
|
266
272
|
<li><a href="../../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
267
273
|
|
|
@@ -441,6 +447,10 @@
|
|
|
441
447
|
|
|
442
448
|
<li><a href="../../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
443
449
|
|
|
450
|
+
<li><a href="../../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
451
|
+
|
|
452
|
+
<li><a href="../../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
453
|
+
|
|
444
454
|
<li><a href="../../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
445
455
|
|
|
446
456
|
<li><a href="../../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -155,12 +155,18 @@
|
|
|
155
155
|
|
|
156
156
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
157
157
|
|
|
158
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
159
|
+
|
|
158
160
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
159
161
|
|
|
160
162
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
161
163
|
|
|
162
164
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
163
165
|
|
|
166
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
167
|
+
|
|
168
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
169
|
+
|
|
164
170
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
165
171
|
|
|
166
172
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -267,7 +273,7 @@
|
|
|
267
273
|
|
|
268
274
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
269
275
|
|
|
270
|
-
<li><a href="../TaskJuggler/
|
|
276
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
271
277
|
|
|
272
278
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
273
279
|
|
|
@@ -447,6 +453,10 @@
|
|
|
447
453
|
|
|
448
454
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
449
455
|
|
|
456
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
457
|
+
|
|
458
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
459
|
+
|
|
450
460
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
451
461
|
|
|
452
462
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -194,12 +194,18 @@
|
|
|
194
194
|
|
|
195
195
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
196
196
|
|
|
197
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
198
|
+
|
|
197
199
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
198
200
|
|
|
199
201
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
200
202
|
|
|
201
203
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
202
204
|
|
|
205
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
206
|
+
|
|
207
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
208
|
+
|
|
203
209
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
204
210
|
|
|
205
211
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -306,7 +312,7 @@
|
|
|
306
312
|
|
|
307
313
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
308
314
|
|
|
309
|
-
<li><a href="../TaskJuggler/
|
|
315
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
310
316
|
|
|
311
317
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
312
318
|
|
|
@@ -486,6 +492,10 @@
|
|
|
486
492
|
|
|
487
493
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
488
494
|
|
|
495
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
496
|
+
|
|
497
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
498
|
+
|
|
489
499
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
490
500
|
|
|
491
501
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -643,46 +653,46 @@ messages.
|
|
|
643
653
|
<div class="method-source-code"
|
|
644
654
|
id="new-source">
|
|
645
655
|
<pre>
|
|
646
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
656
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 188</span>
|
|
657
|
+
188: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">masterFile</span>, <span class="ruby-identifier">messageHandler</span>, <span class="ruby-identifier">tokenPatterns</span>, <span class="ruby-identifier">defaultMode</span>)
|
|
658
|
+
189: <span class="ruby-ivar">@masterFile</span> = <span class="ruby-identifier">masterFile</span>
|
|
659
|
+
190: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-identifier">messageHandler</span>
|
|
660
|
+
191: <span class="ruby-comment cmt"># This table contains all macros that may be expanded when found in the</span>
|
|
661
|
+
192: <span class="ruby-comment cmt"># text.</span>
|
|
662
|
+
193: <span class="ruby-ivar">@macroTable</span> = <span class="ruby-constant">MacroTable</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">messageHandler</span>)
|
|
663
|
+
194: <span class="ruby-comment cmt"># The currently processed IO object.</span>
|
|
664
|
+
195: <span class="ruby-ivar">@cf</span> = <span class="ruby-keyword kw">nil</span>
|
|
665
|
+
196: <span class="ruby-comment cmt"># This Array stores the currently processed nested files. It's an Array</span>
|
|
666
|
+
197: <span class="ruby-comment cmt"># of Arrays. The nested Array consists of 2 elements, the IO object and</span>
|
|
667
|
+
198: <span class="ruby-comment cmt"># the @tokenBuffer.</span>
|
|
668
|
+
199: <span class="ruby-ivar">@fileStack</span> = []
|
|
669
|
+
200: <span class="ruby-comment cmt"># This flag is set if we have reached the end of a file. Since we will</span>
|
|
670
|
+
201: <span class="ruby-comment cmt"># only know when the next new token is requested that the file is really</span>
|
|
671
|
+
202: <span class="ruby-comment cmt"># done now, we have to use this flag.</span>
|
|
672
|
+
203: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">false</span>
|
|
673
|
+
204: <span class="ruby-comment cmt"># True if the scanner operates on a buffer.</span>
|
|
674
|
+
205: <span class="ruby-ivar">@fileNameIsBuffer</span> = <span class="ruby-keyword kw">false</span>
|
|
675
|
+
206: <span class="ruby-comment cmt"># A SourceFileInfo of the start of the currently processed token.</span>
|
|
676
|
+
207: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-keyword kw">nil</span>
|
|
677
|
+
208: <span class="ruby-comment cmt"># Line number correction for error messages.</span>
|
|
678
|
+
209: <span class="ruby-ivar">@lineDelta</span> = <span class="ruby-value">0</span>
|
|
679
|
+
210: <span class="ruby-comment cmt"># Lists of regexps that describe the detectable tokens. The Arrays are</span>
|
|
680
|
+
211: <span class="ruby-comment cmt"># grouped by mode.</span>
|
|
681
|
+
212: <span class="ruby-ivar">@patternsByMode</span> = { }
|
|
682
|
+
213: <span class="ruby-comment cmt"># The currently active scanner mode.</span>
|
|
683
|
+
214: <span class="ruby-ivar">@scannerMode</span> = <span class="ruby-keyword kw">nil</span>
|
|
684
|
+
215: <span class="ruby-comment cmt"># Points to the currently active pattern set as defined by the mode.</span>
|
|
685
|
+
216: <span class="ruby-ivar">@activePatterns</span> = <span class="ruby-keyword kw">nil</span>
|
|
686
|
+
217:
|
|
687
|
+
218: <span class="ruby-identifier">tokenPatterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pat</span><span class="ruby-operator">|</span>
|
|
688
|
+
219: <span class="ruby-identifier">type</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">0</span>]
|
|
689
|
+
220: <span class="ruby-identifier">regExp</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">1</span>]
|
|
690
|
+
221: <span class="ruby-identifier">mode</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">||</span> <span class="ruby-value">:tjp</span>
|
|
691
|
+
222: <span class="ruby-identifier">postProc</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">3</span>]
|
|
692
|
+
223: <span class="ruby-identifier">addPattern</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">regExp</span>, <span class="ruby-identifier">mode</span>, <span class="ruby-identifier">postProc</span>)
|
|
693
|
+
224: <span class="ruby-keyword kw">end</span>
|
|
694
|
+
225: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-identifier">defaultMode</span>
|
|
695
|
+
226: <span class="ruby-keyword kw">end</span></pre>
|
|
686
696
|
</div>
|
|
687
697
|
|
|
688
698
|
</div>
|
|
@@ -721,10 +731,10 @@ Add a <a href="Macro.html">Macro</a> to the macro translation table.
|
|
|
721
731
|
<div class="method-source-code"
|
|
722
732
|
id="add-acro-source">
|
|
723
733
|
<pre>
|
|
724
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
734
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 440</span>
|
|
735
|
+
440: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addMacro</span>(<span class="ruby-identifier">macro</span>)
|
|
736
|
+
441: <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">add</span>(<span class="ruby-identifier">macro</span>)
|
|
737
|
+
442: <span class="ruby-keyword kw">end</span></pre>
|
|
728
738
|
</div>
|
|
729
739
|
|
|
730
740
|
</div>
|
|
@@ -765,20 +775,20 @@ href="../String.html">String</a> and returns them again in an Array.
|
|
|
765
775
|
<div class="method-source-code"
|
|
766
776
|
id="add-attern-source">
|
|
767
777
|
<pre>
|
|
768
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
778
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 236</span>
|
|
779
|
+
236: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addPattern</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">regExp</span>, <span class="ruby-identifier">mode</span>, <span class="ruby-identifier">postProc</span> = <span class="ruby-keyword kw">nil</span>)
|
|
780
|
+
237: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">mode</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
|
|
781
|
+
238: <span class="ruby-identifier">mode</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span>
|
|
782
|
+
239: <span class="ruby-comment cmt"># The pattern is active in multiple modes</span>
|
|
783
|
+
240: <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">m</span>] = [] <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@patternsByMode</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">m</span>)
|
|
784
|
+
241: <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">m</span>] <span class="ruby-operator"><<</span> [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">regExp</span>, <span class="ruby-identifier">postProc</span> ]
|
|
785
|
+
242: <span class="ruby-keyword kw">end</span>
|
|
786
|
+
243: <span class="ruby-keyword kw">else</span>
|
|
787
|
+
244: <span class="ruby-comment cmt"># The pattern is only active in one specific mode.</span>
|
|
788
|
+
245: <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">mode</span>] = [] <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@patternsByMode</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">mode</span>)
|
|
789
|
+
246: <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">mode</span>] <span class="ruby-operator"><<</span> [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">regExp</span>, <span class="ruby-identifier">postProc</span> ]
|
|
790
|
+
247: <span class="ruby-keyword kw">end</span>
|
|
791
|
+
248: <span class="ruby-keyword kw">end</span></pre>
|
|
782
792
|
</div>
|
|
783
793
|
|
|
784
794
|
</div>
|
|
@@ -811,15 +821,15 @@ Finish processing and reset all data structures.
|
|
|
811
821
|
<div class="method-source-code"
|
|
812
822
|
id="close-source">
|
|
813
823
|
<pre>
|
|
814
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
824
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 278</span>
|
|
825
|
+
278: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
|
|
826
|
+
279: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@fileNameIsBuffer</span>
|
|
827
|
+
280: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">"Reading file #{@masterFile}"</span>)
|
|
828
|
+
281: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
829
|
+
282: <span class="ruby-keyword kw">end</span>
|
|
830
|
+
283: <span class="ruby-ivar">@fileStack</span> = []
|
|
831
|
+
284: <span class="ruby-ivar">@cf</span> = <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
|
832
|
+
285: <span class="ruby-keyword kw">end</span></pre>
|
|
823
833
|
</div>
|
|
824
834
|
|
|
825
835
|
</div>
|
|
@@ -852,10 +862,10 @@ Call this function to report any errors related to the parsed input.
|
|
|
852
862
|
<div class="method-source-code"
|
|
853
863
|
id="error-source">
|
|
854
864
|
<pre>
|
|
855
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
865
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 469</span>
|
|
866
|
+
469: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">data</span> = <span class="ruby-keyword kw">nil</span>)
|
|
867
|
+
470: <span class="ruby-identifier">message</span>(<span class="ruby-value">:error</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span>, <span class="ruby-identifier">data</span>)
|
|
868
|
+
471: <span class="ruby-keyword kw">end</span></pre>
|
|
859
869
|
</div>
|
|
860
870
|
|
|
861
871
|
</div>
|
|
@@ -891,21 +901,21 @@ is the macro name, the rest are the parameters.
|
|
|
891
901
|
<div class="method-source-code"
|
|
892
902
|
id="expand-acro-source">
|
|
893
903
|
<pre>
|
|
894
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
904
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 453</span>
|
|
905
|
+
453: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expandMacro</span>(<span class="ruby-identifier">prefix</span>, <span class="ruby-identifier">args</span>)
|
|
906
|
+
454: <span class="ruby-comment cmt"># Get the expanded macro from the @macroTable.</span>
|
|
907
|
+
455: <span class="ruby-identifier">macro</span>, <span class="ruby-identifier">text</span> = <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">args</span>, <span class="ruby-identifier">sourceFileInfo</span>)
|
|
908
|
+
456: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">macro</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">text</span>
|
|
909
|
+
457: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'undefined_macro'</span>, <span class="ruby-node">"Undefined macro '#{args[0]}' called"</span>)
|
|
910
|
+
458: <span class="ruby-keyword kw">end</span>
|
|
911
|
+
459:
|
|
912
|
+
460: <span class="ruby-comment cmt"># If the expanded macro is empty, we can ignore it.</span>
|
|
913
|
+
461: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">==</span> <span class="ruby-value str">''</span>
|
|
914
|
+
462:
|
|
915
|
+
463: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">injectMacro</span>(<span class="ruby-identifier">macro</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">prefix</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">text</span>)
|
|
916
|
+
464: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'macro_stack_overflow'</span>, <span class="ruby-value str">"Too many nested macro calls."</span>)
|
|
917
|
+
465: <span class="ruby-keyword kw">end</span>
|
|
918
|
+
466: <span class="ruby-keyword kw">end</span></pre>
|
|
909
919
|
</div>
|
|
910
920
|
|
|
911
921
|
</div>
|
|
@@ -939,10 +949,10 @@ text buffer, the text will be returned.
|
|
|
939
949
|
<div class="method-source-code"
|
|
940
950
|
id="file-ame-source">
|
|
941
951
|
<pre>
|
|
942
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
952
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 334</span>
|
|
953
|
+
334: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fileName</span>
|
|
954
|
+
335: <span class="ruby-ivar">@cf</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">fileName</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@masterFile</span>
|
|
955
|
+
336: <span class="ruby-keyword kw">end</span></pre>
|
|
946
956
|
</div>
|
|
947
957
|
|
|
948
958
|
</div>
|
|
@@ -978,41 +988,41 @@ qualified name of the included file.
|
|
|
978
988
|
<div class="method-source-code"
|
|
979
989
|
id="include-source">
|
|
980
990
|
<pre>
|
|
981
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
991
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 291</span>
|
|
992
|
+
291: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">include</span>(<span class="ruby-identifier">includeFileName</span>, <span class="ruby-identifier">sfi</span>)
|
|
993
|
+
292: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">includeFileName</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'/'</span>
|
|
994
|
+
293: <span class="ruby-identifier">pathOfCallingFile</span> = <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">dirname</span>
|
|
995
|
+
294: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">pathOfCallingFile</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">pathOfCallingFile</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
|
|
996
|
+
295: <span class="ruby-comment cmt"># If the included file is not an absolute name, we interpret the file</span>
|
|
997
|
+
296: <span class="ruby-comment cmt"># name relative to the including file.</span>
|
|
998
|
+
297: <span class="ruby-identifier">includeFileName</span> = <span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">includeFileName</span>
|
|
999
|
+
298: <span class="ruby-keyword kw">end</span>
|
|
1000
|
+
299:
|
|
1001
|
+
300: <span class="ruby-comment cmt"># Try to dectect recursive inclusions. This will not work if files are</span>
|
|
1002
|
+
301: <span class="ruby-comment cmt"># accessed via filesystem links.</span>
|
|
1003
|
+
302: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
|
|
1004
|
+
303: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">includeFileName</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">fileName</span>
|
|
1005
|
+
304: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'include_recursion'</span>,
|
|
1006
|
+
305: <span class="ruby-node">"Recursive inclusion of #{includeFileName} detected"</span>, <span class="ruby-identifier">sfi</span>)
|
|
1007
|
+
306: <span class="ruby-keyword kw">end</span>
|
|
1008
|
+
307: <span class="ruby-keyword kw">end</span>
|
|
1009
|
+
308:
|
|
1010
|
+
309: <span class="ruby-comment cmt"># Save @tokenBuffer in the record of the parent file.</span>
|
|
1011
|
+
310: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>[<span class="ruby-value">1</span>] = <span class="ruby-ivar">@tokenBuffer</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">empty?</span>
|
|
1012
|
+
311: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
|
1013
|
+
312: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">false</span>
|
|
1014
|
+
313:
|
|
1015
|
+
314: <span class="ruby-comment cmt"># Open the new file and push the handle on the @fileStack.</span>
|
|
1016
|
+
315: <span class="ruby-keyword kw">begin</span>
|
|
1017
|
+
316: <span class="ruby-ivar">@fileStack</span> <span class="ruby-operator"><<</span> [ (<span class="ruby-ivar">@cf</span> = <span class="ruby-constant">FileStreamHandle</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">includeFileName</span>)), <span class="ruby-keyword kw">nil</span>, ]
|
|
1018
|
+
317: <span class="ruby-constant">Log</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"Parsing file #{includeFileName}"</span>
|
|
1019
|
+
318: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
|
|
1020
|
+
319: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'bad_include'</span>, <span class="ruby-node">"Cannot open include file #{includeFileName}"</span>, <span class="ruby-identifier">sfi</span>)
|
|
1021
|
+
320: <span class="ruby-keyword kw">end</span>
|
|
1022
|
+
321:
|
|
1023
|
+
322: <span class="ruby-comment cmt"># Return the name of the included file.</span>
|
|
1024
|
+
323: <span class="ruby-identifier">includeFileName</span>
|
|
1025
|
+
324: <span class="ruby-keyword kw">end</span></pre>
|
|
1016
1026
|
</div>
|
|
1017
1027
|
|
|
1018
1028
|
</div>
|
|
@@ -1046,10 +1056,10 @@ added already.
|
|
|
1046
1056
|
<div class="method-source-code"
|
|
1047
1057
|
id="macro-efined--source">
|
|
1048
1058
|
<pre>
|
|
1049
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1059
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 445</span>
|
|
1060
|
+
445: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">macroDefined?</span>(<span class="ruby-identifier">name</span>)
|
|
1061
|
+
446: <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
|
|
1062
|
+
447: <span class="ruby-keyword kw">end</span></pre>
|
|
1053
1063
|
</div>
|
|
1054
1064
|
|
|
1055
1065
|
</div>
|
|
@@ -1074,8 +1084,8 @@ added already.
|
|
|
1074
1084
|
<div class="method-description">
|
|
1075
1085
|
|
|
1076
1086
|
<p>
|
|
1077
|
-
Switch the parser to another mode. The scanner will then only detect
|
|
1078
|
-
|
|
1087
|
+
Switch the parser to another mode. The scanner will then only detect
|
|
1088
|
+
patterns of that <em>newMode</em>.
|
|
1079
1089
|
</p>
|
|
1080
1090
|
|
|
1081
1091
|
|
|
@@ -1083,13 +1093,13 @@ pattens of that <em>newMode</em>.
|
|
|
1083
1093
|
<div class="method-source-code"
|
|
1084
1094
|
id="mode--source">
|
|
1085
1095
|
<pre>
|
|
1086
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1096
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 252</span>
|
|
1097
|
+
252: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mode=</span>(<span class="ruby-identifier">newMode</span>)
|
|
1098
|
+
253: <span class="ruby-comment cmt">#puts "**** New mode: #{newMode}"</span>
|
|
1099
|
+
254: <span class="ruby-ivar">@activePatterns</span> = <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">newMode</span>]
|
|
1100
|
+
255: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Undefined mode #{newMode}"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@activePatterns</span>
|
|
1101
|
+
256: <span class="ruby-ivar">@scannerMode</span> = <span class="ruby-identifier">newMode</span>
|
|
1102
|
+
257: <span class="ruby-keyword kw">end</span></pre>
|
|
1093
1103
|
</div>
|
|
1094
1104
|
|
|
1095
1105
|
</div>
|
|
@@ -1125,79 +1135,81 @@ started.
|
|
|
1125
1135
|
<div class="method-source-code"
|
|
1126
1136
|
id="next-oken-source">
|
|
1127
1137
|
<pre>
|
|
1128
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
399: <span class="ruby-comment cmt"># the type or the found token String.</span>
|
|
1178
|
-
400: <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span> = <span class="ruby-identifier">postProc</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">postProc</span>
|
|
1138
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 353</span>
|
|
1139
|
+
353: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
|
|
1140
|
+
354: <span class="ruby-comment cmt"># If we have a pushed-back token, return that first.</span>
|
|
1141
|
+
355: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
|
|
1142
|
+
356: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@tokenBuffer</span>
|
|
1143
|
+
357: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
|
1144
|
+
358: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
|
|
1145
|
+
359: <span class="ruby-keyword kw">end</span>
|
|
1146
|
+
360:
|
|
1147
|
+
361: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@finishLastFile</span>
|
|
1148
|
+
362: <span class="ruby-comment cmt"># The previously processed file has now really been processed to</span>
|
|
1149
|
+
363: <span class="ruby-comment cmt"># completion. Close it and remove the corresponding entry from the</span>
|
|
1150
|
+
364: <span class="ruby-comment cmt"># @fileStack.</span>
|
|
1151
|
+
365: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">false</span>
|
|
1152
|
+
366: <span class="ruby-comment cmt">#Log << "Completed file #{@cf.fileName}"</span>
|
|
1153
|
+
367: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cf</span>
|
|
1154
|
+
368: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">pop</span>
|
|
1155
|
+
369:
|
|
1156
|
+
370: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">empty?</span>
|
|
1157
|
+
371: <span class="ruby-comment cmt"># We are done with the top-level file now.</span>
|
|
1158
|
+
372: <span class="ruby-ivar">@cf</span> = <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
|
1159
|
+
373: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">true</span>
|
|
1160
|
+
374: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value">:endOfText</span>, <span class="ruby-value str">'<EOT>'</span>, <span class="ruby-ivar">@startOfToken</span> ]
|
|
1161
|
+
375: <span class="ruby-keyword kw">else</span>
|
|
1162
|
+
376: <span class="ruby-comment cmt"># Continue parsing the file that included the current file.</span>
|
|
1163
|
+
377: <span class="ruby-ivar">@cf</span>, <span class="ruby-identifier">tokenBuffer</span> = <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>
|
|
1164
|
+
378: <span class="ruby-constant">Log</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"Parsing file #{@cf.fileName} ..."</span>
|
|
1165
|
+
379: <span class="ruby-comment cmt"># If we have a left over token from previously processing this file,</span>
|
|
1166
|
+
380: <span class="ruby-comment cmt"># return it now.</span>
|
|
1167
|
+
381: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tokenBuffer</span>
|
|
1168
|
+
382: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tokenBuffer</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">:eof</span>
|
|
1169
|
+
383: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">tokenBuffer</span>
|
|
1170
|
+
384: <span class="ruby-keyword kw">end</span>
|
|
1171
|
+
385: <span class="ruby-keyword kw">end</span>
|
|
1172
|
+
386: <span class="ruby-keyword kw">end</span>
|
|
1173
|
+
387:
|
|
1174
|
+
388: <span class="ruby-comment cmt"># Start processing characters from the input.</span>
|
|
1175
|
+
389: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-identifier">sourceFileInfo</span>
|
|
1176
|
+
390: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
|
|
1177
|
+
391: <span class="ruby-identifier">match</span> = <span class="ruby-keyword kw">nil</span>
|
|
1178
|
+
392: <span class="ruby-keyword kw">begin</span>
|
|
1179
|
+
393: <span class="ruby-ivar">@activePatterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span>, <span class="ruby-identifier">re</span>, <span class="ruby-identifier">postProc</span><span class="ruby-operator">|</span>
|
|
1180
|
+
394: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">match</span> = <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-identifier">re</span>))
|
|
1181
|
+
395: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span> <span class="ruby-operator">==</span> <span class="ruby-value">:scannerEOF</span>
|
|
1182
|
+
396: <span class="ruby-comment cmt"># We've found the end of an input file. Return a special token</span>
|
|
1183
|
+
397: <span class="ruby-comment cmt"># that describes the end of a file.</span>
|
|
1184
|
+
398: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">true</span>
|
|
1185
|
+
399: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value">:eof</span>, <span class="ruby-value str">'<END>'</span>, <span class="ruby-ivar">@startOfToken</span> ]
|
|
1186
|
+
400: <span class="ruby-keyword kw">end</span>
|
|
1179
1187
|
401:
|
|
1180
|
-
402: <span class="ruby-
|
|
1181
|
-
403:
|
|
1182
|
-
404: <span class="ruby-comment cmt">#
|
|
1183
|
-
405: <span class="ruby-
|
|
1184
|
-
406:
|
|
1185
|
-
407:
|
|
1186
|
-
408:
|
|
1187
|
-
409:
|
|
1188
|
-
410:
|
|
1189
|
-
411:
|
|
1190
|
-
412: <span class="ruby-keyword kw">
|
|
1191
|
-
413: <span class="ruby-
|
|
1192
|
-
414:
|
|
1193
|
-
415:
|
|
1194
|
-
416:
|
|
1195
|
-
417:
|
|
1196
|
-
418:
|
|
1197
|
-
419:
|
|
1198
|
-
420:
|
|
1199
|
-
421:
|
|
1200
|
-
422:
|
|
1188
|
+
402: <span class="ruby-identifier">raise</span> <span class="ruby-node">"#{re} matches empty string"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">empty?</span>
|
|
1189
|
+
403: <span class="ruby-comment cmt"># If we have a post processing method, call it now. It may modify</span>
|
|
1190
|
+
404: <span class="ruby-comment cmt"># the type or the found token String.</span>
|
|
1191
|
+
405: <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span> = <span class="ruby-identifier">postProc</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">postProc</span>
|
|
1192
|
+
406:
|
|
1193
|
+
407: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-comment cmt"># Ignore certain tokens with nil type.</span>
|
|
1194
|
+
408:
|
|
1195
|
+
409: <span class="ruby-keyword kw">return</span> [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>, <span class="ruby-ivar">@startOfToken</span> ]
|
|
1196
|
+
410: <span class="ruby-keyword kw">end</span>
|
|
1197
|
+
411: <span class="ruby-keyword kw">end</span>
|
|
1198
|
+
412: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">ArgumentError</span>
|
|
1199
|
+
413: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'scan_encoding_error'</span>, <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">to_s</span>)
|
|
1200
|
+
414: <span class="ruby-keyword kw">end</span>
|
|
1201
|
+
415:
|
|
1202
|
+
416: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">nil?</span>
|
|
1203
|
+
417: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">eof?</span>
|
|
1204
|
+
418: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'unexpected_eof'</span>,
|
|
1205
|
+
419: <span class="ruby-value str">"Unexpected end of file found"</span>)
|
|
1206
|
+
420: <span class="ruby-keyword kw">else</span>
|
|
1207
|
+
421: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'no_token_match'</span>,
|
|
1208
|
+
422: <span class="ruby-node">"Unexpected characters found: '#{@cf.peek(10)}...'"</span>)
|
|
1209
|
+
423: <span class="ruby-keyword kw">end</span>
|
|
1210
|
+
424: <span class="ruby-keyword kw">end</span>
|
|
1211
|
+
425: <span class="ruby-keyword kw">end</span>
|
|
1212
|
+
426: <span class="ruby-keyword kw">end</span></pre>
|
|
1201
1213
|
</div>
|
|
1202
1214
|
|
|
1203
1215
|
</div>
|
|
@@ -1231,21 +1243,21 @@ Start the processing. if <em>fileNameIsBuffer</em> is true, we operate on a
|
|
|
1231
1243
|
<div class="method-source-code"
|
|
1232
1244
|
id="open-source">
|
|
1233
1245
|
<pre>
|
|
1234
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1246
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 262</span>
|
|
1247
|
+
262: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileNameIsBuffer</span> = <span class="ruby-keyword kw">false</span>)
|
|
1248
|
+
263: <span class="ruby-ivar">@fileNameIsBuffer</span> = <span class="ruby-identifier">fileNameIsBuffer</span>
|
|
1249
|
+
264: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fileNameIsBuffer</span>
|
|
1250
|
+
265: <span class="ruby-ivar">@fileStack</span> = [ [ <span class="ruby-ivar">@cf</span> = <span class="ruby-constant">BufferStreamHandle</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@masterFile</span>), <span class="ruby-keyword kw">nil</span> ] ]
|
|
1251
|
+
266: <span class="ruby-keyword kw">else</span>
|
|
1252
|
+
267: <span class="ruby-keyword kw">begin</span>
|
|
1253
|
+
268: <span class="ruby-ivar">@fileStack</span> = [ [ <span class="ruby-ivar">@cf</span> = <span class="ruby-constant">FileStreamHandle</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@masterFile</span>), <span class="ruby-keyword kw">nil</span> ] ]
|
|
1254
|
+
269: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
|
|
1255
|
+
270: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'open_file'</span>, <span class="ruby-node">"Cannot open file #{@masterFile}"</span>)
|
|
1256
|
+
271: <span class="ruby-keyword kw">end</span>
|
|
1257
|
+
272: <span class="ruby-keyword kw">end</span>
|
|
1258
|
+
273: <span class="ruby-ivar">@masterPath</span> = <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">dirname</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
|
|
1259
|
+
274: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
|
1260
|
+
275: <span class="ruby-keyword kw">end</span></pre>
|
|
1249
1261
|
</div>
|
|
1250
1262
|
|
|
1251
1263
|
</div>
|
|
@@ -1279,15 +1291,15 @@ token can be returned before the next nextToken() call.
|
|
|
1279
1291
|
<div class="method-source-code"
|
|
1280
1292
|
id="return-oken-source">
|
|
1281
1293
|
<pre>
|
|
1282
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1294
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 430</span>
|
|
1295
|
+
430: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
|
|
1296
|
+
431: <span class="ruby-comment cmt">#Log << "-> Returning Token: [#{token[0]}][#{token[1]}]"</span>
|
|
1297
|
+
432: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
|
|
1298
|
+
433: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-ivar">@tokenBuffer</span>
|
|
1299
|
+
434: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Fatal Error: Cannot return more than 1 token in a row"</span>
|
|
1300
|
+
435: <span class="ruby-keyword kw">end</span>
|
|
1301
|
+
436: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-identifier">token</span>
|
|
1302
|
+
437: <span class="ruby-keyword kw">end</span></pre>
|
|
1291
1303
|
</div>
|
|
1292
1304
|
|
|
1293
1305
|
</div>
|
|
@@ -1321,11 +1333,11 @@ processing prosition.
|
|
|
1321
1333
|
<div class="method-source-code"
|
|
1322
1334
|
id="source-ile-nfo-source">
|
|
1323
1335
|
<pre>
|
|
1324
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1336
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 327</span>
|
|
1337
|
+
327: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sourceFileInfo</span>
|
|
1338
|
+
328: <span class="ruby-ivar">@cf</span> <span class="ruby-operator">?</span> <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@lineDelta</span>, <span class="ruby-value">0</span>) <span class="ruby-operator">:</span>
|
|
1339
|
+
329: <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@masterFile</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>)
|
|
1340
|
+
330: <span class="ruby-keyword kw">end</span></pre>
|
|
1329
1341
|
</div>
|
|
1330
1342
|
|
|
1331
1343
|
</div>
|
|
@@ -1356,10 +1368,10 @@ processing prosition.
|
|
|
1356
1368
|
<div class="method-source-code"
|
|
1357
1369
|
id="warning-source">
|
|
1358
1370
|
<pre>
|
|
1359
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1371
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 473</span>
|
|
1372
|
+
473: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">data</span> = <span class="ruby-keyword kw">nil</span>)
|
|
1373
|
+
474: <span class="ruby-identifier">message</span>(<span class="ruby-value">:warning</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span>, <span class="ruby-identifier">data</span>)
|
|
1374
|
+
475: <span class="ruby-keyword kw">end</span></pre>
|
|
1363
1375
|
</div>
|
|
1364
1376
|
|
|
1365
1377
|
</div>
|
|
@@ -1396,35 +1408,35 @@ processing prosition.
|
|
|
1396
1408
|
<div class="method-source-code"
|
|
1397
1409
|
id="message-source">
|
|
1398
1410
|
<pre>
|
|
1399
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1411
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 479</span>
|
|
1412
|
+
479: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">message</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span>, <span class="ruby-identifier">data</span>)
|
|
1413
|
+
480: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">empty?</span>
|
|
1414
|
+
481: <span class="ruby-identifier">line</span> = <span class="ruby-ivar">@cf</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">line</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
|
|
1415
|
+
482: <span class="ruby-identifier">sfi</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">sourceFileInfo</span>
|
|
1416
|
+
483:
|
|
1417
|
+
484: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cf</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">macroStack</span>.<span class="ruby-identifier">empty?</span>
|
|
1418
|
+
485: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">info</span>(<span class="ruby-value str">'macro_stack'</span>, <span class="ruby-value str">'Macro call history:'</span>, <span class="ruby-keyword kw">nil</span>)
|
|
1419
|
+
486:
|
|
1420
|
+
487: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">macroStack</span>.<span class="ruby-identifier">reverse_each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
|
|
1421
|
+
488: <span class="ruby-identifier">macro</span> = <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">macro</span>
|
|
1422
|
+
489: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
|
|
1423
|
+
490: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-value str">'"'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'"'</span> }
|
|
1424
|
+
491: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">info</span>(<span class="ruby-value str">'macro_stack'</span>,
|
|
1425
|
+
492: <span class="ruby-node">" ${#{macro.name} #{args.join(' ')}}"</span>,
|
|
1426
|
+
493: <span class="ruby-identifier">macro</span>.<span class="ruby-identifier">sourceFileInfo</span>)
|
|
1427
|
+
494: <span class="ruby-keyword kw">end</span>
|
|
1428
|
+
495: <span class="ruby-keyword kw">end</span>
|
|
1429
|
+
496:
|
|
1430
|
+
497: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">type</span>
|
|
1431
|
+
498: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:error</span>
|
|
1432
|
+
499: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span>, <span class="ruby-identifier">line</span>, <span class="ruby-identifier">data</span>)
|
|
1433
|
+
500: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:warning</span>
|
|
1434
|
+
501: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span>, <span class="ruby-identifier">line</span>, <span class="ruby-identifier">data</span>)
|
|
1435
|
+
502: <span class="ruby-keyword kw">else</span>
|
|
1436
|
+
503: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown message type #{type}"</span>
|
|
1437
|
+
504: <span class="ruby-keyword kw">end</span>
|
|
1438
|
+
505: <span class="ruby-keyword kw">end</span>
|
|
1439
|
+
506: <span class="ruby-keyword kw">end</span></pre>
|
|
1428
1440
|
</div>
|
|
1429
1441
|
|
|
1430
1442
|
</div>
|