Parcourir la source

Improved override method insertion in autocomplete

Brian Fiete il y a 3 ans
Parent
commit
d18e12866b
2 fichiers modifiés avec 8 ajouts et 1 suppressions
  1. 7 0
      IDEHelper/Compiler/BfAutoComplete.cpp
  2. 1 1
      IDEHelper/Compiler/BfModule.cpp

+ 7 - 0
IDEHelper/Compiler/BfAutoComplete.cpp

@@ -2627,6 +2627,13 @@ void BfAutoComplete::CheckMethod(BfMethodDeclaration* methodDeclaration, bool is
 			{
 				mInsertStartIdx = methodDeclaration->GetSrcStart();
 				mInsertEndIdx = methodDeclaration->GetSrcEnd();
+				if (methodDeclaration->mBody != NULL)
+				{
+					if (methodDeclaration->mBody->mTriviaStart != -1)
+						mInsertEndIdx = methodDeclaration->mBody->mTriviaStart;
+					else
+						mInsertEndIdx = methodDeclaration->mBody->GetSrcStart();
+				}
 			}
 
 			String filter;

+ 1 - 1
IDEHelper/Compiler/BfModule.cpp

@@ -22337,7 +22337,7 @@ void BfModule::DoMethodDeclaration(BfMethodDeclaration* methodDeclaration, bool
 				nameNode = ctorDeclaration->mThisToken;
 		}
 
-		if (autoComplete->IsAutocompleteNode(nameNode))
+		if ((autoComplete->IsAutocompleteNode(nameNode)) && (autoComplete->mResolveType != BfResolveType_Autocomplete))
 		{
 			autoComplete->mInsertStartIdx = nameNode->GetSrcStart();
 			autoComplete->mInsertEndIdx = nameNode->GetSrcEnd();