taskjuggler 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (492) hide show
  1. data/CHANGELOG +7 -0
  2. data/data/tjp.vim +1 -1
  3. data/lib/exchangebug.rb +42 -0
  4. data/lib/ruby-signal-bug.rb +55 -0
  5. data/lib/taskjuggler/DataCache.rb +30 -41
  6. data/lib/taskjuggler/ResourceScenario.rb +19 -20
  7. data/lib/taskjuggler/TaskScenario.rb +11 -8
  8. data/lib/taskjuggler/Tj3Config.rb +1 -1
  9. data/prj_cfg.rb +3 -3
  10. data/test/TestSuite/Export-Reports/refs/DST.tjp +60 -0
  11. data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +80 -0
  12. data/test/TestSuite/Export-Reports/tp.tjp +49 -0
  13. data/test/TestSuite/HTML-Reports/Alerts.html +412 -160
  14. data/test/TestSuite/HTML-Reports/TimeSheet.html +79 -0
  15. data/test/TestSuite/HTML-Reports/css/tjmanual.css +20 -0
  16. data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -6
  17. data/test/TestSuite/HTML-Reports/reference.html +51 -0
  18. data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +86 -0
  19. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/css/tjreport.css +0 -0
  20. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/details.png +0 -0
  21. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/flag-green.png +0 -0
  22. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/flag-red.png +0 -0
  23. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/flag-yellow.png +0 -0
  24. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/resource.png +0 -0
  25. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/resourcegroup.png +0 -0
  26. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/task.png +0 -0
  27. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/taskgroup.png +0 -0
  28. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/trend-down.png +0 -0
  29. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/trend-flat.png +0 -0
  30. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/trend-up.png +0 -0
  31. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
  32. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
  33. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/scripts/wz_tooltip.js +0 -0
  34. data/test/TestSuite/Scheduler/Correct/Allocate.html +1075 -0
  35. data/test/TestSuite/Scheduler/Correct/Duration.html +610 -0
  36. data/test/TestSuite/Scheduler/{Errors → Correct}/css/tjmanual.css +0 -0
  37. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +413 -0
  38. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  39. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  40. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  41. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  42. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  43. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  44. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  45. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  46. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  47. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  48. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  49. data/test/TestSuite/{HTML-Reports/scripts → Scheduler/Correct}/scripts/wz_tooltip.js +20 -20
  50. data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
  51. data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
  52. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
  53. data/test/TestSuite/Syntax/Correct/DST.tjp +11 -0
  54. data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +32 -0
  55. data/test/TestSuite/TimeSheets/receiver.log.mod +1056 -0
  56. data/test/TestSuite/TimeSheets/uu.txt +29 -0
  57. metadata +672 -1076
  58. data/benchmarks/UTF-8-Strings.rb +0 -58
  59. data/benchmarks/htmltaskreport-1.html +0 -47702
  60. data/benchmarks/htmltaskreport-2.html +0 -23345
  61. data/benchmarks/htmltaskreport-3.html +0 -23265
  62. data/benchmarks/htmltaskreport-4.html +0 -22135
  63. data/benchmarks/profile.clt +0 -36082
  64. data/benchmarks/tj3.profile +0 -0
  65. data/benchmarks/tj3.profile.grind +0 -6185
  66. data/benchmarks/tj3.profile.symbols +0 -432
  67. data/benchmarks/tj3.profile.txt +0 -448
  68. data/doc/AppConfig.html +0 -1515
  69. data/doc/CHANGELOG.html +0 -2441
  70. data/doc/COPYING.html +0 -923
  71. data/doc/Diff.html +0 -1217
  72. data/doc/Diff/Hunk.html +0 -1050
  73. data/doc/Diffable.html +0 -708
  74. data/doc/DiffableString.html +0 -708
  75. data/doc/Object.html +0 -744
  76. data/doc/README_rdoc.html +0 -774
  77. data/doc/RuntimeConfig.html +0 -880
  78. data/doc/String.html +0 -1029
  79. data/doc/TaskJuggler.html +0 -2698
  80. data/doc/TaskJuggler/Account.html +0 -777
  81. data/doc/TaskJuggler/AccountAttribute.html +0 -793
  82. data/doc/TaskJuggler/AccountScenario.html +0 -736
  83. data/doc/TaskJuggler/Allocation.html +0 -987
  84. data/doc/TaskJuggler/AllocationAttribute.html +0 -823
  85. data/doc/TaskJuggler/AttributeBase.html +0 -1379
  86. data/doc/TaskJuggler/AttributeDefinition.html +0 -839
  87. data/doc/TaskJuggler/AttributeOverwrite.html +0 -630
  88. data/doc/TaskJuggler/BatchProcessor.html +0 -1202
  89. data/doc/TaskJuggler/Booking.html +0 -883
  90. data/doc/TaskJuggler/BookingListAttribute.html +0 -793
  91. data/doc/TaskJuggler/BooleanAttribute.html +0 -793
  92. data/doc/TaskJuggler/CSVFile.html +0 -1152
  93. data/doc/TaskJuggler/CellSettingPattern.html +0 -724
  94. data/doc/TaskJuggler/CellSettingPatternList.html +0 -773
  95. data/doc/TaskJuggler/Charge.html +0 -801
  96. data/doc/TaskJuggler/ChargeListAttribute.html +0 -757
  97. data/doc/TaskJuggler/ChargeSet.html +0 -973
  98. data/doc/TaskJuggler/ChargeSetListAttribute.html +0 -802
  99. data/doc/TaskJuggler/CollisionDetector.html +0 -1113
  100. data/doc/TaskJuggler/ColumnListAttribute.html +0 -757
  101. data/doc/TaskJuggler/ColumnTable.html +0 -787
  102. data/doc/TaskJuggler/Daemon.html +0 -843
  103. data/doc/TaskJuggler/DataCache.html +0 -1049
  104. data/doc/TaskJuggler/DataCacheEntry.html +0 -761
  105. data/doc/TaskJuggler/DateAttribute.html +0 -761
  106. data/doc/TaskJuggler/DefinitionListAttribute.html +0 -679
  107. data/doc/TaskJuggler/DependencyListAttribute.html +0 -797
  108. data/doc/TaskJuggler/DurationAttribute.html +0 -794
  109. data/doc/TaskJuggler/FileList.html +0 -817
  110. data/doc/TaskJuggler/FileRecord.html +0 -726
  111. data/doc/TaskJuggler/FixnumAttribute.html +0 -715
  112. data/doc/TaskJuggler/FlagListAttribute.html +0 -793
  113. data/doc/TaskJuggler/FloatAttribute.html +0 -757
  114. data/doc/TaskJuggler/FormatListAttribute.html +0 -721
  115. data/doc/TaskJuggler/GanttChart.html +0 -1511
  116. data/doc/TaskJuggler/GanttContainer.html +0 -969
  117. data/doc/TaskJuggler/GanttHeader.html +0 -972
  118. data/doc/TaskJuggler/GanttHeaderScaleItem.html +0 -786
  119. data/doc/TaskJuggler/GanttLine.html +0 -1349
  120. data/doc/TaskJuggler/GanttLoadStack.html +0 -852
  121. data/doc/TaskJuggler/GanttMilestone.html +0 -950
  122. data/doc/TaskJuggler/GanttRouter.html +0 -1160
  123. data/doc/TaskJuggler/GanttTaskBar.html +0 -972
  124. data/doc/TaskJuggler/HTMLDocument.html +0 -800
  125. data/doc/TaskJuggler/HTMLElements.html +0 -623
  126. data/doc/TaskJuggler/HTMLGraphics.html +0 -861
  127. data/doc/TaskJuggler/ICalReport.html +0 -864
  128. data/doc/TaskJuggler/ICalendar.html +0 -1035
  129. data/doc/TaskJuggler/ICalendar/Component.html +0 -969
  130. data/doc/TaskJuggler/ICalendar/Event.html +0 -742
  131. data/doc/TaskJuggler/ICalendar/Journal.html +0 -722
  132. data/doc/TaskJuggler/ICalendar/Person.html +0 -633
  133. data/doc/TaskJuggler/ICalendar/Todo.html +0 -789
  134. data/doc/TaskJuggler/Interval.html +0 -1003
  135. data/doc/TaskJuggler/IntervalList.html +0 -821
  136. data/doc/TaskJuggler/JobInfo.html +0 -967
  137. data/doc/TaskJuggler/Journal.html +0 -1272
  138. data/doc/TaskJuggler/JournalEntry.html +0 -884
  139. data/doc/TaskJuggler/JournalEntryList.html +0 -1253
  140. data/doc/TaskJuggler/KeywordArray.html +0 -720
  141. data/doc/TaskJuggler/KeywordDocumentation.html +0 -2274
  142. data/doc/TaskJuggler/Limits.html +0 -1019
  143. data/doc/TaskJuggler/Limits/Limit.html +0 -1022
  144. data/doc/TaskJuggler/LimitsAttribute.html +0 -759
  145. data/doc/TaskJuggler/ListAttributeBase.html +0 -727
  146. data/doc/TaskJuggler/Log.html +0 -1187
  147. data/doc/TaskJuggler/LogFile.html +0 -1004
  148. data/doc/TaskJuggler/LogicalAttribute.html +0 -784
  149. data/doc/TaskJuggler/LogicalExpression.html +0 -825
  150. data/doc/TaskJuggler/LogicalExpressionAttribute.html +0 -715
  151. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +0 -715
  152. data/doc/TaskJuggler/LogicalFlag.html +0 -777
  153. data/doc/TaskJuggler/LogicalFunction.html +0 -1433
  154. data/doc/TaskJuggler/LogicalOperation.html +0 -1168
  155. data/doc/TaskJuggler/ManagerResponsibilities.html +0 -760
  156. data/doc/TaskJuggler/ManagerStatusRecord.html +0 -764
  157. data/doc/TaskJuggler/Message.html +0 -861
  158. data/doc/TaskJuggler/MessageHandler.html +0 -1102
  159. data/doc/TaskJuggler/Navigator.html +0 -967
  160. data/doc/TaskJuggler/NavigatorElement.html +0 -1018
  161. data/doc/TaskJuggler/NikuProject.html +0 -748
  162. data/doc/TaskJuggler/NikuReport.html +0 -1494
  163. data/doc/TaskJuggler/NikuResource.html +0 -718
  164. data/doc/TaskJuggler/NodeListAttribute.html +0 -679
  165. data/doc/TaskJuggler/PlaceHolderCell.html +0 -772
  166. data/doc/TaskJuggler/ProcessIntercom.html +0 -1041
  167. data/doc/TaskJuggler/ProcessIntercomIface.html +0 -797
  168. data/doc/TaskJuggler/Project.html +0 -3741
  169. data/doc/TaskJuggler/ProjectBroker.html +0 -1700
  170. data/doc/TaskJuggler/ProjectBrokerIface.html +0 -875
  171. data/doc/TaskJuggler/ProjectFileParser.html +0 -2127
  172. data/doc/TaskJuggler/ProjectFileScanner.html +0 -1921
  173. data/doc/TaskJuggler/ProjectRecord.html +0 -1002
  174. data/doc/TaskJuggler/ProjectServer.html +0 -1273
  175. data/doc/TaskJuggler/ProjectServerIface.html +0 -892
  176. data/doc/TaskJuggler/PropertyAttribute.html +0 -715
  177. data/doc/TaskJuggler/PropertyList.html +0 -1423
  178. data/doc/TaskJuggler/PropertySet.html +0 -1816
  179. data/doc/TaskJuggler/PropertyTreeNode.html +0 -2895
  180. data/doc/TaskJuggler/Query.html +0 -1783
  181. data/doc/TaskJuggler/RTFHandlers.html +0 -688
  182. data/doc/TaskJuggler/RTFNavigator.html +0 -816
  183. data/doc/TaskJuggler/RTFQuery.html +0 -1107
  184. data/doc/TaskJuggler/RTFReport.html +0 -844
  185. data/doc/TaskJuggler/RTFReportLink.html +0 -836
  186. data/doc/TaskJuggler/RTFWithQuerySupport.html +0 -726
  187. data/doc/TaskJuggler/RealFormat.html +0 -829
  188. data/doc/TaskJuggler/RealFormatAttribute.html +0 -679
  189. data/doc/TaskJuggler/ReferenceAttribute.html +0 -904
  190. data/doc/TaskJuggler/Report.html +0 -1645
  191. data/doc/TaskJuggler/ReportBase.html +0 -1192
  192. data/doc/TaskJuggler/ReportContext.html +0 -861
  193. data/doc/TaskJuggler/ReportScenario.html +0 -633
  194. data/doc/TaskJuggler/ReportServer.html +0 -1092
  195. data/doc/TaskJuggler/ReportServerIface.html +0 -926
  196. data/doc/TaskJuggler/ReportServerRecord.html +0 -805
  197. data/doc/TaskJuggler/ReportServlet.html +0 -1053
  198. data/doc/TaskJuggler/ReportTable.html +0 -1203
  199. data/doc/TaskJuggler/ReportTableCell.html +0 -1690
  200. data/doc/TaskJuggler/ReportTableColumn.html +0 -914
  201. data/doc/TaskJuggler/ReportTableLegend.html +0 -1084
  202. data/doc/TaskJuggler/ReportTableLine.html +0 -1091
  203. data/doc/TaskJuggler/Resource.html +0 -1066
  204. data/doc/TaskJuggler/ResourceListAttribute.html +0 -853
  205. data/doc/TaskJuggler/ResourceListRE.html +0 -761
  206. data/doc/TaskJuggler/ResourceScenario.html +0 -2591
  207. data/doc/TaskJuggler/RichText.html +0 -903
  208. data/doc/TaskJuggler/RichTextAttribute.html +0 -835
  209. data/doc/TaskJuggler/RichTextDocument.html +0 -1062
  210. data/doc/TaskJuggler/RichTextElement.html +0 -1804
  211. data/doc/TaskJuggler/RichTextFunctionExample.html +0 -823
  212. data/doc/TaskJuggler/RichTextFunctionHandler.html +0 -774
  213. data/doc/TaskJuggler/RichTextImage.html +0 -736
  214. data/doc/TaskJuggler/RichTextIntermediate.html +0 -1309
  215. data/doc/TaskJuggler/RichTextParser.html +0 -892
  216. data/doc/TaskJuggler/RichTextScanner.html +0 -1589
  217. data/doc/TaskJuggler/RichTextSnip.html +0 -1024
  218. data/doc/TaskJuggler/RichTextSyntaxRules.html +0 -2076
  219. data/doc/TaskJuggler/Scenario.html +0 -680
  220. data/doc/TaskJuggler/ScenarioData.html +0 -905
  221. data/doc/TaskJuggler/ScenarioListAttribute.html +0 -757
  222. data/doc/TaskJuggler/Scoreboard.html +0 -1265
  223. data/doc/TaskJuggler/ScoreboardInterval.html +0 -1116
  224. data/doc/TaskJuggler/SheetHandlerBase.html +0 -1321
  225. data/doc/TaskJuggler/SheetReceiver.html +0 -1422
  226. data/doc/TaskJuggler/SheetSender.html +0 -1192
  227. data/doc/TaskJuggler/Shift.html +0 -775
  228. data/doc/TaskJuggler/ShiftAssignment.html +0 -1032
  229. data/doc/TaskJuggler/ShiftAssignments.html +0 -1438
  230. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +0 -759
  231. data/doc/TaskJuggler/ShiftScenario.html +0 -806
  232. data/doc/TaskJuggler/SimpleQueryExpander.html +0 -756
  233. data/doc/TaskJuggler/SortListAttribute.html +0 -715
  234. data/doc/TaskJuggler/StatusSheetReceiver.html +0 -702
  235. data/doc/TaskJuggler/StatusSheetReport.html +0 -959
  236. data/doc/TaskJuggler/StatusSheetSender.html +0 -832
  237. data/doc/TaskJuggler/StdIoWrapper.html +0 -720
  238. data/doc/TaskJuggler/StringAttribute.html +0 -757
  239. data/doc/TaskJuggler/SymbolAttribute.html +0 -715
  240. data/doc/TaskJuggler/SyntaxReference.html +0 -1264
  241. data/doc/TaskJuggler/TOCEntry.html +0 -860
  242. data/doc/TaskJuggler/TSResourceRecord.html +0 -756
  243. data/doc/TaskJuggler/TSTaskRecord.html +0 -768
  244. data/doc/TaskJuggler/TableColumnDefinition.html +0 -973
  245. data/doc/TaskJuggler/TableOfContents.html +0 -814
  246. data/doc/TaskJuggler/TableReport.html +0 -2580
  247. data/doc/TaskJuggler/TagFile.html +0 -817
  248. data/doc/TaskJuggler/TagFile/TagFileEntry.html +0 -841
  249. data/doc/TaskJuggler/Task.html +0 -914
  250. data/doc/TaskJuggler/TaskDepListAttribute.html +0 -797
  251. data/doc/TaskJuggler/TaskDependency.html +0 -856
  252. data/doc/TaskJuggler/TaskListAttribute.html +0 -797
  253. data/doc/TaskJuggler/TaskListRE.html +0 -760
  254. data/doc/TaskJuggler/TaskScenario.html +0 -5237
  255. data/doc/TaskJuggler/TernarySearchTree.html +0 -1365
  256. data/doc/TaskJuggler/TextFormatter.html +0 -997
  257. data/doc/TaskJuggler/TextParser.html +0 -1886
  258. data/doc/TaskJuggler/TextParser/Macro.html +0 -732
  259. data/doc/TaskJuggler/TextParser/MacroTable.html +0 -856
  260. data/doc/TaskJuggler/TextParser/Pattern.html +0 -1767
  261. data/doc/TaskJuggler/TextParser/Rule.html +0 -1443
  262. data/doc/TaskJuggler/TextParser/Scanner.html +0 -1542
  263. data/doc/TaskJuggler/TextParser/Scanner/BufferStreamHandle.html +0 -685
  264. data/doc/TaskJuggler/TextParser/Scanner/FileStreamHandle.html +0 -751
  265. data/doc/TaskJuggler/TextParser/Scanner/MacroStackEntry.html +0 -748
  266. data/doc/TaskJuggler/TextParser/Scanner/StreamHandle.html +0 -1128
  267. data/doc/TaskJuggler/TextParser/SourceFileInfo.html +0 -784
  268. data/doc/TaskJuggler/TextParser/StackElement.html +0 -964
  269. data/doc/TaskJuggler/TextParser/State.html +0 -1039
  270. data/doc/TaskJuggler/TextParser/StateTransition.html +0 -832
  271. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +0 -735
  272. data/doc/TaskJuggler/TextParser/TokenDoc.html +0 -766
  273. data/doc/TaskJuggler/TextReport.html +0 -945
  274. data/doc/TaskJuggler/TimeInterval.html +0 -841
  275. data/doc/TaskJuggler/TimeIntervalListAttribute.html +0 -797
  276. data/doc/TaskJuggler/TimeSheet.html +0 -1288
  277. data/doc/TaskJuggler/TimeSheetReceiver.html +0 -699
  278. data/doc/TaskJuggler/TimeSheetRecord.html +0 -1439
  279. data/doc/TaskJuggler/TimeSheetReport.html +0 -1037
  280. data/doc/TaskJuggler/TimeSheetSender.html +0 -724
  281. data/doc/TaskJuggler/TimeSheetSummary.html +0 -983
  282. data/doc/TaskJuggler/TimeSheets.html +0 -760
  283. data/doc/TaskJuggler/Tj3.html +0 -896
  284. data/doc/TaskJuggler/Tj3AppBase.html +0 -966
  285. data/doc/TaskJuggler/Tj3Client.html +0 -1534
  286. data/doc/TaskJuggler/Tj3Daemon.html +0 -894
  287. data/doc/TaskJuggler/Tj3Man.html +0 -792
  288. data/doc/TaskJuggler/Tj3SheetAppBase.html +0 -782
  289. data/doc/TaskJuggler/Tj3SsReceiver.html +0 -771
  290. data/doc/TaskJuggler/Tj3SsSender.html +0 -804
  291. data/doc/TaskJuggler/Tj3TsReceiver.html +0 -771
  292. data/doc/TaskJuggler/Tj3TsSender.html +0 -791
  293. data/doc/TaskJuggler/Tj3TsSummary.html +0 -799
  294. data/doc/TaskJuggler/TjException.html +0 -716
  295. data/doc/TaskJuggler/TjRuntimeError.html +0 -630
  296. data/doc/TaskJuggler/TjTime.html +0 -3179
  297. data/doc/TaskJuggler/TjpExample.html +0 -921
  298. data/doc/TaskJuggler/TjpExportRE.html +0 -1851
  299. data/doc/TaskJuggler/TjpSyntaxRules.html +0 -14721
  300. data/doc/TaskJuggler/URLParameter.html +0 -715
  301. data/doc/TaskJuggler/UserManual.html +0 -1248
  302. data/doc/TaskJuggler/VimSyntax.html +0 -1088
  303. data/doc/TaskJuggler/WebServer.html +0 -781
  304. data/doc/TaskJuggler/WelcomePage.html +0 -813
  305. data/doc/TaskJuggler/WorkingHours.html +0 -1293
  306. data/doc/TaskJuggler/WorkingHoursAttribute.html +0 -780
  307. data/doc/TaskJuggler/XMLBlob.html +0 -731
  308. data/doc/TaskJuggler/XMLComment.html +0 -726
  309. data/doc/TaskJuggler/XMLDocument.html +0 -827
  310. data/doc/TaskJuggler/XMLElement.html +0 -1014
  311. data/doc/TaskJuggler/XMLNamedText.html +0 -687
  312. data/doc/TaskJuggler/XMLText.html +0 -741
  313. data/doc/index.html +0 -4664
  314. data/doc/lib/taskjuggler/AccountScenario_rb.html +0 -69
  315. data/doc/lib/taskjuggler/Account_rb.html +0 -71
  316. data/doc/lib/taskjuggler/AlgorithmDiff_rb.html +0 -67
  317. data/doc/lib/taskjuggler/Allocation_rb.html +0 -71
  318. data/doc/lib/taskjuggler/AppConfig_rb.html +0 -69
  319. data/doc/lib/taskjuggler/AttributeBase_rb.html +0 -69
  320. data/doc/lib/taskjuggler/AttributeDefinition_rb.html +0 -67
  321. data/doc/lib/taskjuggler/Attributes_rb.html +0 -83
  322. data/doc/lib/taskjuggler/BatchProcessor_rb.html +0 -71
  323. data/doc/lib/taskjuggler/Booking_rb.html +0 -67
  324. data/doc/lib/taskjuggler/ChargeSet_rb.html +0 -69
  325. data/doc/lib/taskjuggler/Charge_rb.html +0 -69
  326. data/doc/lib/taskjuggler/DataCache_rb.html +0 -71
  327. data/doc/lib/taskjuggler/FileList_rb.html +0 -67
  328. data/doc/lib/taskjuggler/HTMLDocument_rb.html +0 -71
  329. data/doc/lib/taskjuggler/HTMLElements_rb.html +0 -69
  330. data/doc/lib/taskjuggler/ICalendar_rb.html +0 -69
  331. data/doc/lib/taskjuggler/IntervalList_rb.html +0 -69
  332. data/doc/lib/taskjuggler/Interval_rb.html +0 -69
  333. data/doc/lib/taskjuggler/Journal_rb.html +0 -67
  334. data/doc/lib/taskjuggler/KeywordArray_rb.html +0 -67
  335. data/doc/lib/taskjuggler/KeywordDocumentation_rb.html +0 -77
  336. data/doc/lib/taskjuggler/Limits_rb.html +0 -69
  337. data/doc/lib/taskjuggler/LogFile_rb.html +0 -69
  338. data/doc/lib/taskjuggler/Log_rb.html +0 -71
  339. data/doc/lib/taskjuggler/LogicalExpression_rb.html +0 -73
  340. data/doc/lib/taskjuggler/LogicalFunction_rb.html +0 -69
  341. data/doc/lib/taskjuggler/LogicalOperation_rb.html +0 -69
  342. data/doc/lib/taskjuggler/MessageHandler_rb.html +0 -69
  343. data/doc/lib/taskjuggler/ProjectFileParser_rb.html +0 -77
  344. data/doc/lib/taskjuggler/ProjectFileScanner_rb.html +0 -69
  345. data/doc/lib/taskjuggler/Project_rb.html +0 -113
  346. data/doc/lib/taskjuggler/PropertyList_rb.html +0 -67
  347. data/doc/lib/taskjuggler/PropertySet_rb.html +0 -71
  348. data/doc/lib/taskjuggler/PropertyTreeNode_rb.html +0 -67
  349. data/doc/lib/taskjuggler/Query_rb.html +0 -69
  350. data/doc/lib/taskjuggler/RealFormat_rb.html +0 -67
  351. data/doc/lib/taskjuggler/ResourceScenario_rb.html +0 -69
  352. data/doc/lib/taskjuggler/Resource_rb.html +0 -71
  353. data/doc/lib/taskjuggler/RichText/Document_rb.html +0 -73
  354. data/doc/lib/taskjuggler/RichText/Element_rb.html +0 -75
  355. data/doc/lib/taskjuggler/RichText/FunctionExample_rb.html +0 -73
  356. data/doc/lib/taskjuggler/RichText/FunctionHandler_rb.html +0 -67
  357. data/doc/lib/taskjuggler/RichText/Parser_rb.html +0 -75
  358. data/doc/lib/taskjuggler/RichText/RTFHandlers_rb.html +0 -75
  359. data/doc/lib/taskjuggler/RichText/RTFNavigator_rb.html +0 -73
  360. data/doc/lib/taskjuggler/RichText/RTFQuery_rb.html +0 -73
  361. data/doc/lib/taskjuggler/RichText/RTFReportLink_rb.html +0 -75
  362. data/doc/lib/taskjuggler/RichText/RTFReport_rb.html +0 -71
  363. data/doc/lib/taskjuggler/RichText/RTFWithQuerySupport_rb.html +0 -69
  364. data/doc/lib/taskjuggler/RichText/Scanner_rb.html +0 -71
  365. data/doc/lib/taskjuggler/RichText/Snip_rb.html +0 -71
  366. data/doc/lib/taskjuggler/RichText/SyntaxRules_rb.html +0 -67
  367. data/doc/lib/taskjuggler/RichText/TOCEntry_rb.html +0 -71
  368. data/doc/lib/taskjuggler/RichText/TableOfContents_rb.html +0 -71
  369. data/doc/lib/taskjuggler/RichText_rb.html +0 -73
  370. data/doc/lib/taskjuggler/RuntimeConfig_rb.html +0 -69
  371. data/doc/lib/taskjuggler/ScenarioData_rb.html +0 -71
  372. data/doc/lib/taskjuggler/Scenario_rb.html +0 -69
  373. data/doc/lib/taskjuggler/Scoreboard_rb.html +0 -69
  374. data/doc/lib/taskjuggler/SheetHandlerBase_rb.html +0 -75
  375. data/doc/lib/taskjuggler/SheetReceiver_rb.html +0 -81
  376. data/doc/lib/taskjuggler/SheetSender_rb.html +0 -79
  377. data/doc/lib/taskjuggler/ShiftAssignments_rb.html +0 -71
  378. data/doc/lib/taskjuggler/ShiftScenario_rb.html +0 -69
  379. data/doc/lib/taskjuggler/Shift_rb.html +0 -71
  380. data/doc/lib/taskjuggler/SimpleQueryExpander_rb.html +0 -69
  381. data/doc/lib/taskjuggler/StatusSheetReceiver_rb.html +0 -69
  382. data/doc/lib/taskjuggler/StatusSheetSender_rb.html +0 -69
  383. data/doc/lib/taskjuggler/StdIoWrapper_rb.html +0 -67
  384. data/doc/lib/taskjuggler/SyntaxReference_rb.html +0 -75
  385. data/doc/lib/taskjuggler/TableColumnDefinition_rb.html +0 -67
  386. data/doc/lib/taskjuggler/TaskDependency_rb.html +0 -67
  387. data/doc/lib/taskjuggler/TaskJuggler_rb.html +0 -75
  388. data/doc/lib/taskjuggler/TaskScenario_rb.html +0 -71
  389. data/doc/lib/taskjuggler/Task_rb.html +0 -71
  390. data/doc/lib/taskjuggler/TernarySearchTree_rb.html +0 -69
  391. data/doc/lib/taskjuggler/TextFormatter_rb.html +0 -69
  392. data/doc/lib/taskjuggler/TextParser/MacroTable_rb.html +0 -67
  393. data/doc/lib/taskjuggler/TextParser/Pattern_rb.html +0 -71
  394. data/doc/lib/taskjuggler/TextParser/Rule_rb.html +0 -69
  395. data/doc/lib/taskjuggler/TextParser/Scanner_rb.html +0 -77
  396. data/doc/lib/taskjuggler/TextParser/SourceFileInfo_rb.html +0 -67
  397. data/doc/lib/taskjuggler/TextParser/StackElement_rb.html +0 -67
  398. data/doc/lib/taskjuggler/TextParser/State_rb.html +0 -67
  399. data/doc/lib/taskjuggler/TextParser/TokenDoc_rb.html +0 -67
  400. data/doc/lib/taskjuggler/TextParser_rb.html +0 -79
  401. data/doc/lib/taskjuggler/TimeSheetReceiver_rb.html +0 -69
  402. data/doc/lib/taskjuggler/TimeSheetSender_rb.html +0 -69
  403. data/doc/lib/taskjuggler/TimeSheetSummary_rb.html +0 -69
  404. data/doc/lib/taskjuggler/TimeSheets_rb.html +0 -67
  405. data/doc/lib/taskjuggler/Tj3AppBase_rb.html +0 -79
  406. data/doc/lib/taskjuggler/Tj3Config_rb.html +0 -71
  407. data/doc/lib/taskjuggler/Tj3SheetAppBase_rb.html +0 -69
  408. data/doc/lib/taskjuggler/TjException_rb.html +0 -67
  409. data/doc/lib/taskjuggler/TjTime_rb.html +0 -71
  410. data/doc/lib/taskjuggler/TjpExample_rb.html +0 -69
  411. data/doc/lib/taskjuggler/TjpSyntaxRules_rb.html +0 -67
  412. data/doc/lib/taskjuggler/URLParameter_rb.html +0 -69
  413. data/doc/lib/taskjuggler/UTF8String_rb.html +0 -69
  414. data/doc/lib/taskjuggler/UserManual_rb.html +0 -81
  415. data/doc/lib/taskjuggler/VimSyntax_rb.html +0 -69
  416. data/doc/lib/taskjuggler/WorkingHours_rb.html +0 -71
  417. data/doc/lib/taskjuggler/XMLDocument_rb.html +0 -69
  418. data/doc/lib/taskjuggler/XMLElement_rb.html +0 -69
  419. data/doc/lib/taskjuggler/apps/Tj3Client_rb.html +0 -75
  420. data/doc/lib/taskjuggler/apps/Tj3Daemon_rb.html +0 -75
  421. data/doc/lib/taskjuggler/apps/Tj3Man_rb.html +0 -75
  422. data/doc/lib/taskjuggler/apps/Tj3SsReceiver_rb.html +0 -71
  423. data/doc/lib/taskjuggler/apps/Tj3SsSender_rb.html +0 -71
  424. data/doc/lib/taskjuggler/apps/Tj3TsReceiver_rb.html +0 -71
  425. data/doc/lib/taskjuggler/apps/Tj3TsSender_rb.html +0 -71
  426. data/doc/lib/taskjuggler/apps/Tj3TsSummary_rb.html +0 -71
  427. data/doc/lib/taskjuggler/apps/Tj3_rb.html +0 -71
  428. data/doc/lib/taskjuggler/daemon/Daemon_rb.html +0 -69
  429. data/doc/lib/taskjuggler/daemon/ProcessIntercom_rb.html +0 -71
  430. data/doc/lib/taskjuggler/daemon/ProjectBroker_rb.html +0 -83
  431. data/doc/lib/taskjuggler/daemon/ProjectServer_rb.html +0 -85
  432. data/doc/lib/taskjuggler/daemon/ReportServer_rb.html +0 -73
  433. data/doc/lib/taskjuggler/daemon/ReportServlet_rb.html +0 -69
  434. data/doc/lib/taskjuggler/daemon/WebServer_rb.html +0 -81
  435. data/doc/lib/taskjuggler/daemon/WelcomePage_rb.html +0 -71
  436. data/doc/lib/taskjuggler/deep_copy_rb.html +0 -67
  437. data/doc/lib/taskjuggler/reports/CSVFile_rb.html +0 -69
  438. data/doc/lib/taskjuggler/reports/CollisionDetector_rb.html +0 -69
  439. data/doc/lib/taskjuggler/reports/ColumnTable_rb.html +0 -69
  440. data/doc/lib/taskjuggler/reports/GanttChart_rb.html +0 -75
  441. data/doc/lib/taskjuggler/reports/GanttContainer_rb.html +0 -69
  442. data/doc/lib/taskjuggler/reports/GanttHeaderScaleItem_rb.html +0 -67
  443. data/doc/lib/taskjuggler/reports/GanttHeader_rb.html +0 -69
  444. data/doc/lib/taskjuggler/reports/GanttLine_rb.html +0 -79
  445. data/doc/lib/taskjuggler/reports/GanttLoadStack_rb.html +0 -69
  446. data/doc/lib/taskjuggler/reports/GanttMilestone_rb.html +0 -69
  447. data/doc/lib/taskjuggler/reports/GanttRouter_rb.html +0 -69
  448. data/doc/lib/taskjuggler/reports/GanttTaskBar_rb.html +0 -69
  449. data/doc/lib/taskjuggler/reports/HTMLGraphics_rb.html +0 -67
  450. data/doc/lib/taskjuggler/reports/ICalReport_rb.html +0 -71
  451. data/doc/lib/taskjuggler/reports/Navigator_rb.html +0 -69
  452. data/doc/lib/taskjuggler/reports/NikuReport_rb.html +0 -71
  453. data/doc/lib/taskjuggler/reports/ReportBase_rb.html +0 -67
  454. data/doc/lib/taskjuggler/reports/ReportContext_rb.html +0 -67
  455. data/doc/lib/taskjuggler/reports/ReportTableCell_rb.html +0 -67
  456. data/doc/lib/taskjuggler/reports/ReportTableColumn_rb.html +0 -67
  457. data/doc/lib/taskjuggler/reports/ReportTableLegend_rb.html +0 -67
  458. data/doc/lib/taskjuggler/reports/ReportTableLine_rb.html +0 -69
  459. data/doc/lib/taskjuggler/reports/ReportTable_rb.html +0 -71
  460. data/doc/lib/taskjuggler/reports/Report_rb.html +0 -97
  461. data/doc/lib/taskjuggler/reports/ResourceListRE_rb.html +0 -75
  462. data/doc/lib/taskjuggler/reports/StatusSheetReport_rb.html +0 -69
  463. data/doc/lib/taskjuggler/reports/TableReport_rb.html +0 -77
  464. data/doc/lib/taskjuggler/reports/TagFile_rb.html +0 -71
  465. data/doc/lib/taskjuggler/reports/TaskListRE_rb.html +0 -75
  466. data/doc/lib/taskjuggler/reports/TextReport_rb.html +0 -69
  467. data/doc/lib/taskjuggler/reports/TimeSheetReport_rb.html +0 -69
  468. data/doc/lib/taskjuggler/reports/TjpExportRE_rb.html +0 -69
  469. data/doc/lib/tj3_rb.html +0 -69
  470. data/doc/lib/tj3client_rb.html +0 -69
  471. data/doc/lib/tj3d_rb.html +0 -69
  472. data/doc/lib/tj3man_rb.html +0 -69
  473. data/doc/lib/tj3ss_receiver_rb.html +0 -69
  474. data/doc/lib/tj3ss_sender_rb.html +0 -69
  475. data/doc/lib/tj3ts_receiver_rb.html +0 -69
  476. data/doc/lib/tj3ts_sender_rb.html +0 -69
  477. data/doc/lib/tj3ts_summary_rb.html +0 -69
  478. data/doc/rdoc.css +0 -706
  479. data/test/TestSuite/Export-Reports/refs/CompletedWork.tji.tjp +0 -40
  480. data/test/TestSuite/HTML-Reports/CellText.html +0 -758
  481. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +0 -156
  482. data/test/TestSuite/HTML-Reports/IsOngoing.html +0 -172
  483. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +0 -245
  484. data/test/TestSuite/HTML-Reports/Query.html +0 -31
  485. data/test/TestSuite/HTML-Reports/depArrows.html +0 -851
  486. data/test/TestSuite/HTML-Reports/profile.html +0 -37581
  487. data/test/TestSuite/Scheduler/Errors/R.html +0 -113
  488. data/test/TestSuite/StatusSheets/dev2.tji +0 -22
  489. data/test/TestSuite/Syntax/Correct/CompletedWork.tji.tjp +0 -38
  490. data/test/TestSuite/TimeSheets/resrep.tji +0 -7
  491. data/test/TestSuite/TimeSheets/ts.tji +0 -351
  492. data/test/TestSuite/TimeSheets/tsdef.tji +0 -2
