我正在尝试创建一个使用CDT操作C源文件的插件,我正在使用ASTRewrite对象来修改C文件,无论如何它除了以下示例文件之外它还能正常工作:
#define CODE_SECTION ON
#if ( CODE_SECTION == ON )
/**
* \Code Sample
*/
struct
{
int Var1[4];
//Comment 1!!!
int Var2[8];
} SampleStruct;
#endif /* End of Code Sample */
我得到以下异常:
显示java.lang.NullPointerException 在org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.ASTCommenter $ PreprocessorRangeChecker.isCommentOnSameLine(ASTCommenter.java:86)
致电:
ASTRewrite.create(ast);
经过一些调查我发现删除评论“//评论1”或删除预处理语法解决了问题,但我不能这样做,因为我不应该修改我想要处理的文件插入。 有没有人对此有解释/解决方案? 提前谢谢,