mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-10-31 13:21:29 +01:00 
			
		
		
		
	codetools: extract proc: deleting a local var: keep a space between var and the next identifier, bug #11273
git-svn-id: trunk@15098 -
This commit is contained in:
		
							parent
							
								
									5f7d69844d
								
							
						
					
					
						commit
						bbc1eb29ff
					
				| @ -401,6 +401,7 @@ var | |||||||
|     DeleteStartPos: Integer; |     DeleteStartPos: Integer; | ||||||
|     DeleteEndPos: Integer; |     DeleteEndPos: Integer; | ||||||
|     CurProcVar: TExtractedProcVariable; |     CurProcVar: TExtractedProcVariable; | ||||||
|  |     FrontGap: TGapTyp; | ||||||
|   begin |   begin | ||||||
|     Result:=false; |     Result:=false; | ||||||
|     if not ProcVar.RemovedFromOldProc then begin |     if not ProcVar.RemovedFromOldProc then begin | ||||||
| @ -442,9 +443,7 @@ var | |||||||
|             // this is the last variable in the definition |             // this is the last variable in the definition | ||||||
|             DeleteEndPos:=CurPos.StartPos; |             DeleteEndPos:=CurPos.StartPos; | ||||||
|             if (DeleteStartPos=VarNode.StartPos) |             if (DeleteStartPos=VarNode.StartPos) | ||||||
|             and (VarNode.PriorBrother<>nil) |             and (VarNode<>FirstVarNode) then begin | ||||||
|             and (VarNode.PriorBrother.Desc=ctnVarDefinition) |  | ||||||
|             and (VarNode.PriorBrother.FirstChild=nil) then begin |  | ||||||
|               // there is a variable in front in the same definition, that is |               // there is a variable in front in the same definition, that is | ||||||
|               // not deleted. Delete also the comma in front. Example: |               // not deleted. Delete also the comma in front. Example: | ||||||
|               //   var i, X: integer;   ->  var i[, X]: integer; |               //   var i, X: integer;   ->  var i[, X]: integer; | ||||||
| @ -475,6 +474,7 @@ var | |||||||
|         if VarNode=LastVarNode then break; |         if VarNode=LastVarNode then break; | ||||||
|         VarNode:=VarNode.NextBrother; |         VarNode:=VarNode.NextBrother; | ||||||
|       until VarNode=nil; |       until VarNode=nil; | ||||||
|  |       FrontGap:=gtNone; | ||||||
|       if DeleteCompleteDefinition and (DeleteStartPos>0) then begin |       if DeleteCompleteDefinition and (DeleteStartPos>0) then begin | ||||||
|         // all variables of the definition should be deleted |         // all variables of the definition should be deleted | ||||||
|         // -> delete type declaration |         // -> delete type declaration | ||||||
| @ -483,6 +483,9 @@ var | |||||||
|           // all variables of the 'var' section are deleted |           // all variables of the 'var' section are deleted | ||||||
|           // -> delete var section |           // -> delete var section | ||||||
|           DeleteStartPos:=FirstVarNode.Parent.StartPos; |           DeleteStartPos:=FirstVarNode.Parent.StartPos; | ||||||
|  |         end else if FirstVarNode.PriorBrother=nil then begin | ||||||
|  |           // keep a space between 'var' and the next identifier | ||||||
|  |           FrontGap:=gtSpace; | ||||||
|         end; |         end; | ||||||
|         DeleteStartPos:=FindLineEndOrCodeInFrontOfPosition(DeleteStartPos,true); |         DeleteStartPos:=FindLineEndOrCodeInFrontOfPosition(DeleteStartPos,true); | ||||||
|       end; |       end; | ||||||
| @ -490,7 +493,7 @@ var | |||||||
|         {$IFDEF CTDebug} |         {$IFDEF CTDebug} | ||||||
|         DebugLn('DeleteLocalVariable Delete Rest: "',copy(Src,DeleteStartPos,DeleteEndPos-DeleteStartPos),'"'); |         DebugLn('DeleteLocalVariable Delete Rest: "',copy(Src,DeleteStartPos,DeleteEndPos-DeleteStartPos),'"'); | ||||||
|         {$ENDIF} |         {$ENDIF} | ||||||
|         if not SourceChangeCache.Replace(gtNone,gtNone, |         if not SourceChangeCache.Replace(FrontGap,gtNone, | ||||||
|                                          DeleteStartPos,DeleteEndPos,'') |                                          DeleteStartPos,DeleteEndPos,'') | ||||||
|         then |         then | ||||||
|           exit; |           exit; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 mattias
						mattias