From 8a1269053a67c2bb97244dfdcf9c94b047fb2823 Mon Sep 17 00:00:00 2001 From: Marc-Andre Laperle Date: Fri, 11 Nov 2011 11:58:01 -0500 Subject: [PATCH] Bug 363111 - Automatically generated explicit constructor has the explicit keyword in constructor definition --- .../resources/refactoring/ImplementMethod.rts | 18 ++++++++++++++++++ .../ImplementMethodRefactoring.java | 3 ++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.ui.tests/resources/refactoring/ImplementMethod.rts b/core/org.eclipse.cdt.ui.tests/resources/refactoring/ImplementMethod.rts index 6c7a13181cd..c2d1a0d3a9e 100644 --- a/core/org.eclipse.cdt.ui.tests/resources/refactoring/ImplementMethod.rts +++ b/core/org.eclipse.cdt.ui.tests/resources/refactoring/ImplementMethod.rts @@ -775,3 +775,21 @@ template inline void func(T&) { } +//!Bug 363111 - Remove explicit in constructor definition +//#org.eclipse.cdt.ui.tests.refactoring.implementmethod.ImplementMethodRefactoringTest +//@.config +filename=A.h +//@A.h + +class TestClass { +public: + /*$*/explicit TestClass();/*$$*/ +}; + + +//@A.cpp + +//= + +TestClass::TestClass() { +} \ No newline at end of file diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/implementmethod/ImplementMethodRefactoring.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/implementmethod/ImplementMethodRefactoring.java index 510c842227f..39c713cf9a8 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/implementmethod/ImplementMethodRefactoring.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/implementmethod/ImplementMethodRefactoring.java @@ -237,7 +237,8 @@ public class ImplementMethodRefactoring extends CRefactoring2 { IASTNode declarationParent = methodDeclaration.getParent(); if (declSpecifier instanceof ICPPASTDeclSpecifier) { - ((ICPPASTDeclSpecifier) declSpecifier).setVirtual(false); + ((ICPPASTDeclSpecifier) declSpecifier).setVirtual(false); + ((ICPPASTDeclSpecifier) declSpecifier).setExplicit(false); } String currentFileName = declarationParent.getNodeLocations()[0].asFileLocation().getFileName();