@@ -1,1542 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
-
8
- <title>Class: TaskJuggler::TextParser::Scanner</title>
9
-
10
- <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
11
-
12
- <script src="../../js/jquery.js" type="text/javascript"
13
- charset="utf-8"></script>
14
- <script src="../../js/thickbox-compressed.js" type="text/javascript"
15
- charset="utf-8"></script>
16
- <script src="../../js/quicksearch.js" type="text/javascript"
17
- charset="utf-8"></script>
18
- <script src="../../js/darkfish.js" type="text/javascript"
19
- charset="utf-8"></script>
20
-
21
- </head>
22
- <body class="class">
23
-
24
- <div id="metadata">
25
- <div id="home-metadata">
26
- <div id="home-section" class="section">
27
- <h3 class="section-header">
28
- <a href="../../index.html">Home</a>
29
- <a href="../../index.html#classes">Classes</a>
30
- <a href="../../index.html#methods">Methods</a>
31
- </h3>
32
- </div>
33
- </div>
34
-
35
- <div id="file-metadata">
36
- <div id="file-list-section" class="section">
37
- <h3 class="section-header">In Files</h3>
38
- <div class="section-body">
39
- <ul>
40
-
41
- <li><a href="../../lib/taskjuggler/TextParser/Scanner_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
- class="thickbox" title="lib/taskjuggler/TextParser/Scanner.rb">lib/taskjuggler/TextParser/Scanner.rb</a></li>
43
-
44
- </ul>
45
- </div>
46
- </div>
47
-
48
-
49
- </div>
50
-
51
- <div id="class-metadata">
52
-
53
- <!-- Parent Class -->
54
-
55
- <div id="parent-class-section" class="section">
56
- <h3 class="section-header">Parent</h3>
57
-
58
- <p class="link"><a href="../../Object.html">Object</a></p>
59
-
60
- </div>
61
-
62
-
63
- <!-- Namespace Contents -->
64
-
65
- <div id="namespace-list-section" class="section">
66
- <h3 class="section-header">Namespace</h3>
67
- <ul class="link-list">
68
-
69
- <li><span class="type">CLASS</span> <a href="Scanner/BufferStreamHandle.html">TaskJuggler::TextParser::Scanner::BufferStreamHandle</a></li>
70
-
71
- <li><span class="type">CLASS</span> <a href="Scanner/FileStreamHandle.html">TaskJuggler::TextParser::Scanner::FileStreamHandle</a></li>
72
-
73
- <li><span class="type">CLASS</span> <a href="Scanner/MacroStackEntry.html">TaskJuggler::TextParser::Scanner::MacroStackEntry</a></li>
74
-
75
- <li><span class="type">CLASS</span> <a href="Scanner/StreamHandle.html">TaskJuggler::TextParser::Scanner::StreamHandle</a></li>
76
-
77
- </ul>
78
- </div>
79
-
80
-
81
- <!-- Method Quickref -->
82
-
83
- <div id="method-list-section" class="section">
84
- <h3 class="section-header">Methods</h3>
85
- <ul class="link-list">
86
-
87
- <li><a href="#method-c-new">::new</a></li>
88
-
89
- <li><a href="#method-i-addMacro">#addMacro</a></li>
90
-
91
- <li><a href="#method-i-addPattern">#addPattern</a></li>
92
-
93
- <li><a href="#method-i-close">#close</a></li>
94
-
95
- <li><a href="#method-i-error">#error</a></li>
96
-
97
- <li><a href="#method-i-expandMacro">#expandMacro</a></li>
98
-
99
- <li><a href="#method-i-fileName">#fileName</a></li>
100
-
101
- <li><a href="#method-i-include">#include</a></li>
102
-
103
- <li><a href="#method-i-macroDefined%3F">#macroDefined?</a></li>
104
-
105
- <li><a href="#method-i-message">#message</a></li>
106
-
107
- <li><a href="#method-i-mode%3D">#mode=</a></li>
108
-
109
- <li><a href="#method-i-nextToken">#nextToken</a></li>
110
-
111
- <li><a href="#method-i-open">#open</a></li>
112
-
113
- <li><a href="#method-i-returnToken">#returnToken</a></li>
114
-
115
- <li><a href="#method-i-sourceFileInfo">#sourceFileInfo</a></li>
116
-
117
- <li><a href="#method-i-warning">#warning</a></li>
118
-
119
- </ul>
120
- </div>
121
-
122
-
123
- <!-- Included Modules -->
124
-
125
- </div>
126
-
127
- <div id="project-metadata">
128
-
129
-
130
- <div id="fileindex-section" class="section project-section">
131
- <h3 class="section-header">Files</h3>
132
- <ul>
133
-
134
- <li class="file"><a href="../../CHANGELOG.html">CHANGELOG</a></li>
135
-
136
- <li class="file"><a href="../../COPYING.html">COPYING</a></li>
137
-
138
- <li class="file"><a href="../../README_rdoc.html">README.rdoc</a></li>
139
-
140
- </ul>
141
- </div>
142
-
143
-
144
- <div id="classindex-section" class="section project-section">
145
- <h3 class="section-header">Class Index
146
- <span class="search-toggle"><img src="../../images/find.png"
147
- height="16" width="16" alt="[+]"
148
- title="show/hide quicksearch" /></span></h3>
149
- <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
150
- <fieldset>
151
- <legend>Quicksearch</legend>
152
- <input type="text" name="quicksearch" value=""
153
- class="quicksearch-field" />
154
- </fieldset>
155
- </form>
156
-
157
- <ul class="link-list">
158
-
159
- <li><a href="../../TaskJuggler.html">TaskJuggler</a></li>
160
-
161
- <li><a href="../../TaskJuggler/Account.html">TaskJuggler::Account</a></li>
162
-
163
- <li><a href="../../TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
164
-
165
- <li><a href="../../TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
166
-
167
- <li><a href="../../TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
168
-
169
- <li><a href="../../TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
170
-
171
- <li><a href="../../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
172
-
173
- <li><a href="../../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
174
-
175
- <li><a href="../../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
176
-
177
- <li><a href="../../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
178
-
179
- <li><a href="../../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
180
-
181
- <li><a href="../../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
182
-
183
- <li><a href="../../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
184
-
185
- <li><a href="../../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
186
-
187
- <li><a href="../../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
188
-
189
- <li><a href="../../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
190
-
191
- <li><a href="../../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
192
-
193
- <li><a href="../../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
194
-
195
- <li><a href="../../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
196
-
197
- <li><a href="../../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
198
-
199
- <li><a href="../../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
200
-
201
- <li><a href="../../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
202
-
203
- <li><a href="../../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
204
-
205
- <li><a href="../../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
206
-
207
- <li><a href="../../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
208
-
209
- <li><a href="../../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
210
-
211
- <li><a href="../../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
212
-
213
- <li><a href="../../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
214
-
215
- <li><a href="../../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
216
-
217
- <li><a href="../../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
218
-
219
- <li><a href="../../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
220
-
221
- <li><a href="../../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
222
-
223
- <li><a href="../../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
224
-
225
- <li><a href="../../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
226
-
227
- <li><a href="../../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
228
-
229
- <li><a href="../../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
230
-
231
- <li><a href="../../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
232
-
233
- <li><a href="../../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
234
-
235
- <li><a href="../../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
236
-
237
- <li><a href="../../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
238
-
239
- <li><a href="../../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
240
-
241
- <li><a href="../../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
242
-
243
- <li><a href="../../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
244
-
245
- <li><a href="../../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
246
-
247
- <li><a href="../../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
248
-
249
- <li><a href="../../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
250
-
251
- <li><a href="../../TaskJuggler/HTMLElements.html">TaskJuggler::HTMLElements</a></li>
252
-
253
- <li><a href="../../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
254
-
255
- <li><a href="../../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
256
-
257
- <li><a href="../../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
258
-
259
- <li><a href="../../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
260
-
261
- <li><a href="../../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
262
-
263
- <li><a href="../../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
264
-
265
- <li><a href="../../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
266
-
267
- <li><a href="../../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
268
-
269
- <li><a href="../../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
270
-
271
- <li><a href="../../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
272
-
273
- <li><a href="../../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
274
-
275
- <li><a href="../../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
276
-
277
- <li><a href="../../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
278
-
279
- <li><a href="../../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
280
-
281
- <li><a href="../../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
282
-
283
- <li><a href="../../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
284
-
285
- <li><a href="../../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
286
-
287
- <li><a href="../../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
288
-
289
- <li><a href="../../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
290
-
291
- <li><a href="../../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
292
-
293
- <li><a href="../../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
294
-
295
- <li><a href="../../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
296
-
297
- <li><a href="../../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
298
-
299
- <li><a href="../../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
300
-
301
- <li><a href="../../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
302
-
303
- <li><a href="../../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
304
-
305
- <li><a href="../../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
306
-
307
- <li><a href="../../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
308
-
309
- <li><a href="../../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
310
-
311
- <li><a href="../../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
312
-
313
- <li><a href="../../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
314
-
315
- <li><a href="../../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
316
-
317
- <li><a href="../../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
318
-
319
- <li><a href="../../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
320
-
321
- <li><a href="../../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
322
-
323
- <li><a href="../../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
324
-
325
- <li><a href="../../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
326
-
327
- <li><a href="../../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
328
-
329
- <li><a href="../../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
330
-
331
- <li><a href="../../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
332
-
333
- <li><a href="../../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
334
-
335
- <li><a href="../../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
336
-
337
- <li><a href="../../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
338
-
339
- <li><a href="../../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
340
-
341
- <li><a href="../../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
342
-
343
- <li><a href="../../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
344
-
345
- <li><a href="../../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
346
-
347
- <li><a href="../../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
348
-
349
- <li><a href="../../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
350
-
351
- <li><a href="../../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
352
-
353
- <li><a href="../../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
354
-
355
- <li><a href="../../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
356
-
357
- <li><a href="../../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
358
-
359
- <li><a href="../../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
360
-
361
- <li><a href="../../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
362
-
363
- <li><a href="../../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
364
-
365
- <li><a href="../../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
366
-
367
- <li><a href="../../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
368
-
369
- <li><a href="../../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
370
-
371
- <li><a href="../../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
372
-
373
- <li><a href="../../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
374
-
375
- <li><a href="../../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
376
-
377
- <li><a href="../../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
378
-
379
- <li><a href="../../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
380
-
381
- <li><a href="../../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
382
-
383
- <li><a href="../../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
384
-
385
- <li><a href="../../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
386
-
387
- <li><a href="../../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
388
-
389
- <li><a href="../../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
390
-
391
- <li><a href="../../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
392
-
393
- <li><a href="../../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
394
-
395
- <li><a href="../../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
396
-
397
- <li><a href="../../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
398
-
399
- <li><a href="../../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
400
-
401
- <li><a href="../../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
402
-
403
- <li><a href="../../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
404
-
405
- <li><a href="../../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
406
-
407
- <li><a href="../../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
408
-
409
- <li><a href="../../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
410
-
411
- <li><a href="../../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
412
-
413
- <li><a href="../../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
414
-
415
- <li><a href="../../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
416
-
417
- <li><a href="../../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
418
-
419
- <li><a href="../../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
420
-
421
- <li><a href="../../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
422
-
423
- <li><a href="../../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
424
-
425
- <li><a href="../../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
426
-
427
- <li><a href="../../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
428
-
429
- <li><a href="../../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
430
-
431
- <li><a href="../../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
432
-
433
- <li><a href="../../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
434
-
435
- <li><a href="../../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
436
-
437
- <li><a href="../../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
438
-
439
- <li><a href="../../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
440
-
441
- <li><a href="../../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
442
-
443
- <li><a href="../../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
444
-
445
- <li><a href="../../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
446
-
447
- <li><a href="../../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
448
-
449
- <li><a href="../../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
450
-
451
- <li><a href="../../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
452
-
453
- <li><a href="../../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
454
-
455
- <li><a href="../../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
456
-
457
- <li><a href="../../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
458
-
459
- <li><a href="../../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
460
-
461
- <li><a href="../../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
462
-
463
- <li><a href="../../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
464
-
465
- <li><a href="../../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
466
-
467
- <li><a href="../../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
468
-
469
- <li><a href="../../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
470
-
471
- <li><a href="../../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
472
-
473
- <li><a href="../../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
474
-
475
- <li><a href="../../TaskJuggler/StdIoWrapper.html">TaskJuggler::StdIoWrapper</a></li>
476
-
477
- <li><a href="../../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
478
-
479
- <li><a href="../../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
480
-
481
- <li><a href="../../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
482
-
483
- <li><a href="../../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
484
-
485
- <li><a href="../../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
486
-
487
- <li><a href="../../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
488
-
489
- <li><a href="../../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
490
-
491
- <li><a href="../../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
492
-
493
- <li><a href="../../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
494
-
495
- <li><a href="../../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
496
-
497
- <li><a href="../../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
498
-
499
- <li><a href="../../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
500
-
501
- <li><a href="../../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
502
-
503
- <li><a href="../../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
504
-
505
- <li><a href="../../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
506
-
507
- <li><a href="../../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
508
-
509
- <li><a href="../../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
510
-
511
- <li><a href="../../TaskJuggler/TernarySearchTree.html">TaskJuggler::TernarySearchTree</a></li>
512
-
513
- <li><a href="../../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
514
-
515
- <li><a href="../../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
516
-
517
- <li><a href="../../TaskJuggler/TextParser/Macro.html">TaskJuggler::TextParser::Macro</a></li>
518
-
519
- <li><a href="../../TaskJuggler/TextParser/MacroTable.html">TaskJuggler::TextParser::MacroTable</a></li>
520
-
521
- <li><a href="../../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
522
-
523
- <li><a href="../../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
524
-
525
- <li><a href="../../TaskJuggler/TextParser/Scanner.html">TaskJuggler::TextParser::Scanner</a></li>
526
-
527
- <li><a href="../../TaskJuggler/TextParser/Scanner/BufferStreamHandle.html">TaskJuggler::TextParser::Scanner::BufferStreamHandle</a></li>
528
-
529
- <li><a href="../../TaskJuggler/TextParser/Scanner/FileStreamHandle.html">TaskJuggler::TextParser::Scanner::FileStreamHandle</a></li>
530
-
531
- <li><a href="../../TaskJuggler/TextParser/Scanner/MacroStackEntry.html">TaskJuggler::TextParser::Scanner::MacroStackEntry</a></li>
532
-
533
- <li><a href="../../TaskJuggler/TextParser/Scanner/StreamHandle.html">TaskJuggler::TextParser::Scanner::StreamHandle</a></li>
534
-
535
- <li><a href="../../TaskJuggler/TextParser/SourceFileInfo.html">TaskJuggler::TextParser::SourceFileInfo</a></li>
536
-
537
- <li><a href="../../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
538
-
539
- <li><a href="../../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
540
-
541
- <li><a href="../../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
542
-
543
- <li><a href="../../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
544
-
545
- <li><a href="../../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
546
-
547
- <li><a href="../../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
548
-
549
- <li><a href="../../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
550
-
551
- <li><a href="../../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
552
-
553
- <li><a href="../../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
554
-
555
- <li><a href="../../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
556
-
557
- <li><a href="../../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
558
-
559
- <li><a href="../../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
560
-
561
- <li><a href="../../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
562
-
563
- <li><a href="../../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
564
-
565
- <li><a href="../../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
566
-
567
- <li><a href="../../TaskJuggler/Tj3.html">TaskJuggler::Tj3</a></li>
568
-
569
- <li><a href="../../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
570
-
571
- <li><a href="../../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
572
-
573
- <li><a href="../../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
574
-
575
- <li><a href="../../TaskJuggler/Tj3Man.html">TaskJuggler::Tj3Man</a></li>
576
-
577
- <li><a href="../../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
578
-
579
- <li><a href="../../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
580
-
581
- <li><a href="../../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
582
-
583
- <li><a href="../../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
584
-
585
- <li><a href="../../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
586
-
587
- <li><a href="../../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
588
-
589
- <li><a href="../../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
590
-
591
- <li><a href="../../TaskJuggler/TjRuntimeError.html">TaskJuggler::TjRuntimeError</a></li>
592
-
593
- <li><a href="../../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
594
-
595
- <li><a href="../../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
596
-
597
- <li><a href="../../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
598
-
599
- <li><a href="../../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
600
-
601
- <li><a href="../../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
602
-
603
- <li><a href="../../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
604
-
605
- <li><a href="../../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
606
-
607
- <li><a href="../../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
608
-
609
- <li><a href="../../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
610
-
611
- <li><a href="../../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
612
-
613
- <li><a href="../../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
614
-
615
- <li><a href="../../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
616
-
617
- <li><a href="../../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
618
-
619
- <li><a href="../../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
620
-
621
- <li><a href="../../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
622
-
623
- <li><a href="../../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
624
-
625
- <li><a href="../../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
626
-
627
- <li><a href="../../Diff.html">Diff</a></li>
628
-
629
- <li><a href="../../Diff/Hunk.html">Diff::Hunk</a></li>
630
-
631
- <li><a href="../../AppConfig.html">AppConfig</a></li>
632
-
633
- <li><a href="../../Diffable.html">Diffable</a></li>
634
-
635
- <li><a href="../../DiffableString.html">DiffableString</a></li>
636
-
637
- <li><a href="../../Object.html">Object</a></li>
638
-
639
- <li><a href="../../RuntimeConfig.html">RuntimeConfig</a></li>
640
-
641
- <li><a href="../../String.html">String</a></li>
642
-
643
- </ul>
644
- <div id="no-class-search-results" style="display: none;">No matching classes.</div>
645
- </div>
646
-
647
-
648
- </div>
649
- </div>
650
-
651
- <div id="documentation">
652
- <h1 class="class">TaskJuggler::TextParser::Scanner</h1>
653
-
654
- <div id="description">
655
- <p>
656
- The <a href="Scanner.html">Scanner</a> class is an abstract text scanner
657
- with support for nested include files and text macros. The tokenizer will
658
- operate on rules that must be provided by a derived class. The scanner is
659
- modal. Each mode operates only with the subset of token patterns that are
660
- assigned to the current mode. The current line is tracked accurately and
661
- can be used for error reporting. The scanner can operate on Strings or
662
- Files.
663
- </p>
664
-
665
- </div>
666
-
667
- <!-- Constants -->
668
-
669
-
670
- <!-- Attributes -->
671
-
672
-
673
- <!-- Methods -->
674
-
675
- <div id="public-class-method-details" class="method-section section">
676
- <h3 class="section-header">Public Class Methods</h3>
677
-
678
-
679
- <div id="new-method" class="method-detail ">
680
- <a name="method-c-new"></a>
681
-
682
- <div class="method-heading">
683
-
684
- <span class="method-name">new</span><span
685
- class="method-args">(masterFile, messageHandler, log, tokenPatterns, defaultMode)</span>
686
- <span class="method-click-advice">click to toggle source</span>
687
-
688
- </div>
689
-
690
- <div class="method-description">
691
-
692
- <p>
693
- Create a new instance of <a href="Scanner.html">Scanner</a>.
694
- <em>masterFile</em> must be a <a href="../../String.html">String</a> that
695
- either contains the name of the file to start with or the text itself.
696
- <em>messageHandler</em> is a <a
697
- href="../MessageHandler.html">MessageHandler</a> that is used for error
698
- messages. <em>log</em> is a <a href="../Log.html">Log</a> to report
699
- progress and status.
700
- </p>
701
-
702
-
703
-
704
- <div class="method-source-code"
705
- id="new-source">
706
- <pre>
707
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 203</span>
708
- 203: <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">log</span>, <span class="ruby-identifier">tokenPatterns</span>, <span class="ruby-identifier">defaultMode</span>)
709
- 204: <span class="ruby-ivar">@masterFile</span> = <span class="ruby-identifier">masterFile</span>
710
- 205: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-identifier">messageHandler</span>
711
- 206: <span class="ruby-ivar">@log</span> = <span class="ruby-identifier">log</span>
712
- 207: <span class="ruby-comment cmt"># This table contains all macros that may be expanded when found in the</span>
713
- 208: <span class="ruby-comment cmt"># text.</span>
714
- 209: <span class="ruby-ivar">@macroTable</span> = <span class="ruby-constant">MacroTable</span>.<span class="ruby-identifier">new</span>
715
- 210: <span class="ruby-comment cmt"># The currently processed IO object.</span>
716
- 211: <span class="ruby-ivar">@cf</span> = <span class="ruby-keyword kw">nil</span>
717
- 212: <span class="ruby-comment cmt"># This Array stores the currently processed nested files. It's an Array</span>
718
- 213: <span class="ruby-comment cmt"># of Arrays. The nested Array consists of 2 elements, the IO object and</span>
719
- 214: <span class="ruby-comment cmt"># the @tokenBuffer.</span>
720
- 215: <span class="ruby-ivar">@fileStack</span> = []
721
- 216: <span class="ruby-comment cmt"># This flag is set if we have reached the end of a file. Since we will</span>
722
- 217: <span class="ruby-comment cmt"># only know when the next new token is requested that the file is really</span>
723
- 218: <span class="ruby-comment cmt"># done now, we have to use this flag.</span>
724
- 219: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">false</span>
725
- 220: <span class="ruby-comment cmt"># True if the scanner operates on a buffer.</span>
726
- 221: <span class="ruby-ivar">@fileNameIsBuffer</span> = <span class="ruby-keyword kw">false</span>
727
- 222: <span class="ruby-comment cmt"># A SourceFileInfo of the start of the currently processed token.</span>
728
- 223: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-keyword kw">nil</span>
729
- 224: <span class="ruby-comment cmt"># Line number correction for error messages.</span>
730
- 225: <span class="ruby-ivar">@lineDelta</span> = <span class="ruby-value">0</span>
731
- 226: <span class="ruby-comment cmt"># Lists of regexps that describe the detectable tokens. The Arrays are</span>
732
- 227: <span class="ruby-comment cmt"># grouped by mode.</span>
733
- 228: <span class="ruby-ivar">@patternsByMode</span> = { }
734
- 229: <span class="ruby-comment cmt"># The currently active scanner mode.</span>
735
- 230: <span class="ruby-ivar">@scannerMode</span> = <span class="ruby-keyword kw">nil</span>
736
- 231: <span class="ruby-comment cmt"># The mode that the scanner is in at the start and end of file</span>
737
- 232: <span class="ruby-ivar">@defaultMode</span> = <span class="ruby-identifier">defaultMode</span>
738
- 233: <span class="ruby-comment cmt"># Points to the currently active pattern set as defined by the mode.</span>
739
- 234: <span class="ruby-ivar">@activePatterns</span> = <span class="ruby-keyword kw">nil</span>
740
- 235:
741
- 236: <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>
742
- 237: <span class="ruby-identifier">type</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">0</span>]
743
- 238: <span class="ruby-identifier">regExp</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">1</span>]
744
- 239: <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>
745
- 240: <span class="ruby-identifier">postProc</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">3</span>]
746
- 241: <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>)
747
- 242: <span class="ruby-keyword kw">end</span>
748
- 243: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-identifier">defaultMode</span>
749
- 244: <span class="ruby-keyword kw">end</span></pre>
750
- </div>
751
-
752
- </div>
753
-
754
-
755
-
756
-
757
- </div>
758
-
759
-
760
- </div>
761
-
762
- <div id="public-instance-method-details" class="method-section section">
763
- <h3 class="section-header">Public Instance Methods</h3>
764
-
765
-
766
- <div id="add-acro-method" class="method-detail ">
767
- <a name="method-i-addMacro"></a>
768
-
769
- <div class="method-heading">
770
-
771
- <span class="method-name">addMacro</span><span
772
- class="method-args">(macro)</span>
773
- <span class="method-click-advice">click to toggle source</span>
774
-
775
- </div>
776
-
777
- <div class="method-description">
778
-
779
- <p>
780
- Add a <a href="Macro.html">Macro</a> to the macro translation table.
781
- </p>
782
-
783
-
784
-
785
- <div class="method-source-code"
786
- id="add-acro-source">
787
- <pre>
788
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 474</span>
789
- 474: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addMacro</span>(<span class="ruby-identifier">macro</span>)
790
- 475: <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">add</span>(<span class="ruby-identifier">macro</span>)
791
- 476: <span class="ruby-keyword kw">end</span></pre>
792
- </div>
793
-
794
- </div>
795
-
796
-
797
-
798
-
799
- </div>
800
-
801
-
802
- <div id="add-attern-method" class="method-detail ">
803
- <a name="method-i-addPattern"></a>
804
-
805
- <div class="method-heading">
806
-
807
- <span class="method-name">addPattern</span><span
808
- class="method-args">(type, regExp, mode, postProc = nil)</span>
809
- <span class="method-click-advice">click to toggle source</span>
810
-
811
- </div>
812
-
813
- <div class="method-description">
814
-
815
- <p>
816
- Add a new pattern to the scanner. <em>type</em> is either nil for tokens
817
- that will be ignored, or some identifier that will be returned with each
818
- token of this type. <em>regExp</em> is the RegExp that describes the token.
819
- <em>mode</em> identifies the scanner mode where the pattern is active. If
820
- it&#8217;s only a single mode, <em>mode</em> specifies the mode directly.
821
- For multiple modes, it&#8217;s an Array of modes. <em>postProc</em> is a
822
- method reference. This method is called after the token has been detected.
823
- The method gets the type and the matching <a
824
- href="../../String.html">String</a> and returns them again in an Array.
825
- </p>
826
-
827
-
828
-
829
- <div class="method-source-code"
830
- id="add-attern-source">
831
- <pre>
832
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 254</span>
833
- 254: <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>)
834
- 255: <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>)
835
- 256: <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>
836
- 257: <span class="ruby-comment cmt"># The pattern is active in multiple modes</span>
837
- 258: <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>)
838
- 259: <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">m</span>] <span class="ruby-operator">&lt;&lt;</span> [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">regExp</span>, <span class="ruby-identifier">postProc</span> ]
839
- 260: <span class="ruby-keyword kw">end</span>
840
- 261: <span class="ruby-keyword kw">else</span>
841
- 262: <span class="ruby-comment cmt"># The pattern is only active in one specific mode.</span>
842
- 263: <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>)
843
- 264: <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">mode</span>] <span class="ruby-operator">&lt;&lt;</span> [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">regExp</span>, <span class="ruby-identifier">postProc</span> ]
844
- 265: <span class="ruby-keyword kw">end</span>
845
- 266: <span class="ruby-keyword kw">end</span></pre>
846
- </div>
847
-
848
- </div>
849
-
850
-
851
-
852
-
853
- </div>
854
-
855
-
856
- <div id="close-method" class="method-detail ">
857
- <a name="method-i-close"></a>
858
-
859
- <div class="method-heading">
860
-
861
- <span class="method-name">close</span><span
862
- class="method-args">()</span>
863
- <span class="method-click-advice">click to toggle source</span>
864
-
865
- </div>
866
-
867
- <div class="method-description">
868
-
869
- <p>
870
- Finish processing and reset all data structures.
871
- </p>
872
-
873
-
874
-
875
- <div class="method-source-code"
876
- id="close-source">
877
- <pre>
878
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 298</span>
879
- 298: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
880
- 299: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@fileNameIsBuffer</span>
881
- 300: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">&quot;Reading file #{@masterFile}&quot;</span>)
882
- 301: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">stopProgressMeter</span>
883
- 302: <span class="ruby-keyword kw">end</span>
884
- 303: <span class="ruby-ivar">@fileStack</span> = []
885
- 304: <span class="ruby-ivar">@cf</span> = <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
886
- 305: <span class="ruby-keyword kw">end</span></pre>
887
- </div>
888
-
889
- </div>
890
-
891
-
892
-
893
-
894
- </div>
895
-
896
-
897
- <div id="error-method" class="method-detail ">
898
- <a name="method-i-error"></a>
899
-
900
- <div class="method-heading">
901
-
902
- <span class="method-name">error</span><span
903
- class="method-args">(id, text, sfi = nil, data = nil)</span>
904
- <span class="method-click-advice">click to toggle source</span>
905
-
906
- </div>
907
-
908
- <div class="method-description">
909
-
910
- <p>
911
- Call this function to report any errors related to the parsed input.
912
- </p>
913
-
914
-
915
-
916
- <div class="method-source-code"
917
- id="error-source">
918
- <pre>
919
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 504</span>
920
- 504: <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>)
921
- 505: <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>)
922
- 506: <span class="ruby-keyword kw">end</span></pre>
923
- </div>
924
-
925
- </div>
926
-
927
-
928
-
929
-
930
- </div>
931
-
932
-
933
- <div id="expand-acro-method" class="method-detail ">
934
- <a name="method-i-expandMacro"></a>
935
-
936
- <div class="method-heading">
937
-
938
- <span class="method-name">expandMacro</span><span
939
- class="method-args">(prefix, args, callLength)</span>
940
- <span class="method-click-advice">click to toggle source</span>
941
-
942
- </div>
943
-
944
- <div class="method-description">
945
-
946
- <p>
947
- Expand a macro and inject it into the input stream. <em>prefix</em> is any
948
- string that was found right before the macro call. We have to inject it
949
- before the expanded macro. <em>args</em> is an Array of Strings. The first
950
- is the macro name, the rest are the parameters. <em>callLength</em> is the
951
- number of characters for the complete macro call &#8220;${&#8230;}&#8221;.
952
- </p>
953
-
954
-
955
-
956
- <div class="method-source-code"
957
- id="expand-acro-source">
958
- <pre>
959
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 488</span>
960
- 488: <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>, <span class="ruby-identifier">callLength</span>)
961
- 489: <span class="ruby-comment cmt"># Get the expanded macro from the @macroTable.</span>
962
- 490: <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>)
963
- 491: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">macro</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">text</span>
964
- 492: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'undefined_macro'</span>, <span class="ruby-node">&quot;Undefined macro '#{args[0]}' called&quot;</span>)
965
- 493: <span class="ruby-keyword kw">end</span>
966
- 494:
967
- 495: <span class="ruby-comment cmt"># If the expanded macro is empty, we can ignore it.</span>
968
- 496: <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>
969
- 497:
970
- 498: <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>, <span class="ruby-identifier">callLength</span>)
971
- 499: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'macro_stack_overflow'</span>, <span class="ruby-value str">&quot;Too many nested macro calls.&quot;</span>)
972
- 500: <span class="ruby-keyword kw">end</span>
973
- 501: <span class="ruby-keyword kw">end</span></pre>
974
- </div>
975
-
976
- </div>
977
-
978
-
979
-
980
-
981
- </div>
982
-
983
-
984
- <div id="file-ame-method" class="method-detail ">
985
- <a name="method-i-fileName"></a>
986
-
987
- <div class="method-heading">
988
-
989
- <span class="method-name">fileName</span><span
990
- class="method-args">()</span>
991
- <span class="method-click-advice">click to toggle source</span>
992
-
993
- </div>
994
-
995
- <div class="method-description">
996
-
997
- <p>
998
- Return the name of the currently processed file. If we are working on a
999
- text buffer, the text will be returned.
1000
- </p>
1001
-
1002
-
1003
-
1004
- <div class="method-source-code"
1005
- id="file-ame-source">
1006
- <pre>
1007
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 355</span>
1008
- 355: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fileName</span>
1009
- 356: <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>
1010
- 357: <span class="ruby-keyword kw">end</span></pre>
1011
- </div>
1012
-
1013
- </div>
1014
-
1015
-
1016
-
1017
-
1018
- </div>
1019
-
1020
-
1021
- <div id="include-method" class="method-detail ">
1022
- <a name="method-i-include"></a>
1023
-
1024
- <div class="method-heading">
1025
-
1026
- <span class="method-name">include</span><span
1027
- class="method-args">(includeFileName, sfi, &block)</span>
1028
- <span class="method-click-advice">click to toggle source</span>
1029
-
1030
- </div>
1031
-
1032
- <div class="method-description">
1033
-
1034
- <p>
1035
- Continue processing with a new file specified by <em>includeFileName</em>.
1036
- When this file is finished, we will continue in the old file after the
1037
- location where we started with the new file. The method returns the full
1038
- qualified name of the included file.
1039
- </p>
1040
-
1041
-
1042
-
1043
- <div class="method-source-code"
1044
- id="include-source">
1045
- <pre>
1046
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 311</span>
1047
- 311: <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>, &amp;<span class="ruby-identifier">block</span>)
1048
- 312: <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>
1049
- 313: <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>
1050
- 314: <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>
1051
- 315: <span class="ruby-comment cmt"># If the included file is not an absolute name, we interpret the file</span>
1052
- 316: <span class="ruby-comment cmt"># name relative to the including file.</span>
1053
- 317: <span class="ruby-identifier">includeFileName</span> = <span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">includeFileName</span>
1054
- 318: <span class="ruby-keyword kw">end</span>
1055
- 319:
1056
- 320: <span class="ruby-comment cmt"># Try to dectect recursive inclusions. This will not work if files are</span>
1057
- 321: <span class="ruby-comment cmt"># accessed via filesystem links.</span>
1058
- 322: <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>
1059
- 323: <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>
1060
- 324: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'include_recursion'</span>,
1061
- 325: <span class="ruby-node">&quot;Recursive inclusion of #{includeFileName} detected&quot;</span>, <span class="ruby-identifier">sfi</span>)
1062
- 326: <span class="ruby-keyword kw">end</span>
1063
- 327: <span class="ruby-keyword kw">end</span>
1064
- 328:
1065
- 329: <span class="ruby-comment cmt"># Save @tokenBuffer in the record of the parent file.</span>
1066
- 330: <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>
1067
- 331: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
1068
- 332: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">false</span>
1069
- 333:
1070
- 334: <span class="ruby-comment cmt"># Open the new file and push the handle on the @fileStack.</span>
1071
- 335: <span class="ruby-keyword kw">begin</span>
1072
- 336: <span class="ruby-ivar">@fileStack</span> <span class="ruby-operator">&lt;&lt;</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-ivar">@log</span>)),
1073
- 337: <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">block</span> ]
1074
- 338: <span class="ruby-ivar">@log</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Parsing file #{includeFileName}&quot;</span>
1075
- 339: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
1076
- 340: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'bad_include'</span>, <span class="ruby-node">&quot;Cannot open include file #{includeFileName}&quot;</span>, <span class="ruby-identifier">sfi</span>)
1077
- 341: <span class="ruby-keyword kw">end</span>
1078
- 342:
1079
- 343: <span class="ruby-comment cmt"># Return the name of the included file.</span>
1080
- 344: <span class="ruby-identifier">includeFileName</span>
1081
- 345: <span class="ruby-keyword kw">end</span></pre>
1082
- </div>
1083
-
1084
- </div>
1085
-
1086
-
1087
-
1088
-
1089
- </div>
1090
-
1091
-
1092
- <div id="macro-efined--method" class="method-detail ">
1093
- <a name="method-i-macroDefined%3F"></a>
1094
-
1095
- <div class="method-heading">
1096
-
1097
- <span class="method-name">macroDefined?</span><span
1098
- class="method-args">(name)</span>
1099
- <span class="method-click-advice">click to toggle source</span>
1100
-
1101
- </div>
1102
-
1103
- <div class="method-description">
1104
-
1105
- <p>
1106
- Return true if the <a href="Macro.html">Macro</a> <em>name</em> has been
1107
- added already.
1108
- </p>
1109
-
1110
-
1111
-
1112
- <div class="method-source-code"
1113
- id="macro-efined--source">
1114
- <pre>
1115
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 479</span>
1116
- 479: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">macroDefined?</span>(<span class="ruby-identifier">name</span>)
1117
- 480: <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
1118
- 481: <span class="ruby-keyword kw">end</span></pre>
1119
- </div>
1120
-
1121
- </div>
1122
-
1123
-
1124
-
1125
-
1126
- </div>
1127
-
1128
-
1129
- <div id="mode--method" class="method-detail ">
1130
- <a name="method-i-mode%3D"></a>
1131
-
1132
- <div class="method-heading">
1133
-
1134
- <span class="method-name">mode=</span><span
1135
- class="method-args">(newMode)</span>
1136
- <span class="method-click-advice">click to toggle source</span>
1137
-
1138
- </div>
1139
-
1140
- <div class="method-description">
1141
-
1142
- <p>
1143
- Switch the parser to another mode. The scanner will then only detect
1144
- patterns of that <em>newMode</em>.
1145
- </p>
1146
-
1147
-
1148
-
1149
- <div class="method-source-code"
1150
- id="mode--source">
1151
- <pre>
1152
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 270</span>
1153
- 270: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mode=</span>(<span class="ruby-identifier">newMode</span>)
1154
- 271: <span class="ruby-comment cmt">#puts &quot;**** New mode: #{newMode}&quot;</span>
1155
- 272: <span class="ruby-ivar">@activePatterns</span> = <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">newMode</span>]
1156
- 273: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Undefined mode #{newMode}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@activePatterns</span>
1157
- 274: <span class="ruby-ivar">@scannerMode</span> = <span class="ruby-identifier">newMode</span>
1158
- 275: <span class="ruby-keyword kw">end</span></pre>
1159
- </div>
1160
-
1161
- </div>
1162
-
1163
-
1164
-
1165
-
1166
- </div>
1167
-
1168
-
1169
- <div id="next-oken-method" class="method-detail ">
1170
- <a name="method-i-nextToken"></a>
1171
-
1172
- <div class="method-heading">
1173
-
1174
- <span class="method-name">nextToken</span><span
1175
- class="method-args">()</span>
1176
- <span class="method-click-advice">click to toggle source</span>
1177
-
1178
- </div>
1179
-
1180
- <div class="method-description">
1181
-
1182
- <p>
1183
- Return the next token from the input stream. The result is an Array with 3
1184
- entries: the token type, the token <a href="../../String.html">String</a>
1185
- and the <a href="SourceFileInfo.html">SourceFileInfo</a> where the token
1186
- started.
1187
- </p>
1188
-
1189
-
1190
-
1191
- <div class="method-source-code"
1192
- id="next-oken-source">
1193
- <pre>
1194
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 374</span>
1195
- 374: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
1196
- 375: <span class="ruby-comment cmt"># If we have a pushed-back token, return that first.</span>
1197
- 376: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
1198
- 377: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@tokenBuffer</span>
1199
- 378: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
1200
- 379: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
1201
- 380: <span class="ruby-keyword kw">end</span>
1202
- 381:
1203
- 382: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@finishLastFile</span>
1204
- 383: <span class="ruby-comment cmt"># The previously processed file has now really been processed to</span>
1205
- 384: <span class="ruby-comment cmt"># completion. Close it and remove the corresponding entry from the</span>
1206
- 385: <span class="ruby-comment cmt"># @fileStack.</span>
1207
- 386: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">false</span>
1208
- 387: <span class="ruby-comment cmt">#@log &lt;&lt; &quot;Completed file #{@cf.fileName}&quot;</span>
1209
- 388:
1210
- 389: <span class="ruby-comment cmt"># If we have a block to be executed on EOF, we call it now.</span>
1211
- 390: <span class="ruby-identifier">onEof</span> = <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>[<span class="ruby-value">2</span>]
1212
- 391: <span class="ruby-identifier">onEof</span>.<span class="ruby-identifier">call</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">onEof</span>
1213
- 392:
1214
- 393: <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>
1215
- 394: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">pop</span>
1216
- 395:
1217
- 396: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">empty?</span>
1218
- 397: <span class="ruby-comment cmt"># We are done with the top-level file now.</span>
1219
- 398: <span class="ruby-ivar">@cf</span> = <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
1220
- 399: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">true</span>
1221
- 400: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value">:endOfText</span>, <span class="ruby-value str">'&lt;EOT&gt;'</span>, <span class="ruby-ivar">@startOfToken</span> ]
1222
- 401: <span class="ruby-keyword kw">else</span>
1223
- 402: <span class="ruby-comment cmt"># Continue parsing the file that included the current file.</span>
1224
- 403: <span class="ruby-ivar">@cf</span>, <span class="ruby-identifier">tokenBuffer</span> = <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>
1225
- 404: <span class="ruby-ivar">@log</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Parsing file #{@cf.fileName} ...&quot;</span>
1226
- 405: <span class="ruby-comment cmt"># If we have a left over token from previously processing this file,</span>
1227
- 406: <span class="ruby-comment cmt"># return it now.</span>
1228
- 407: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tokenBuffer</span>
1229
- 408: <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>
1230
- 409: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">tokenBuffer</span>
1231
- 410: <span class="ruby-keyword kw">end</span>
1232
- 411: <span class="ruby-keyword kw">end</span>
1233
- 412: <span class="ruby-keyword kw">end</span>
1234
- 413:
1235
- 414: <span class="ruby-comment cmt"># Start processing characters from the input.</span>
1236
- 415: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-identifier">sourceFileInfo</span>
1237
- 416: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
1238
- 417: <span class="ruby-identifier">match</span> = <span class="ruby-keyword kw">nil</span>
1239
- 418: <span class="ruby-keyword kw">begin</span>
1240
- 419: <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>
1241
- 420: <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>))
1242
- 421: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span> <span class="ruby-operator">==</span> <span class="ruby-value">:scannerEOF</span>
1243
- 422: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scannerMode</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@defaultMode</span>
1244
- 423: <span class="ruby-comment cmt"># The stream resets the line number to 1. Since we still</span>
1245
- 424: <span class="ruby-comment cmt"># know the start of the token, we setup @lineDelta so that</span>
1246
- 425: <span class="ruby-comment cmt"># sourceFileInfo() returns the proper line number.</span>
1247
- 426: <span class="ruby-ivar">@lineDelta</span> = <span class="ruby-operator">-</span>(<span class="ruby-ivar">@startOfToken</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
1248
- 427: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'runaway_token'</span>,
1249
- 428: <span class="ruby-node">&quot;Unterminated token starting at #{@startOfToken}&quot;</span>)
1250
- 429: <span class="ruby-keyword kw">end</span>
1251
- 430: <span class="ruby-comment cmt"># We've found the end of an input file. Return a special token</span>
1252
- 431: <span class="ruby-comment cmt"># that describes the end of a file.</span>
1253
- 432: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">true</span>
1254
- 433: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value">:eof</span>, <span class="ruby-value str">'&lt;END&gt;'</span>, <span class="ruby-ivar">@startOfToken</span> ]
1255
- 434: <span class="ruby-keyword kw">end</span>
1256
- 435:
1257
- 436: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{re} matches empty string&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">empty?</span>
1258
- 437: <span class="ruby-comment cmt"># If we have a post processing method, call it now. It may modify</span>
1259
- 438: <span class="ruby-comment cmt"># the type or the found token String.</span>
1260
- 439: <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>
1261
- 440:
1262
- 441: <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>
1263
- 442:
1264
- 443: <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> ]
1265
- 444: <span class="ruby-keyword kw">end</span>
1266
- 445: <span class="ruby-keyword kw">end</span>
1267
- 446: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">ArgumentError</span>
1268
- 447: <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>)
1269
- 448: <span class="ruby-keyword kw">end</span>
1270
- 449:
1271
- 450: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">nil?</span>
1272
- 451: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">eof?</span>
1273
- 452: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'unexpected_eof'</span>,
1274
- 453: <span class="ruby-value str">&quot;Unexpected end of file found&quot;</span>)
1275
- 454: <span class="ruby-keyword kw">else</span>
1276
- 455: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'no_token_match'</span>,
1277
- 456: <span class="ruby-node">&quot;Unexpected characters found: '#{@cf.peek(10)}...'&quot;</span>)
1278
- 457: <span class="ruby-keyword kw">end</span>
1279
- 458: <span class="ruby-keyword kw">end</span>
1280
- 459: <span class="ruby-keyword kw">end</span>
1281
- 460: <span class="ruby-keyword kw">end</span></pre>
1282
- </div>
1283
-
1284
- </div>
1285
-
1286
-
1287
-
1288
-
1289
- </div>
1290
-
1291
-
1292
- <div id="open-method" class="method-detail ">
1293
- <a name="method-i-open"></a>
1294
-
1295
- <div class="method-heading">
1296
-
1297
- <span class="method-name">open</span><span
1298
- class="method-args">(fileNameIsBuffer = false)</span>
1299
- <span class="method-click-advice">click to toggle source</span>
1300
-
1301
- </div>
1302
-
1303
- <div class="method-description">
1304
-
1305
- <p>
1306
- Start the processing. if <em>fileNameIsBuffer</em> is true, we operate on a
1307
- <a href="../../String.html">String</a>, else on a File.
1308
- </p>
1309
-
1310
-
1311
-
1312
- <div class="method-source-code"
1313
- id="open-source">
1314
- <pre>
1315
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 280</span>
1316
- 280: <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>)
1317
- 281: <span class="ruby-ivar">@fileNameIsBuffer</span> = <span class="ruby-identifier">fileNameIsBuffer</span>
1318
- 282: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fileNameIsBuffer</span>
1319
- 283: <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-ivar">@log</span>),
1320
- 284: <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> ] ]
1321
- 285: <span class="ruby-keyword kw">else</span>
1322
- 286: <span class="ruby-keyword kw">begin</span>
1323
- 287: <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-ivar">@log</span>),
1324
- 288: <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> ] ]
1325
- 289: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
1326
- 290: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'open_file'</span>, <span class="ruby-node">&quot;Cannot open file #{@masterFile}&quot;</span>)
1327
- 291: <span class="ruby-keyword kw">end</span>
1328
- 292: <span class="ruby-keyword kw">end</span>
1329
- 293: <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>
1330
- 294: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
1331
- 295: <span class="ruby-keyword kw">end</span></pre>
1332
- </div>
1333
-
1334
- </div>
1335
-
1336
-
1337
-
1338
-
1339
- </div>
1340
-
1341
-
1342
- <div id="return-oken-method" class="method-detail ">
1343
- <a name="method-i-returnToken"></a>
1344
-
1345
- <div class="method-heading">
1346
-
1347
- <span class="method-name">returnToken</span><span
1348
- class="method-args">(token)</span>
1349
- <span class="method-click-advice">click to toggle source</span>
1350
-
1351
- </div>
1352
-
1353
- <div class="method-description">
1354
-
1355
- <p>
1356
- Return a token to retrieve it with the next nextToken() call again. Only 1
1357
- token can be returned before the next nextToken() call.
1358
- </p>
1359
-
1360
-
1361
-
1362
- <div class="method-source-code"
1363
- id="return-oken-source">
1364
- <pre>
1365
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 464</span>
1366
- 464: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
1367
- 465: <span class="ruby-comment cmt">#@log &lt;&lt; &quot;-&gt; Returning Token: [#{token[0]}][#{token[1]}]&quot;</span>
1368
- 466: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
1369
- 467: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-ivar">@tokenBuffer</span>
1370
- 468: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Fatal Error: Cannot return more than 1 token in a row&quot;</span>
1371
- 469: <span class="ruby-keyword kw">end</span>
1372
- 470: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-identifier">token</span>
1373
- 471: <span class="ruby-keyword kw">end</span></pre>
1374
- </div>
1375
-
1376
- </div>
1377
-
1378
-
1379
-
1380
-
1381
- </div>
1382
-
1383
-
1384
- <div id="source-ile-nfo-method" class="method-detail ">
1385
- <a name="method-i-sourceFileInfo"></a>
1386
-
1387
- <div class="method-heading">
1388
-
1389
- <span class="method-name">sourceFileInfo</span><span
1390
- class="method-args">()</span>
1391
- <span class="method-click-advice">click to toggle source</span>
1392
-
1393
- </div>
1394
-
1395
- <div class="method-description">
1396
-
1397
- <p>
1398
- Return <a href="SourceFileInfo.html">SourceFileInfo</a> for the current
1399
- processing prosition.
1400
- </p>
1401
-
1402
-
1403
-
1404
- <div class="method-source-code"
1405
- id="source-ile-nfo-source">
1406
- <pre>
1407
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 348</span>
1408
- 348: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sourceFileInfo</span>
1409
- 349: <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>
1410
- 350: <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>)
1411
- 351: <span class="ruby-keyword kw">end</span></pre>
1412
- </div>
1413
-
1414
- </div>
1415
-
1416
-
1417
-
1418
-
1419
- </div>
1420
-
1421
-
1422
- <div id="warning-method" class="method-detail ">
1423
- <a name="method-i-warning"></a>
1424
-
1425
- <div class="method-heading">
1426
-
1427
- <span class="method-name">warning</span><span
1428
- class="method-args">(id, text, sfi = nil, data = nil)</span>
1429
- <span class="method-click-advice">click to toggle source</span>
1430
-
1431
- </div>
1432
-
1433
- <div class="method-description">
1434
-
1435
-
1436
-
1437
-
1438
-
1439
- <div class="method-source-code"
1440
- id="warning-source">
1441
- <pre>
1442
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 508</span>
1443
- 508: <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>)
1444
- 509: <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>)
1445
- 510: <span class="ruby-keyword kw">end</span></pre>
1446
- </div>
1447
-
1448
- </div>
1449
-
1450
-
1451
-
1452
-
1453
- </div>
1454
-
1455
-
1456
- </div>
1457
-
1458
- <div id="private-instance-method-details" class="method-section section">
1459
- <h3 class="section-header">Private Instance Methods</h3>
1460
-
1461
-
1462
- <div id="message-method" class="method-detail ">
1463
- <a name="method-i-message"></a>
1464
-
1465
- <div class="method-heading">
1466
-
1467
- <span class="method-name">message</span><span
1468
- class="method-args">(type, id, text, sfi, data)</span>
1469
- <span class="method-click-advice">click to toggle source</span>
1470
-
1471
- </div>
1472
-
1473
- <div class="method-description">
1474
-
1475
-
1476
-
1477
-
1478
-
1479
- <div class="method-source-code"
1480
- id="message-source">
1481
- <pre>
1482
- <span class="ruby-comment cmt"># File lib/taskjuggler/TextParser/Scanner.rb, line 514</span>
1483
- 514: <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>)
1484
- 515: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">empty?</span>
1485
- 516: <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>
1486
- 517: <span class="ruby-identifier">sfi</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">sourceFileInfo</span>
1487
- 518:
1488
- 519: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cf</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">macroStack</span>.<span class="ruby-identifier">empty?</span>
1489
- 520: <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>)
1490
- 521:
1491
- 522: <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>
1492
- 523: <span class="ruby-identifier">macro</span> = <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">macro</span>
1493
- 524: <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>]
1494
- 525: <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">'&quot;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&quot;'</span> }
1495
- 526: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">info</span>(<span class="ruby-value str">'macro_stack'</span>,
1496
- 527: <span class="ruby-node">&quot; ${#{macro.name}#{args.empty? ? '' : ' '}&quot;</span> <span class="ruby-operator">+</span>
1497
- 528: <span class="ruby-node">&quot;#{args.join(' ')}}&quot;</span>,
1498
- 529: <span class="ruby-identifier">macro</span>.<span class="ruby-identifier">sourceFileInfo</span>)
1499
- 530: <span class="ruby-keyword kw">end</span>
1500
- 531: <span class="ruby-keyword kw">end</span>
1501
- 532:
1502
- 533: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">type</span>
1503
- 534: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:error</span>
1504
- 535: <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>)
1505
- 536: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:warning</span>
1506
- 537: <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>)
1507
- 538: <span class="ruby-keyword kw">else</span>
1508
- 539: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown message type #{type}&quot;</span>
1509
- 540: <span class="ruby-keyword kw">end</span>
1510
- 541: <span class="ruby-keyword kw">end</span>
1511
- 542: <span class="ruby-keyword kw">end</span></pre>
1512
- </div>
1513
-
1514
- </div>
1515
-
1516
-
1517
-
1518
-
1519
- </div>
1520
-
1521
-
1522
- </div>
1523
-
1524
-
1525
- </div>
1526
-
1527
-
1528
- <div id="rdoc-debugging-section-dump" class="debugging-section">
1529
-
1530
- <p>Disabled; run with --debug to generate this.</p>
1531
-
1532
- </div>
1533
-
1534
- <div id="validator-badges">
1535
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
1536
- <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
1537
- Rdoc Generator</a> 1.1.6</small>.</p>
1538
- </div>
1539
-
1540
- </body>
1541
- </html>
1542
-