mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-05 08:46:02 +02:00
Bug 412380 Fix for LRParser Tests
Change-Id: I5567cebbace02efe038076ebaf6193308fa5289f Reviewed-on: https://git.eclipse.org/r/16880 Reviewed-by: Andrew Gvozdev <angvoz.dev@gmail.com> Reviewed-by: Chris Recoskie <recoskie@ca.ibm.com> IP-Clean: Chris Recoskie <recoskie@ca.ibm.com> Tested-by: Chris Recoskie <recoskie@ca.ibm.com>
This commit is contained in:
parent
4eb628b862
commit
830c09b3be
12 changed files with 37 additions and 31 deletions
|
@ -38,12 +38,12 @@ public class LRCPPImplicitNameTests extends AST2CPPImplicitNameTests {
|
|||
|
||||
|
||||
@Override
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) {
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, int limitTrivialInitializers) {
|
||||
ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
|
||||
ParseHelper.Options options = new ParseHelper.Options();
|
||||
options.setCheckSyntaxProblems(expectNoProblems);
|
||||
options.setCheckPreprocessorProblems(expectNoProblems);
|
||||
options.setSkipTrivialInitializers(skipTrivialInitializers);
|
||||
options.setLimitTrivialInitializers(limitTrivialInitializers);
|
||||
return ParseHelper.parse(code, language, options);
|
||||
}
|
||||
|
||||
|
|
|
@ -85,12 +85,12 @@ public class LRCPPSpecTest extends AST2CPPSpecTest {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, int limitTrivialInitializers) throws ParserException {
|
||||
ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
|
||||
ParseHelper.Options options = new ParseHelper.Options();
|
||||
options.setCheckSyntaxProblems(expectNoProblems);
|
||||
options.setCheckPreprocessorProblems(expectNoProblems);
|
||||
options.setSkipTrivialInitializers(skipTrivialInitializers);
|
||||
options.setLimitTrivialInitializers(limitTrivialInitializers);
|
||||
return ParseHelper.parse(code, language, options);
|
||||
}
|
||||
|
||||
|
|
|
@ -152,12 +152,12 @@ public class LRCPPTests extends AST2CPPTests {
|
|||
|
||||
|
||||
@Override
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, int limitTrivialInitializers) throws ParserException {
|
||||
ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
|
||||
ParseHelper.Options options = new ParseHelper.Options();
|
||||
options.setCheckSyntaxProblems(expectNoProblems);
|
||||
options.setCheckPreprocessorProblems(expectNoProblems);
|
||||
options.setSkipTrivialInitializers(skipTrivialInitializers);
|
||||
options.setLimitTrivialInitializers(limitTrivialInitializers);
|
||||
return ParseHelper.parse(code, language, options);
|
||||
}
|
||||
|
||||
|
|
|
@ -42,13 +42,13 @@ public class LRCommentTests extends CommentTests {
|
|||
@SuppressWarnings("unused")
|
||||
protected IASTTranslationUnit parse(String code, ParserLanguage lang,
|
||||
boolean useGNUExtensions, boolean expectNoProblems,
|
||||
boolean skipTrivialInitializers) throws ParserException {
|
||||
int limitTrivialInitializers) throws ParserException {
|
||||
|
||||
ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
|
||||
ParseHelper.Options options = new ParseHelper.Options();
|
||||
options.setCheckSyntaxProblems(expectNoProblems);
|
||||
options.setCheckPreprocessorProblems(expectNoProblems);
|
||||
options.setSkipTrivialInitializers(skipTrivialInitializers);
|
||||
options.setLimitTrivialInitializers(limitTrivialInitializers);
|
||||
return ParseHelper.commentParse(code, language);
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ public class LRCommentTests extends CommentTests {
|
|||
"int x = MACRO; \n" +
|
||||
"//comment\n";
|
||||
|
||||
IASTTranslationUnit tu = parse(code, ParserLanguage.C, false, false, true);
|
||||
IASTTranslationUnit tu = parse(code, ParserLanguage.C, false, false, 0);
|
||||
|
||||
IASTComment[] comments = tu.getComments();
|
||||
assertEquals(1, comments.length);
|
||||
|
|
|
@ -34,12 +34,12 @@ public class LRImageLocationTests extends ImageLocationTests {
|
|||
@Override
|
||||
@SuppressWarnings("unused")
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions,
|
||||
boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
|
||||
boolean expectNoProblems, int limitTrivialInitializers) throws ParserException {
|
||||
ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
|
||||
ParseHelper.Options options = new ParseHelper.Options();
|
||||
options.setCheckSyntaxProblems(expectNoProblems);
|
||||
options.setCheckPreprocessorProblems(expectNoProblems);
|
||||
options.setSkipTrivialInitializers(skipTrivialInitializers);
|
||||
options.setLimitTrivialInitializers(limitTrivialInitializers);
|
||||
return ParseHelper.parse(code, language, options);
|
||||
}
|
||||
|
||||
|
|
|
@ -34,12 +34,12 @@ public class LRInactiveCodeTests extends ASTInactiveCodeTests {
|
|||
|
||||
|
||||
@Override
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) {
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, int limitTrivialInitializers) {
|
||||
ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
|
||||
ParseHelper.Options options = new ParseHelper.Options();
|
||||
options.setCheckSyntaxProblems(expectNoProblems);
|
||||
options.setCheckPreprocessorProblems(expectNoProblems);
|
||||
options.setSkipTrivialInitializers(skipTrivialInitializers);
|
||||
options.setLimitTrivialInitializers(limitTrivialInitializers);
|
||||
return ParseHelper.parse(code, language, options);
|
||||
}
|
||||
|
||||
|
|
|
@ -34,12 +34,12 @@ public class LRNodeSelectorTest extends ASTNodeSelectorTest {
|
|||
|
||||
|
||||
@Override
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializer) throws ParserException {
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, int limitTrivialInitializers) throws ParserException {
|
||||
ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
|
||||
ParseHelper.Options options = new ParseHelper.Options();
|
||||
options.setCheckSyntaxProblems(expectNoProblems);
|
||||
options.setCheckPreprocessorProblems(expectNoProblems);
|
||||
options.setSkipTrivialInitializers(skipTrivialInitializer);
|
||||
options.setLimitTrivialInitializers(limitTrivialInitializers);
|
||||
return ParseHelper.parse(code, language, options);
|
||||
}
|
||||
|
||||
|
|
|
@ -34,12 +34,12 @@ public class LRSemanticsTests extends SemanticsTests {
|
|||
@SuppressWarnings("unused")
|
||||
@Override
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions,
|
||||
boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
|
||||
boolean expectNoProblems, int limitTrivialInitializers) throws ParserException {
|
||||
ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
|
||||
ParseHelper.Options options = new ParseHelper.Options();
|
||||
options.setCheckSyntaxProblems(expectNoProblems);
|
||||
options.setCheckPreprocessorProblems(expectNoProblems);
|
||||
options.setSkipTrivialInitializers(skipTrivialInitializers);
|
||||
options.setLimitTrivialInitializers(limitTrivialInitializers);
|
||||
return ParseHelper.parse(code, language, options);
|
||||
}
|
||||
|
||||
|
|
|
@ -29,16 +29,16 @@ public class LRTaskParserTest extends TaskParserTest {
|
|||
|
||||
@Override
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems ) throws ParserException {
|
||||
return parse(code, lang, useGNUExtensions, expectNoProblems, false);
|
||||
return parse(code, lang, useGNUExtensions, expectNoProblems, -1);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, int limitTrivialInitializers) throws ParserException {
|
||||
ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
|
||||
ParseHelper.Options options = new ParseHelper.Options();
|
||||
options.setCheckSyntaxProblems(expectNoProblems);
|
||||
options.setCheckPreprocessorProblems(expectNoProblems);
|
||||
options.setSkipTrivialInitializers(skipTrivialInitializers);
|
||||
options.setLimitTrivialInitializers(limitTrivialInitializers);
|
||||
return ParseHelper.parse(code, language, options);
|
||||
}
|
||||
|
||||
|
|
|
@ -116,12 +116,12 @@ public class LRTemplateTests extends AST2TemplateTests {
|
|||
|
||||
@Override
|
||||
@SuppressWarnings("unused")
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems, int limitTrivialInitializers) throws ParserException {
|
||||
ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
|
||||
ParseHelper.Options options = new ParseHelper.Options();
|
||||
options.setCheckSyntaxProblems(expectNoProblems);
|
||||
options.setCheckPreprocessorProblems(expectNoProblems);
|
||||
options.setSkipTrivialInitializers(skipTrivialInitializers);
|
||||
options.setLimitTrivialInitializers(limitTrivialInitializers);
|
||||
return ParseHelper.parse(code, language, options);
|
||||
}
|
||||
|
||||
|
|
|
@ -76,20 +76,26 @@ public class LRTests extends AST2Tests {
|
|||
@Override
|
||||
public void testEmptyTrailingMacro_303152() throws Exception {}
|
||||
@Override // not applicable to lr parser memory usage.
|
||||
public void testLargeTrivialAggregateInitializer_253690() throws Exception{}
|
||||
public void testLargeTrivialAggregateInitializer_253690() throws Exception {}
|
||||
@Override
|
||||
public void testMaximumTrivialExpressionsInInitializers_412380() throws Exception {}
|
||||
@Override
|
||||
public void testNoSkipTrivialAggregateInitializer_412380() throws Exception {}
|
||||
@Override
|
||||
public void testNoSkipNonTrivialAggregateInitializer_412380() throws Exception {}
|
||||
|
||||
@Override
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems ) throws ParserException {
|
||||
return parse(code, lang, useGNUExtensions, expectNoProblems, false);
|
||||
return parse(code, lang, useGNUExtensions, expectNoProblems, -1);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException {
|
||||
protected IASTTranslationUnit parse( String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems, int limitTrivialInitializers) throws ParserException {
|
||||
ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage();
|
||||
ParseHelper.Options options = new ParseHelper.Options();
|
||||
options.setCheckSyntaxProblems(expectNoProblems);
|
||||
options.setCheckPreprocessorProblems(expectNoProblems);
|
||||
options.setSkipTrivialInitializers(skipTrivialInitializers);
|
||||
options.setLimitTrivialInitializers(limitTrivialInitializers);
|
||||
return ParseHelper.parse(code, language, options);
|
||||
}
|
||||
|
||||
|
|
|
@ -92,7 +92,7 @@ public class ParseHelper {
|
|||
|
||||
int expectedProblemBindings;
|
||||
String[] problems;
|
||||
boolean skipTrivialInitializers;
|
||||
int limitTrivialInitializers = -1;
|
||||
|
||||
public Options setCheckSyntaxProblems(boolean checkSyntaxProblems) {
|
||||
this.checkSyntaxProblems = checkSyntaxProblems;
|
||||
|
@ -116,8 +116,8 @@ public class ParseHelper {
|
|||
setCheckBindings(true);
|
||||
return this;
|
||||
}
|
||||
public Options setSkipTrivialInitializers(boolean skipTrivialInitializers) {
|
||||
this.skipTrivialInitializers = skipTrivialInitializers;
|
||||
public Options setLimitTrivialInitializers(int limitTrivialInitializers) {
|
||||
this.limitTrivialInitializers = limitTrivialInitializers;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -152,7 +152,7 @@ public class ParseHelper {
|
|||
IASTTranslationUnit tu;
|
||||
try {
|
||||
int languageOptions = 0;
|
||||
if(options.skipTrivialInitializers)
|
||||
if(options.limitTrivialInitializers >= 0 && options.limitTrivialInitializers != Integer.MAX_VALUE)
|
||||
languageOptions |= ILanguage.OPTION_SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS;
|
||||
|
||||
tu = language.getASTTranslationUnit(codeReader, scanInfo, fileCreator, null, languageOptions, ParserUtil.getParserLogService());
|
||||
|
@ -206,7 +206,7 @@ public class ParseHelper {
|
|||
IASTTranslationUnit tu;
|
||||
try {
|
||||
int languageOptions = 0;
|
||||
if(options.skipTrivialInitializers)
|
||||
if(options.limitTrivialInitializers >= 0 && options.limitTrivialInitializers != Integer.MAX_VALUE)
|
||||
languageOptions |= ILanguage.OPTION_SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS;
|
||||
|
||||
tu = language.getASTTranslationUnit(fileContent, scanInfo, fileContentProvider, null, languageOptions, ParserUtil.getParserLogService());
|
||||
|
|
Loading…
Add table
Reference in a new issue