Changeset 26
- Timestamp:
- Dec 8, 2010, 10:00:30 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Compiler/Analyze/UAnalyzer.pas
r25 r26 8 8 uses 9 9 SysUtils, Variants, Classes, Contnrs, 10 Dialogs, USourceCode, FileUtil ;10 Dialogs, USourceCode, FileUtil, SpecializedObjectList; 11 11 12 12 type … … 82 82 83 83 // TListAnalyzer = TGObjectList<Integer, TAnalyzer> 84 {$DEFINE TGObjectListIndex := Integer} 85 {$DEFINE TGObjectListItem := TAnalyzer} 86 {$DEFINE TGObjectListList := TObjectListAnalyzer} 87 {$DEFINE TGObjectList := TListAnalyzer} 88 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareAnalyzer} 89 {$DEFINE TGObjectListStringConverter := TObjectListStringConverterAnalyzer} 90 {$DEFINE INTERFACE} 91 {$I 'GenericObjectList.inc'} 84 TListAnalyzer = class(TListObject); 92 85 93 86 resourcestring … … 95 88 96 89 implementation 97 98 {$DEFINE IMPLEMENTATION_USES}99 {$I 'GenericObjectList.inc'}100 101 // TListAnalyzer = TGObjectList<Integer, TAnalyzer>102 {$DEFINE TGObjectListIndex := Integer}103 {$DEFINE TGObjectListItem := TAnalyzer}104 {$DEFINE TGObjectListList := TObjectListAnalyzer}105 {$DEFINE TGObjectList := TListAnalyzer}106 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareAnalyzer}107 {$DEFINE TGObjectListStringConverter := TObjectListStringConverterAnalyzer}108 {$DEFINE IMPLEMENTATION}109 {$I 'GenericObjectList.inc'}110 90 111 91 { TAnalyzer } -
trunk/Compiler/Analyze/UAnalyzerPascal.pas
r24 r26 156 156 I := 1; 157 157 while (I < Expressions.Count - 1) do begin 158 if not Expressions[I].Associated and159 ( Expressions[I].OperatorName = Operators[II]) then158 if not TExpression(Expressions[I]).Associated and 159 (TExpression(Expressions[I]).OperatorName = Operators[II]) then 160 160 begin 161 Expressions[I].Associated := True;162 Expressions[I - 1].SubItems.Last := Expressions[I];163 Expressions[I + 1].SubItems.First := Expressions[I];161 TExpression(Expressions[I]).Associated := True; 162 TExpression(Expressions[I - 1]).SubItems.Last := Expressions[I]; 163 TExpression(Expressions[I + 1]).SubItems.First := Expressions[I]; 164 164 Expressions.Delete(I); 165 165 end else Inc(I); 166 166 end; 167 167 end; 168 if Assigned( Expressions.First.SubItems.Last) then169 Assign( Expressions.First.SubItems.Last);170 Expressions.First.SubItems.Last := nil;168 if Assigned(TExpression(Expressions.First).SubItems.Last) then 169 Assign(TExpression(TExpression(Expressions.First).SubItems.Last)); 170 TExpression(Expressions.First).SubItems.Last := nil; 171 171 //ShowMessage(IntToStr(Expressions.Count)); 172 172 if Expressions.Count > 1 then 173 Expressions[1].SubItems.First := nil;173 TExpression(Expressions[1]).SubItems.First := nil; 174 174 end; 175 175 finally … … 191 191 ParseExpression(NewExpression); 192 192 193 Expressions.Last.SubItems.Last := NewExpression;194 with Expressions.Items[Expressions.Add(TExpression.Create)]do193 TExpression(Expressions.Last).SubItems.Last := NewExpression; 194 with TExpression(Expressions.Items[Expressions.Add(TExpression.Create)]) do 195 195 begin 196 196 CommonBlock := SourceCode.CommonBlock; … … 207 207 if IsOperator(NextToken) then begin 208 208 // Operator 209 Expressions.Last.OperatorName := ReadToken;210 Expressions.Last.NodeType := ntOperator;209 TExpression(Expressions.Last).OperatorName := ReadToken; 210 TExpression(Expressions.Last).NodeType := ntOperator; 211 211 Result := True; 212 212 end else Result := False; … … 320 320 end; 321 321 if Assigned(NewExpression) then begin 322 Expressions.Last.SubItems.Last := NewExpression;322 TExpression(Expressions.Last).SubItems.Last := NewExpression; 323 323 with Expressions.Items[Expressions.Add(TExpression.Create)] do 324 324 begin … … 672 672 if UseType is TTypeRecord then begin 673 673 UseFunction := TTypeRecord(UseType).CommonBlock.Functions.Search(UseName); 674 if not Assigned(UseFunction) then begin 675 ErrorMessage(SFunctionNotDeclared, [UseName]); 676 Exit; 677 end; 678 end else 679 if UseType is TTypeClass then begin 680 UseFunction := TTypeClass(UseType).CommonBlock.Functions.Search(UseName); 674 681 if not Assigned(UseFunction) then begin 675 682 ErrorMessage(SFunctionNotDeclared, [UseName]); … … 880 887 with Call do begin 881 888 ParameterExpression.Add(TExpression.Create); 882 ParameterExpression.Last.CommonBlock := SourceCode;883 ParseExpression( ParameterExpression.Last);889 TExpression(ParameterExpression.Last).CommonBlock := SourceCode; 890 ParseExpression(TExpression(ParameterExpression.Last)); 884 891 end; 885 892 Expect(')'); … … 1246 1253 ): Boolean; 1247 1254 var 1255 Visibility: TTypeVisibility; 1256 SectionType: TCommonBlockSection; 1248 1257 NewType2: TType; 1249 1258 TempType: TType; … … 1251 1260 if NextToken = 'class' then begin 1252 1261 Expect('class'); 1262 SectionType := cbsVariable; 1263 Visibility := tvPublic; 1253 1264 TempType := NewType; 1254 1265 NewType := TTypeClass.Create; 1255 1266 NewType.Assign(TempType); 1256 1267 TempType.Free; 1257 if NextToken <> ';' then begin 1258 while (NextToken <> 'end') and (NextTokenType <> ttEndOfFile) do 1259 begin 1260 if ParseType(NewType.Parent, NewType2, True, ':') then begin 1261 NewType2.Parent := NewType.Parent; 1262 TTypeClass(NewType).Items.Add(NewType2); 1263 end; 1264 Expect(';'); 1265 end; 1266 Expect('end'); 1267 end; 1268 TTypeClass(NewType).CommonBlock.Parent := NewType.Parent.Parent; 1269 while (NextToken <> 'end') and (NextTokenType <> ttEndOfFile) do begin 1270 // Visibility sections 1271 if NextToken = 'public' then begin 1272 Expect('public'); 1273 Visibility := tvPublic; 1274 end else 1275 if NextToken = 'private' then begin 1276 Expect('private'); 1277 Visibility := tvPrivate; 1278 end else 1279 if NextToken = 'published' then begin 1280 Expect('published'); 1281 Visibility := tvPublished; 1282 end else 1283 if NextToken = 'protected' then begin 1284 Expect('protected'); 1285 Visibility := tvProtected; 1286 end else 1287 1288 // Definition sections 1289 if NextToken = 'var' then begin 1290 Expect('var'); 1291 SectionType := cbsVariable; 1292 end else 1293 if NextToken = 'const' then begin 1294 Expect('const'); 1295 SectionType := cbsConstant; 1296 end else 1297 if NextToken = 'type' then begin 1298 Expect('type'); 1299 SectionType := cbsType; 1300 end; 1301 1302 if NextToken = 'procedure' then 1303 ParseFunction(TTypeClass(NewType).CommonBlock.Functions, True) 1304 else if NextToken = 'function' then 1305 ParseFunction(TTypeClass(NewType).CommonBlock.Functions, True) 1306 else 1307 if SectionType = cbsConstant then begin 1308 ParseConstant(TTypeClass(NewType).CommonBlock.Constants, True) 1309 end else 1310 if SectionType = cbsVariable then begin 1311 ParseVariable(TTypeClass(NewType).CommonBlock.Variables, True); 1312 end else 1313 if SectionType = cbsType then 1314 with TTypeClass(NewType).CommonBlock do begin 1315 if ParseType(Types, NewType2, True, '=') then begin 1316 Types.Add(NewType2); 1317 NewType2.Parent := Types; 1318 end; 1319 end; 1320 end; 1321 Expect('end'); 1268 1322 Result := True; 1269 1323 end else Result := False; -
trunk/Compiler/Produce/UProducer.pas
r17 r26 7 7 8 8 uses 9 USourceCode, Classes, SysUtils, StrUtils ;9 USourceCode, Classes, SysUtils, StrUtils, SpecializedObjectList; 10 10 11 11 type … … 27 27 28 28 // TListProducer = TGObjectList<Integer, TProducer> 29 {$DEFINE TGObjectListIndex := Integer} 30 {$DEFINE TGObjectListItem := TProducer} 31 {$DEFINE TGObjectListList := TObjectListProducer} 32 {$DEFINE TGObjectList := TListProducer} 33 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareProducer} 34 {$DEFINE TGObjectListStringConverter := TObjectListStringConverterProducer} 35 {$DEFINE INTERFACE} 36 {$I 'GenericObjectList.inc'} 29 TListProducer = class(TListObject); 37 30 38 31 implementation 39 40 {$DEFINE IMPLEMENTATION_USES}41 {$I 'GenericObjectList.inc'}42 43 // TListProducer = TGObjectList<Integer, TProducer>44 {$DEFINE TGObjectListIndex := Integer}45 {$DEFINE TGObjectListItem := TProducer}46 {$DEFINE TGObjectListList := TObjectListProducer}47 {$DEFINE TGObjectList := TListProducer}48 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareProducer}49 {$DEFINE TGObjectListStringConverter := TObjectListStringConverterProducer}50 {$DEFINE IMPLEMENTATION}51 {$I 'GenericObjectList.inc'}52 32 53 33 { TProducer } -
trunk/Compiler/Produce/UProducerPascal.pas
r21 r26 137 137 with TTypeRecord(AType).CommonBlock do 138 138 for I := 0 to Variables.Count - 1 do begin 139 Emit( Variables[I].Name + ': ');140 GenerateType( Variables[I].ValueType);139 Emit(TVariable(Variables[I]).Name + ': '); 140 GenerateType(TVariable(Variables[I]).ValueType); 141 141 EmitLn(';'); 142 142 end; … … 259 259 Inc(Indetation); 260 260 for I := 0 to Constants.Count - 1 do 261 GenerateConstant( Constants[I]);261 GenerateConstant(TConstant(Constants[I])); 262 262 Dec(Indetation); 263 263 Emit(''); -
trunk/Compiler/TranspascalCompiler.lpk
r17 r26 12 12 </SearchPaths> 13 13 <Other> 14 <CompilerMessages> 15 <IgnoredMessages idx5023="True" idx5024="True" idx5025="True" idx5026="True" idx5027="True" idx5028="True" idx5029="True" idx5030="True" idx5031="True"/> 16 </CompilerMessages> 14 17 <CustomOptions Value="-dSINGLE_PRODUCER_"/> 15 18 <CompilerPath Value="$(CompPath)"/> -
trunk/Compiler/USourceCode.pas
r25 r26 58 58 59 59 // TListExpression = TGObjectList<Integer, TExpression> 60 {$DEFINE TGObjectListIndex := Integer} 61 {$DEFINE TGObjectListItem := TExpression} 62 {$DEFINE TGObjectListList := TObjectListExpression} 63 {$DEFINE TGObjectList := TListExpression} 64 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareExpression} 65 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterExpression} 66 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterExpression} 67 {$DEFINE INTERFACE} 68 {$I 'GenericObjectList.inc'} 60 TListExpression = class(TListObject); 69 61 70 62 { TFunctionCall } … … 129 121 130 122 // TListCaseOfEndBranche = TGObjectList<Integer, TCaseOfEndBranche> 131 {$DEFINE TGObjectListIndex := Integer} 132 {$DEFINE TGObjectListItem := TCaseOfEndBranche} 133 {$DEFINE TGObjectListList := TObjectListCaseOfEndBranche} 134 {$DEFINE TGObjectList := TListCaseOfEndBranche} 135 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareCaseOfEndBranche} 136 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterCaseOfEndBranche} 137 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterCaseOfEndBranche} 138 {$DEFINE INTERFACE} 139 {$I 'GenericObjectList.inc'} 123 TListCaseOfEndBranche = class(TListObject); 140 124 141 125 TCaseOfEnd = class(TCommand) … … 158 142 159 143 // TCommandList = TGObjectList<Integer, TCommand> 160 {$DEFINE TGObjectListIndex := Integer} 161 {$DEFINE TGObjectListItem := TCommand} 162 {$DEFINE TGObjectListList := TObjectListCommand} 163 {$DEFINE TGObjectList := TCommandList} 164 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareCommand} 165 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterCommand} 166 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterCommand} 167 {$DEFINE INTERFACE} 168 {$I 'GenericObjectList.inc'} 144 TCommandList = class(TListObject); 169 145 170 146 TCommonBlockSection = (cbsVariable, cbsType, cbsConstant); … … 203 179 204 180 // TListType = TGObjectList<Integer, TType> 205 {$DEFINE TGObjectListIndex := Integer} 206 {$DEFINE TGObjectListItem := TType} 207 {$DEFINE TGObjectListList := TObjectListType} 208 {$DEFINE TGObjectList := TListType} 209 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareType} 210 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterType} 211 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterType} 212 {$DEFINE INTERFACE} 213 {$I 'GenericObjectList.inc'} 181 TListType = class(TListObject); 214 182 215 183 TTypeList = class(TListType) … … 247 215 248 216 // TListEnumItem = TGObjectList<Integer, TEnumItem> 249 {$DEFINE TGObjectListIndex := Integer} 250 {$DEFINE TGObjectListItem := TEnumItem} 251 {$DEFINE TGObjectListList := TObjectListEnumItem} 252 {$DEFINE TGObjectList := TListEnumItem} 253 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareEnumItem} 254 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterEnumItem} 255 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterEnumItem} 256 {$DEFINE INTERFACE} 257 {$I 'GenericObjectList.inc'} 217 TListEnumItem = class(TListObject); 258 218 259 219 TTypeEnumeration = class(TType) … … 266 226 267 227 TTypeClass = class(TType) 268 Items: TListType;228 CommonBlock: TCommonBlock; 269 229 constructor Create; 270 230 destructor Destroy; override; … … 280 240 281 241 // TListConstant = TGObjectList<Integer, TConstant> 282 {$DEFINE TGObjectListIndex := Integer} 283 {$DEFINE TGObjectListItem := TConstant} 284 {$DEFINE TGObjectListList := TObjectListConstant} 285 {$DEFINE TGObjectList := TListConstant} 286 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareConstant} 287 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterConstant} 288 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterConstant} 289 {$DEFINE INTERFACE} 290 {$I 'GenericObjectList.inc'} 242 TListConstant = class(TListObject); 291 243 292 244 TConstantList = class(TListConstant) … … 304 256 305 257 // TListVariable = TGObjectList<Integer, TVariable> 306 {$DEFINE TGObjectListIndex := Integer} 307 {$DEFINE TGObjectListItem := TVariable} 308 {$DEFINE TGObjectListList := TObjectListVariable} 309 {$DEFINE TGObjectList := TListVariable} 310 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareVariable} 311 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterVariable} 312 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterVariable} 313 {$DEFINE INTERFACE} 314 {$I 'GenericObjectList.inc'} 258 TListVariable = class(TListObject); 315 259 316 260 TVariableList = class(TListVariable) … … 324 268 325 269 // TListParameter = TGObjectList<Integer, TParameter> 326 {$DEFINE TGObjectListIndex := Integer} 327 {$DEFINE TGObjectListItem := TParameter} 328 {$DEFINE TGObjectListList := TObjectListParameter} 329 {$DEFINE TGObjectList := TListParameter} 330 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareParameter} 331 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterParameter} 332 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterParameter} 333 {$DEFINE INTERFACE} 334 {$I 'GenericObjectList.inc'} 270 TListParameter = class(TListObject); 335 271 336 272 TParameterList = class(TListParameter) … … 373 309 374 310 // TListFunction = TGObjectList<Integer, TFunction> 375 {$DEFINE TGObjectListIndex := Integer} 376 {$DEFINE TGObjectListItem := TFunction} 377 {$DEFINE TGObjectListList := TObjectListFunction} 378 {$DEFINE TGObjectList := TListFunction} 379 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareFunction} 380 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterFunction} 381 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterFunction} 382 {$DEFINE INTERFACE} 383 {$I 'GenericObjectList.inc'} 311 TListFunction = class(TListObject); 384 312 385 313 TFunctionList = class(TListFunction) … … 397 325 398 326 // TListUsedModule = TGObjectList<Integer, TUsedModule> 399 {$DEFINE TGObjectListIndex := Integer} 400 {$DEFINE TGObjectListItem := TUsedModule} 401 {$DEFINE TGObjectListList := TObjectListUsedModule} 402 {$DEFINE TGObjectList := TListUsedModule} 403 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareUsedModule} 404 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterUsedModule} 405 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterUsedModule} 406 {$DEFINE INTERFACE} 407 {$I 'GenericObjectList.inc'} 327 TListUsedModule = class(TListObject); 408 328 409 329 TUsedModuleList = class(TListUsedModule) … … 452 372 453 373 // TListModule = TGObjectList<Integer, TModule> 454 {$DEFINE TGObjectListIndex := Integer} 455 {$DEFINE TGObjectListItem := TModule} 456 {$DEFINE TGObjectListList := TObjectListModule} 457 {$DEFINE TGObjectList := TListModule} 458 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareModule} 459 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterModule} 460 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterModule} 461 {$DEFINE INTERFACE} 462 {$I 'GenericObjectList.inc'} 374 TListModule = class(TListObject); 463 375 464 376 { TModuleList } … … 491 403 implementation 492 404 493 {$DEFINE IMPLEMENTATION_USES}494 {$I 'GenericObjectList.inc'}495 496 // TListExpression = TGObjectList<Integer, TExpression>497 {$DEFINE TGObjectListIndex := Integer}498 {$DEFINE TGObjectListItem := TExpression}499 {$DEFINE TGObjectListList := TObjectListExpression}500 {$DEFINE TGObjectList := TListExpression}501 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareExpression}502 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterExpression}503 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterExpression}504 {$DEFINE IMPLEMENTATION}505 {$I 'GenericObjectList.inc'}506 507 // TListCaseOfEndBranche = TGObjectList<Integer, TCaseOfEndBranche>508 {$DEFINE TGObjectListIndex := Integer}509 {$DEFINE TGObjectListItem := TCaseOfEndBranche}510 {$DEFINE TGObjectListList := TObjectListCaseOfEndBranche}511 {$DEFINE TGObjectList := TListCaseOfEndBranche}512 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareCaseOfEndBranche}513 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterCaseOfEndBranche}514 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterCaseOfEndBranche}515 {$DEFINE IMPLEMENTATION}516 {$I 'GenericObjectList.inc'}517 518 // TCommandList = TGObjectList<Integer, TCommand>519 {$DEFINE TGObjectListIndex := Integer}520 {$DEFINE TGObjectListItem := TCommand}521 {$DEFINE TGObjectListList := TObjectListCommand}522 {$DEFINE TGObjectList := TCommandList}523 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareCommand}524 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterCommand}525 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterCommand}526 {$DEFINE IMPLEMENTATION}527 {$I 'GenericObjectList.inc'}528 529 // TListEnumItem = TGObjectList<Integer, TEnumItem>530 {$DEFINE TGObjectListIndex := Integer}531 {$DEFINE TGObjectListItem := TEnumItem}532 {$DEFINE TGObjectListList := TObjectListEnumItem}533 {$DEFINE TGObjectList := TListEnumItem}534 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareEnumItem}535 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterEnumItem}536 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterEnumItem}537 {$DEFINE IMPLEMENTATION}538 {$I 'GenericObjectList.inc'}539 540 // TListType = TGObjectList<Integer, TType>541 {$DEFINE TGObjectListIndex := Integer}542 {$DEFINE TGObjectListItem := TType}543 {$DEFINE TGObjectListList := TObjectListType}544 {$DEFINE TGObjectList := TListType}545 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareType}546 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterType}547 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterType}548 {$DEFINE IMPLEMENTATION}549 {$I 'GenericObjectList.inc'}550 551 // TListConstant = TGObjectList<Integer, TConstant>552 {$DEFINE TGObjectListIndex := Integer}553 {$DEFINE TGObjectListItem := TConstant}554 {$DEFINE TGObjectListList := TObjectListConstant}555 {$DEFINE TGObjectList := TListConstant}556 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareConstant}557 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterConstant}558 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterConstant}559 {$DEFINE IMPLEMENTATION}560 {$I 'GenericObjectList.inc'}561 562 // TListVariable = TGObjectList<Integer, TVariable>563 {$DEFINE TGObjectListIndex := Integer}564 {$DEFINE TGObjectListItem := TVariable}565 {$DEFINE TGObjectListList := TObjectListVariable}566 {$DEFINE TGObjectList := TListVariable}567 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareVariable}568 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterVariable}569 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterVariable}570 {$DEFINE IMPLEMENTATION}571 {$I 'GenericObjectList.inc'}572 573 // TListParameter = TGObjectList<Integer, TParameter>574 {$DEFINE TGObjectListIndex := Integer}575 {$DEFINE TGObjectListItem := TParameter}576 {$DEFINE TGObjectListList := TObjectListParameter}577 {$DEFINE TGObjectList := TListParameter}578 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareParameter}579 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterParameter}580 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterParameter}581 {$DEFINE IMPLEMENTATION}582 {$I 'GenericObjectList.inc'}583 584 // TListFunction = TGObjectList<Integer, TFunction>585 {$DEFINE TGObjectListIndex := Integer}586 {$DEFINE TGObjectListItem := TFunction}587 {$DEFINE TGObjectListList := TObjectListFunction}588 {$DEFINE TGObjectList := TListFunction}589 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareFunction}590 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterFunction}591 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterFunction}592 {$DEFINE IMPLEMENTATION}593 {$I 'GenericObjectList.inc'}594 595 // TListUsedModule = TGObjectList<Integer, TUsedModule>596 {$DEFINE TGObjectListIndex := Integer}597 {$DEFINE TGObjectListItem := TUsedModule}598 {$DEFINE TGObjectListList := TObjectListUsedModule}599 {$DEFINE TGObjectList := TListUsedModule}600 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareUsedModule}601 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterUsedModule}602 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterUsedModule}603 {$DEFINE IMPLEMENTATION}604 {$I 'GenericObjectList.inc'}605 606 // TListModule = TGObjectList<Integer, TModule>607 {$DEFINE TGObjectListIndex := Integer}608 {$DEFINE TGObjectListItem := TModule}609 {$DEFINE TGObjectListList := TObjectListModule}610 {$DEFINE TGObjectList := TListModule}611 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareModule}612 {$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterModule}613 {$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterModule}614 {$DEFINE IMPLEMENTATION}615 {$I 'GenericObjectList.inc'}616 617 405 { TFunction } 618 406 … … 661 449 begin 662 450 I := 0; 663 while (I < Count) and (LowerCase( Items[I].Name) <> LowerCase(Name)) do Inc(I);664 if I < Count then Result := Items[I]else begin451 while (I < Count) and (LowerCase(TConstant(Items[I]).Name) <> LowerCase(Name)) do Inc(I); 452 if I < Count then Result := TConstant(Items[I]) else begin 665 453 if Assigned(Parent.Parent) then Result := Parent.Parent.Constants.Search(Name) 666 454 else begin … … 742 530 // Search in own list 743 531 I := 0; 744 while (I < Count) and (LowerCase( Items[I].Name) <> LowerCase(Name)) do Inc(I);745 if I < Count then Result := Items[I]532 while (I < Count) and (LowerCase(TType(Items[I]).Name) <> LowerCase(Name)) do Inc(I); 533 if I < Count then Result := TType(Items[I]) 746 534 else Result := nil; 747 535 … … 769 557 // Search in own list 770 558 I := 0; 771 while (I < Count) and (LowerCase( Items[I].Name) <> LowerCase(Name)) do Inc(I);559 while (I < Count) and (LowerCase(TVariable(Items[I]).Name) <> LowerCase(Name)) do Inc(I); 772 560 if I < Count then Result := TVariable(Items[I]) else Result := nil; 773 561 … … 814 602 // Search in own list 815 603 I := 0; 816 while (I < Count) and (LowerCase( Items[I].Name) <> LowerCase(Name)) do Inc(I);817 if I < Count then Result := Items[I]else Result := nil;604 while (I < Count) and (LowerCase(TFunction(Items[I]).Name) <> LowerCase(Name)) do Inc(I); 605 if I < Count then Result := TFunction(Items[I]) else Result := nil; 818 606 819 607 // Search parent block list … … 865 653 begin 866 654 I := 0; 867 while (I < Count) and (LowerCase( Items[I].Name) <> LowerCase(Name)) do Inc(I);868 if I < Count then Result := Items[I]655 while (I < Count) and (LowerCase(TParameter(Items[I]).Name) <> LowerCase(Name)) do Inc(I); 656 if I < Count then Result := TParameter(Items[I]) 869 657 else Result := nil; 870 658 end; … … 995 783 begin 996 784 I := 0; 997 while (I < Count) and (LowerCase(Items[I].Name) <> LowerCase(Name)) do Inc(I); 998 if I < Count then Result := Items[I] else Result := nil; 785 while (I < Count) and (LowerCase(TModule(Items[I]).Name) <> LowerCase(Name)) do Inc(I); 786 if I < Count then Result := TModule(Items[I]) 787 else Result := nil; 999 788 end; 1000 789 … … 1010 799 I := 0; 1011 800 while (I < UsedModules.Count) and (not Assigned(Result)) do begin 1012 Result := UsedModules[I].Module.SearchVariable(Name, False);801 Result := TUsedModule(UsedModules[I]).Module.SearchVariable(Name, False); 1013 802 Inc(I); 1014 803 end; … … 1030 819 I := 0; 1031 820 while (I < UsedModules.Count) and (not Assigned(Result)) do begin 1032 with UsedModules[I]do821 with TUsedModule(UsedModules[I]) do 1033 822 if Assigned(Module) then 1034 823 with Module do … … 1048 837 I := 0; 1049 838 while (I < UsedModules.Count) and (not Assigned(Result)) do begin 1050 if Assigned( UsedModules[I].Module) then1051 Result := UsedModules[I].Module.SearchFunction(Name, False);839 if Assigned(TUsedModule(UsedModules[I]).Module) then 840 Result := TUsedModule(UsedModules[I]).Module.SearchFunction(Name, False); 1052 841 Inc(I); 1053 842 end; … … 1103 892 begin 1104 893 inherited; 1105 Items := TListType.Create;894 CommonBlock := TCommonBlock.Create; 1106 895 end; 1107 896 1108 897 destructor TTypeClass.Destroy; 1109 898 begin 1110 Items.Free;899 CommonBlock.Free; 1111 900 inherited Destroy; 1112 901 end; … … 1125 914 NewType := TType.Create; 1126 915 //NewType := TType(Source.Parameters[I].ClassType.Create); 1127 NewType.Assign( Source.Parameters[I]);916 NewType.Assign(TType(Source.Parameters[I])); 1128 917 Parameters.Add(NewType); 1129 918 end; -
trunk/IDE/Forms/UMainForm.pas
r25 r26 11 11 UProject, FileUtil, Menus, ActnList, UCoolDocking, 12 12 UCompiledForm, UCodeTreeForm, URegistry, ULastOpenedList, UApplicationInfo, 13 UDebugLog ;13 UDebugLog, UAnalyzer, UProducer; 14 14 15 15 const … … 97 97 if (ComboBoxAnalyzer.Items.Count > 0) and (ComboBoxAnalyzer.ItemIndex <> -1) and 98 98 (ComboBoxProducer.Items.Count > 0) and (ComboBoxProducer.ItemIndex <> -1) then begin 99 Compiler.Producer := Compiler.Producers[ComboBoxProducer.ItemIndex];100 Compiler.Analyzer := Compiler.Analyzers[ComboBoxAnalyzer.ItemIndex];99 Compiler.Producer := TProducer(Compiler.Producers[ComboBoxProducer.ItemIndex]); 100 Compiler.Analyzer := TAnalyzer(Compiler.Analyzers[ComboBoxAnalyzer.ItemIndex]); 101 101 Compiler.Analyzer.OnGetSource := GetSource; 102 102 Compiler.Init; … … 237 237 ComboBoxProducer.Clear; 238 238 for I := 0 to Compiler.Producers.Count - 1 do 239 ComboBoxProducer.AddItem( Compiler.Producers[I].Name, nil);239 ComboBoxProducer.AddItem(TProducer(Compiler.Producers[I]).Name, nil); 240 240 241 241 ComboBoxAnalyzer.Clear; 242 242 for I := 0 to Compiler.Analyzers.Count - 1 do 243 ComboBoxAnalyzer.AddItem( Compiler.Analyzers[I].Name, nil);243 ComboBoxAnalyzer.AddItem(TAnalyzer(Compiler.Analyzers[I]).Name, nil); 244 244 end; 245 245 -
trunk/IDE/Transpascal.lpi
r24 r26 53 53 </Item5> 54 54 </RequiredPackages> 55 <Units Count="7 4">55 <Units Count="75"> 56 56 <Unit0> 57 57 <Filename Value="Transpascal.lpr"/> … … 71 71 <ResourceBaseClass Value="Form"/> 72 72 <UnitName Value="UMainForm"/> 73 <IsVisibleTab Value="True"/> 73 74 <EditorIndex Value="0"/> 74 75 <WindowIndex Value="0"/> 75 <TopLine Value=" 1"/>76 <CursorPos X="4 9" Y="9"/>76 <TopLine Value="226"/> 77 <CursorPos X="40" Y="239"/> 77 78 <UsageCount Value="215"/> 78 79 <Loaded Value="True"/> … … 184 185 <EditorIndex Value="6"/> 185 186 <WindowIndex Value="0"/> 186 <TopLine Value=" 7"/>187 <CursorPos X=" 30" Y="25"/>187 <TopLine Value="1"/> 188 <CursorPos X="24" Y="10"/> 188 189 <UsageCount Value="223"/> 189 190 <Loaded Value="True"/> … … 220 221 <ResourceBaseClass Value="Form"/> 221 222 <UnitName Value="UProjectManager"/> 222 <EditorIndex Value=" 18"/>223 <EditorIndex Value="20"/> 223 224 <WindowIndex Value="0"/> 224 225 <TopLine Value="68"/> … … 235 236 <ResourceBaseClass Value="Form"/> 236 237 <UnitName Value="UCodeForm"/> 237 <EditorIndex Value=" 7"/>238 <EditorIndex Value="8"/> 238 239 <WindowIndex Value="0"/> 239 240 <TopLine Value="36"/> … … 250 251 <ResourceBaseClass Value="Form"/> 251 252 <UnitName Value="UMessagesForm"/> 252 <EditorIndex Value="1 0"/>253 <EditorIndex Value="11"/> 253 254 <WindowIndex Value="0"/> 254 255 <TopLine Value="47"/> … … 457 458 <EditorIndex Value="16"/> 458 459 <WindowIndex Value="0"/> 459 <TopLine Value=" 71"/>460 <CursorPos X="1 " Y="85"/>460 <TopLine Value="26"/> 461 <CursorPos X="14" Y="54"/> 461 462 <UsageCount Value="82"/> 462 463 <Loaded Value="True"/> … … 480 481 <Filename Value="..\Compiler\UCompiler.pas"/> 481 482 <UnitName Value="UCompiler"/> 482 <EditorIndex Value="1 1"/>483 <WindowIndex Value="0"/> 484 <TopLine Value=" 60"/>485 <CursorPos X=" 45" Y="68"/>483 <EditorIndex Value="12"/> 484 <WindowIndex Value="0"/> 485 <TopLine Value="43"/> 486 <CursorPos X="31" Y="56"/> 486 487 <UsageCount Value="40"/> 487 488 <Loaded Value="True"/> … … 490 491 <Filename Value="..\Compiler\Produce\UProducer.pas"/> 491 492 <UnitName Value="UProducer"/> 492 <WindowIndex Value="0"/> 493 <TopLine Value="58"/> 494 <CursorPos X="1" Y="79"/> 493 <EditorIndex Value="7"/> 494 <WindowIndex Value="0"/> 495 <TopLine Value="1"/> 496 <CursorPos X="66" Y="9"/> 495 497 <UsageCount Value="30"/> 498 <Loaded Value="True"/> 496 499 </Unit47> 497 500 <Unit48> 498 501 <Filename Value="..\Compiler\Analyze\UAnalyzer.pas"/> 499 502 <UnitName Value="UAnalyzer"/> 500 <EditorIndex Value="1 2"/>501 <WindowIndex Value="0"/> 502 <TopLine Value=" 36"/>503 <CursorPos X=" 5" Y="49"/>503 <EditorIndex Value="13"/> 504 <WindowIndex Value="0"/> 505 <TopLine Value="22"/> 506 <CursorPos X="3" Y="35"/> 504 507 <UsageCount Value="39"/> 505 508 <Loaded Value="True"/> … … 508 511 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 509 512 <UnitName Value="UAnalyzerPascal"/> 510 <EditorIndex Value="1 7"/>511 <WindowIndex Value="0"/> 512 <TopLine Value=" 1239"/>513 <CursorPos X=" 1" Y="1255"/>513 <EditorIndex Value="19"/> 514 <WindowIndex Value="0"/> 515 <TopLine Value="877"/> 516 <CursorPos X="65" Y="890"/> 514 517 <UsageCount Value="39"/> 515 518 <Loaded Value="True"/> … … 518 521 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 519 522 <UnitName Value="UProducerPascal"/> 520 <EditorIndex Value="1 3"/>521 <WindowIndex Value="0"/> 522 <TopLine Value=" 164"/>523 <CursorPos X=" 52" Y="171"/>523 <EditorIndex Value="14"/> 524 <WindowIndex Value="0"/> 525 <TopLine Value="248"/> 526 <CursorPos X="37" Y="261"/> 524 527 <UsageCount Value="39"/> 525 528 <Loaded Value="True"/> … … 552 555 <Filename Value="..\Compiler\USourceCode.pas"/> 553 556 <UnitName Value="USourceCode"/> 554 <IsVisibleTab Value="True"/> 555 <EditorIndex Value="14"/> 556 <WindowIndex Value="0"/> 557 <TopLine Value="1090"/> 558 <CursorPos X="30" Y="1103"/> 557 <EditorIndex Value="15"/> 558 <WindowIndex Value="0"/> 559 <TopLine Value="903"/> 560 <CursorPos X="50" Y="916"/> 559 561 <UsageCount Value="39"/> 560 562 <Loaded Value="True"/> … … 611 613 <Unit61> 612 614 <Filename Value="E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericObjectList.inc"/> 613 <EditorIndex Value="1 5"/>614 <WindowIndex Value="0"/> 615 <TopLine Value=" 65"/>615 <EditorIndex Value="18"/> 616 <WindowIndex Value="0"/> 617 <TopLine Value="70"/> 616 618 <CursorPos X="1" Y="78"/> 617 619 <UsageCount Value="12"/> … … 645 647 <Filename Value="E:\Programy\Lazarus\components\synedit\synedit.pp"/> 646 648 <UnitName Value="SynEdit"/> 647 <EditorIndex Value=" 8"/>649 <EditorIndex Value="9"/> 648 650 <WindowIndex Value="0"/> 649 651 <TopLine Value="4144"/> … … 655 657 <Filename Value="E:\Programy\Lazarus\components\synedit\syneditmiscclasses.pp"/> 656 658 <UnitName Value="SynEditMiscClasses"/> 657 <EditorIndex Value=" 9"/>659 <EditorIndex Value="10"/> 658 660 <WindowIndex Value="0"/> 659 661 <TopLine Value="93"/> … … 717 719 <Loaded Value="True"/> 718 720 </Unit73> 721 <Unit74> 722 <Filename Value="E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Specialized\SpecializedList.pas"/> 723 <UnitName Value="SpecializedList"/> 724 <EditorIndex Value="17"/> 725 <WindowIndex Value="0"/> 726 <TopLine Value="28"/> 727 <CursorPos X="1" Y="1"/> 728 <UsageCount Value="10"/> 729 <Loaded Value="True"/> 730 </Unit74> 719 731 </Units> 720 <JumpHistory Count=" 29" HistoryIndex="28">732 <JumpHistory Count="30" HistoryIndex="29"> 721 733 <Position1> 722 734 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 723 <Caret Line=" 1252" Column="1" TopLine="1239"/>735 <Caret Line="702" Column="26" TopLine="59"/> 724 736 </Position1> 725 737 <Position2> 726 738 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 727 <Caret Line="1 253" Column="1" TopLine="1239"/>739 <Caret Line="158" Column="18" TopLine="145"/> 728 740 </Position2> 729 741 <Position3> 730 742 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 731 <Caret Line="1 254" Column="1" TopLine="1239"/>743 <Caret Line="159" Column="41" TopLine="146"/> 732 744 </Position3> 733 745 <Position4> 734 746 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 735 <Caret Line="1 255" Column="1" TopLine="1239"/>747 <Caret Line="161" Column="40" TopLine="148"/> 736 748 </Position4> 737 749 <Position5> 738 <Filename Value="..\Compiler\ USourceCode.pas"/>739 <Caret Line="1 099" Column="1" TopLine="1094"/>750 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 751 <Caret Line="163" Column="25" TopLine="149"/> 740 752 </Position5> 741 753 <Position6> 742 <Filename Value="..\Compiler\ USourceCode.pas"/>743 <Caret Line="1 100" Column="1" TopLine="1094"/>754 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 755 <Caret Line="168" Column="31" TopLine="155"/> 744 756 </Position6> 745 757 <Position7> 746 <Filename Value="..\Compiler\ USourceCode.pas"/>747 <Caret Line="1 101" Column="1" TopLine="1094"/>758 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 759 <Caret Line="169" Column="28" TopLine="156"/> 748 760 </Position7> 749 761 <Position8> 750 <Filename Value="..\Compiler\ USourceCode.pas"/>751 <Caret Line="1 102" Column="1" TopLine="1094"/>762 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 763 <Caret Line="170" Column="19" TopLine="157"/> 752 764 </Position8> 753 765 <Position9> 754 <Filename Value="..\Compiler\ USourceCode.pas"/>755 <Caret Line="1 103" Column="1" TopLine="1094"/>766 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 767 <Caret Line="173" Column="21" TopLine="160"/> 756 768 </Position9> 757 769 <Position10> 758 <Filename Value="..\Compiler\ USourceCode.pas"/>759 <Caret Line="1 104" Column="1" TopLine="1094"/>770 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 771 <Caret Line="193" Column="17" TopLine="180"/> 760 772 </Position10> 761 773 <Position11> 762 <Filename Value=" E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/>763 <Caret Line=" 84" Column="1" TopLine="71"/>774 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 775 <Caret Line="196" Column="58" TopLine="183"/> 764 776 </Position11> 765 777 <Position12> 766 <Filename Value=" E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/>767 <Caret Line=" 85" Column="1" TopLine="71"/>778 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 779 <Caret Line="194" Column="77" TopLine="183"/> 768 780 </Position12> 769 781 <Position13> 770 <Filename Value="..\Compiler\ USourceCode.pas"/>771 <Caret Line=" 1099" Column="1" TopLine="1094"/>782 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 783 <Caret Line="209" Column="17" TopLine="196"/> 772 784 </Position13> 773 785 <Position14> 774 <Filename Value="..\Compiler\ USourceCode.pas"/>775 <Caret Line=" 1100" Column="1" TopLine="1094"/>786 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 787 <Caret Line="210" Column="17" TopLine="197"/> 776 788 </Position14> 777 789 <Position15> 778 <Filename Value="..\Compiler\ USourceCode.pas"/>779 <Caret Line=" 1101" Column="1" TopLine="1094"/>790 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 791 <Caret Line="322" Column="19" TopLine="309"/> 780 792 </Position15> 781 793 <Position16> 782 794 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 783 <Caret Line=" 1252" Column="1" TopLine="1239"/>795 <Caret Line="889" Column="23" TopLine="876"/> 784 796 </Position16> 785 797 <Position17> 786 <Filename Value="..\Compiler\ Analyze\UAnalyzerPascal.pas"/>787 <Caret Line="1 059" Column="1" TopLine="1046"/>798 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 799 <Caret Line="171" Column="52" TopLine="164"/> 788 800 </Position17> 789 801 <Position18> 790 <Filename Value="..\Compiler\ Analyze\UAnalyzerPascal.pas"/>791 <Caret Line="1 252" Column="1" TopLine="1239"/>802 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 803 <Caret Line="139" Column="12" TopLine="126"/> 792 804 </Position18> 793 805 <Position19> 794 <Filename Value="..\Compiler\ Analyze\UAnalyzerPascal.pas"/>795 <Caret Line="1 253" Column="1" TopLine="1239"/>806 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 807 <Caret Line="140" Column="43" TopLine="127"/> 796 808 </Position19> 797 809 <Position20> 798 <Filename Value="..\Compiler\Analyze\UAnalyzer Pascal.pas"/>799 <Caret Line=" 1254" Column="1" TopLine="1239"/>810 <Filename Value="..\Compiler\Analyze\UAnalyzer.pas"/> 811 <Caret Line="91" Column="1" TopLine="79"/> 800 812 </Position20> 801 813 <Position21> 802 <Filename Value=" ..\Compiler\Analyze\UAnalyzerPascal.pas"/>803 <Caret Line=" 1255" Column="1" TopLine="1239"/>814 <Filename Value="Forms\UMainForm.pas"/> 815 <Caret Line="9" Column="49" TopLine="1"/> 804 816 </Position21> 805 817 <Position22> 806 <Filename Value=" ..\Compiler\USourceCode.pas"/>807 <Caret Line="10 99" Column="1" TopLine="1094"/>818 <Filename Value="Forms\UMainForm.pas"/> 819 <Caret Line="100" Column="20" TopLine="87"/> 808 820 </Position22> 809 821 <Position23> 810 <Filename Value="..\Compiler\U SourceCode.pas"/>811 <Caret Line=" 1100" Column="1" TopLine="1094"/>822 <Filename Value="..\Compiler\UCompiler.pas"/> 823 <Caret Line="56" Column="31" TopLine="43"/> 812 824 </Position23> 813 825 <Position24> 814 <Filename Value=" ..\Compiler\USourceCode.pas"/>815 <Caret Line="1 101" Column="1" TopLine="1094"/>826 <Filename Value="Forms\UMainForm.pas"/> 827 <Caret Line="100" Column="20" TopLine="87"/> 816 828 </Position24> 817 829 <Position25> 818 <Filename Value=" ..\Compiler\USourceCode.pas"/>819 <Caret Line="1 102" Column="1" TopLine="1094"/>830 <Filename Value="Forms\UMainForm.pas"/> 831 <Caret Line="13" Column="23" TopLine="1"/> 820 832 </Position25> 821 833 <Position26> 822 <Filename Value=" ..\Compiler\USourceCode.pas"/>823 <Caret Line=" 1103" Column="1" TopLine="1094"/>834 <Filename Value="UProject.pas"/> 835 <Caret Line="75" Column="1" TopLine="74"/> 824 836 </Position26> 825 837 <Position27> 826 <Filename Value=" E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/>827 <Caret Line=" 84" Column="1" TopLine="71"/>838 <Filename Value="..\Compiler\Produce\UProducer.pas"/> 839 <Caret Line="29" Column="38" TopLine="24"/> 828 840 </Position27> 829 841 <Position28> 830 <Filename Value=" E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/>831 <Caret Line=" 85" Column="1" TopLine="71"/>842 <Filename Value="Forms\UMainForm.pas"/> 843 <Caret Line="243" Column="40" TopLine="230"/> 832 844 </Position28> 833 845 <Position29> 834 <Filename Value=" ..\Compiler\USourceCode.pas"/>835 <Caret Line=" 1103" Column="30" TopLine="1094"/>846 <Filename Value="Forms\UMainForm.pas"/> 847 <Caret Line="99" Column="1" TopLine="86"/> 836 848 </Position29> 849 <Position30> 850 <Filename Value="Forms\UMainForm.pas"/> 851 <Caret Line="13" Column="34" TopLine="8"/> 852 </Position30> 837 853 </JumpHistory> 838 854 </ProjectOptions> … … 872 888 </Linking> 873 889 <Other> 874 <CompilerMessages>875 <IgnoredMessages idx5023="True" idx5024="True" idx5025="True" idx5026="True" idx5027="True" idx5028="True" idx5029="True" idx5030="True" idx5031="True"/>876 <UseMsgFile Value="True"/>877 </CompilerMessages>878 890 <CompilerPath Value="$(CompPath)"/> 879 891 </Other> 880 892 </CompilerOptions> 881 893 <Debugging> 882 <BreakPoints Count="2">883 <Item1>884 <Source Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/>885 <Line Value="1252"/>886 </Item1>887 <Item2>888 <Source Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/>889 <Line Value="1059"/>890 </Item2>891 </BreakPoints>892 894 <Exceptions Count="3"> 893 895 <Item1> -
trunk/IDE/UProject.pas
r24 r26 7 7 8 8 uses 9 Classes, SysUtils, Dialogs, DOM, XMLWrite, XMLRead, FileUtil; 9 Classes, SysUtils, Dialogs, DOM, XMLWrite, XMLRead, FileUtil, 10 SpecializedObjectList; 10 11 11 12 type … … 31 32 32 33 // TListProjectNode = TGObjectList<Integer, TProjectNode> 33 {$DEFINE TGObjectListIndex := Integer} 34 {$DEFINE TGObjectListItem := TProjectNode} 35 {$DEFINE TGObjectListList := TObjectListProjectNode} 36 {$DEFINE TGObjectList := TListProjectNode} 37 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareProjectNode} 38 {$DEFINE TGObjectListStringConverter := TObjectListStringConverterProjectNode} 39 {$DEFINE INTERFACE} 40 {$I 'GenericObjectList.inc'} 34 TListProjectNode = class(TListObject); 41 35 42 36 { TProjectFile } … … 80 74 81 75 82 {$DEFINE IMPLEMENTATION_USES}83 {$INCLUDE 'GenericObjectList.inc'}84 85 // TListProjectNode = TGObjectList<Integer, TProjectNode>86 {$DEFINE TGObjectListIndex := Integer}87 {$DEFINE TGObjectListItem := TProjectNode}88 {$DEFINE TGObjectListList := TObjectListProjectNode}89 {$DEFINE TGObjectList := TListProjectNode}90 {$DEFINE TGObjectListSortCompare := TObjectListSortCompareProjectNode}91 {$DEFINE TGObjectListStringConverter := TObjectListStringConverterProjectNode}92 {$DEFINE IMPLEMENTATION}93 {$INCLUDE 'GenericObjectList.inc'}94 76 95 77 { TProjectGroup }
Note:
See TracChangeset
for help on using the changeset viewer.