mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-07 09:46:02 +02:00
Bug 323562 - Doxygen auto-comment does not work for plain C function declaration
Patch from Marc-Andre Laperle
This commit is contained in:
parent
b90b9aee4c
commit
2c661f838e
1 changed files with 9 additions and 5 deletions
|
@ -34,7 +34,6 @@ import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration;
|
import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTStandardFunctionDeclarator;
|
import org.eclipse.cdt.core.dom.ast.IASTStandardFunctionDeclarator;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator;
|
import org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeclSpecifier;
|
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDeclarator;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDeclarator;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration;
|
||||||
import org.eclipse.cdt.ui.text.doctools.DefaultMultilineCommentAutoEditStrategy;
|
import org.eclipse.cdt.ui.text.doctools.DefaultMultilineCommentAutoEditStrategy;
|
||||||
|
@ -184,11 +183,16 @@ public class DoxygenMultilineAutoEditStrategy extends DefaultMultilineCommentAut
|
||||||
|
|
||||||
if(sdec.getDeclSpecifier() instanceof IASTCompositeTypeSpecifier) {
|
if(sdec.getDeclSpecifier() instanceof IASTCompositeTypeSpecifier) {
|
||||||
return result;
|
return result;
|
||||||
} else if(sdec.getDeclSpecifier() instanceof ICPPASTDeclSpecifier) {
|
} else {
|
||||||
IASTDeclarator[] dcs= sdec.getDeclarators();
|
IASTDeclarator[] dcs= sdec.getDeclarators();
|
||||||
if(dcs.length == 1 && dcs[0] instanceof ICPPASTFunctionDeclarator) {
|
if(dcs.length == 1 && dcs[0] instanceof IASTFunctionDeclarator) {
|
||||||
ICPPASTFunctionDeclarator fdecl= (ICPPASTFunctionDeclarator) dcs[0];
|
IASTFunctionDeclarator fdecl = (IASTFunctionDeclarator)dcs[0];
|
||||||
boolean shouldDocument= documentDeclarations || (documentPureVirtuals && fdecl.isPureVirtual());
|
boolean shouldDocument= documentDeclarations;
|
||||||
|
if(documentPureVirtuals && dcs[0] instanceof ICPPASTFunctionDeclarator) {
|
||||||
|
ICPPASTFunctionDeclarator cppfdecl= (ICPPASTFunctionDeclarator) dcs[0];
|
||||||
|
shouldDocument = shouldDocument || cppfdecl.isPureVirtual();
|
||||||
|
}
|
||||||
|
|
||||||
if(shouldDocument) {
|
if(shouldDocument) {
|
||||||
return documentFunction(fdecl, sdec.getDeclSpecifier());
|
return documentFunction(fdecl, sdec.getDeclSpecifier());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue