mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
2005-08-30 Alain Magloire
New test in PR 107150 (written by Devin Steffler) * parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java * parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java * parser/org/eclipse/cdt/core/parser/tests/scanner2/Scanner2Test.java
This commit is contained in:
parent
ca26718e84
commit
930b697e19
4 changed files with 132 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2005-08-30 Alain Magloire
|
||||
New test in PR 107150 (written by Devin Steffler)
|
||||
* parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java
|
||||
* parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java
|
||||
* parser/org/eclipse/cdt/core/parser/tests/scanner2/Scanner2Test.java
|
||||
|
||||
2005-06-26 Alain Magloire
|
||||
* model/org/eclipse/cdt/core/model/tests/StructuralTemplateTests.java
|
||||
|
||||
|
|
|
@ -36,6 +36,7 @@ import org.eclipse.cdt.core.dom.ast.IASTLabelStatement;
|
|||
import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTName;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTNamedTypeSpecifier;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTProblemDeclaration;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTReturnStatement;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration;
|
||||
|
@ -5099,4 +5100,30 @@ public class AST2CPPTests extends AST2BaseTest {
|
|||
IASTCompoundStatement body = (IASTCompoundStatement) f.getBody();
|
||||
assertEquals( body.getStatements().length, 3 );
|
||||
}
|
||||
|
||||
public void testBug107150() throws Exception {
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
buffer.append("#define FUNC_PROTOTYPE_PARAMS(list) list\r\n"); //$NON-NLS-1$
|
||||
buffer.append("int func1 FUNC_PROTOTYPE_PARAMS((int arg1)){\r\n"); //$NON-NLS-1$
|
||||
buffer.append("return 0;\r\n"); //$NON-NLS-1$
|
||||
buffer.append("}\r\n"); //$NON-NLS-1$
|
||||
buffer.append("int func2 FUNC_PROTOTYPE_PARAMS\r\n"); //$NON-NLS-1$
|
||||
buffer.append("((int arg1)){\r\n"); //$NON-NLS-1$
|
||||
buffer.append("return 0;\r\n"); //$NON-NLS-1$
|
||||
buffer.append("}\r\n"); //$NON-NLS-1$
|
||||
IASTTranslationUnit tu = parse(buffer.toString(), ParserLanguage.CPP);
|
||||
assertFalse( tu.getDeclarations()[1] instanceof IASTProblemDeclaration );
|
||||
|
||||
buffer = new StringBuffer();
|
||||
buffer.append("#define FUNC_PROTOTYPE_PARAMS(list) list\n"); //$NON-NLS-1$
|
||||
buffer.append("int func1 FUNC_PROTOTYPE_PARAMS((int arg1)){\n"); //$NON-NLS-1$
|
||||
buffer.append("return 0;\n"); //$NON-NLS-1$
|
||||
buffer.append("}\n"); //$NON-NLS-1$
|
||||
buffer.append("int func2 FUNC_PROTOTYPE_PARAMS\n"); //$NON-NLS-1$
|
||||
buffer.append("((int arg1)){\n"); //$NON-NLS-1$
|
||||
buffer.append("return 0;\n"); //$NON-NLS-1$
|
||||
buffer.append("}\n"); //$NON-NLS-1$
|
||||
tu = parse(buffer.toString(), ParserLanguage.CPP);
|
||||
assertFalse( tu.getDeclarations()[1] instanceof IASTProblemDeclaration );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ import org.eclipse.cdt.core.dom.ast.IASTNamedTypeSpecifier;
|
|||
import org.eclipse.cdt.core.dom.ast.IASTNullStatement;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTProblem;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTProblemDeclaration;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTReturnStatement;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier;
|
||||
import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration;
|
||||
|
@ -3367,4 +3368,60 @@ public class AST2Tests extends AST2BaseTest {
|
|||
IASTCompoundStatement body = (IASTCompoundStatement) f.getBody();
|
||||
assertEquals( body.getStatements().length, 3 );
|
||||
}
|
||||
|
||||
public void testBug107150() throws Exception {
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
buffer.append("#define FUNC_PROTOTYPE_PARAMS(list) list\r\n"); //$NON-NLS-1$
|
||||
buffer.append("int func1 FUNC_PROTOTYPE_PARAMS((int arg1)){\r\n"); //$NON-NLS-1$
|
||||
buffer.append("return 0;\r\n"); //$NON-NLS-1$
|
||||
buffer.append("}\r\n"); //$NON-NLS-1$
|
||||
buffer.append("int func2 FUNC_PROTOTYPE_PARAMS\r\n"); //$NON-NLS-1$
|
||||
buffer.append("((int arg1)){\r\n"); //$NON-NLS-1$
|
||||
buffer.append("return 0;\r\n"); //$NON-NLS-1$
|
||||
buffer.append("}\r\n"); //$NON-NLS-1$
|
||||
parse(buffer.toString(), ParserLanguage.C);
|
||||
IASTTranslationUnit tu = parse(buffer.toString(), ParserLanguage.CPP);
|
||||
assertFalse( tu.getDeclarations()[1] instanceof IASTProblemDeclaration );
|
||||
|
||||
buffer = new StringBuffer();
|
||||
buffer.append("#define FUNC_PROTOTYPE_PARAMS(list) list\n"); //$NON-NLS-1$
|
||||
buffer.append("int func1 FUNC_PROTOTYPE_PARAMS((int arg1)){\n"); //$NON-NLS-1$
|
||||
buffer.append("return 0;\n"); //$NON-NLS-1$
|
||||
buffer.append("}\n"); //$NON-NLS-1$
|
||||
buffer.append("int func2 FUNC_PROTOTYPE_PARAMS\n"); //$NON-NLS-1$
|
||||
buffer.append("((int arg1)){\n"); //$NON-NLS-1$
|
||||
buffer.append("return 0;\n"); //$NON-NLS-1$
|
||||
buffer.append("}\n"); //$NON-NLS-1$
|
||||
parse(buffer.toString(), ParserLanguage.C);
|
||||
tu = parse(buffer.toString(), ParserLanguage.CPP);
|
||||
assertFalse( tu.getDeclarations()[1] instanceof IASTProblemDeclaration );
|
||||
}
|
||||
|
||||
public void testBug107150b() throws Exception {
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
buffer.append("#define FUNC_PROTOTYPE_PARAMS(list) list\r\n"); //$NON-NLS-1$
|
||||
buffer.append("int func1 FUNC_PROTOTYPE_PARAMS((int arg1)){\r\n"); //$NON-NLS-1$
|
||||
buffer.append("return 0;\r\n"); //$NON-NLS-1$
|
||||
buffer.append("}\r\n"); //$NON-NLS-1$
|
||||
buffer.append("int func2 FUNC_PROTOTYPE_PARAMS\r\n \r\n \t \r\n \r\n "); //$NON-NLS-1$
|
||||
buffer.append("((int arg1)){\r\n"); //$NON-NLS-1$
|
||||
buffer.append("return 0;\r\n"); //$NON-NLS-1$
|
||||
buffer.append("}\r\n"); //$NON-NLS-1$
|
||||
parse(buffer.toString(), ParserLanguage.C);
|
||||
IASTTranslationUnit tu = parse(buffer.toString(), ParserLanguage.CPP);
|
||||
assertFalse( tu.getDeclarations()[1] instanceof IASTProblemDeclaration );
|
||||
|
||||
buffer = new StringBuffer();
|
||||
buffer.append("#define FUNC_PROTOTYPE_PARAMS(list) list\n"); //$NON-NLS-1$
|
||||
buffer.append("int func1 FUNC_PROTOTYPE_PARAMS((int arg1)){\n"); //$NON-NLS-1$
|
||||
buffer.append("return 0;\n"); //$NON-NLS-1$
|
||||
buffer.append("}\n"); //$NON-NLS-1$
|
||||
buffer.append("int func2 FUNC_PROTOTYPE_PARAMS\n"); //$NON-NLS-1$
|
||||
buffer.append("((int arg1)){\n"); //$NON-NLS-1$
|
||||
buffer.append("return 0;\n"); //$NON-NLS-1$
|
||||
buffer.append("}\n"); //$NON-NLS-1$
|
||||
parse(buffer.toString(), ParserLanguage.C);
|
||||
tu = parse(buffer.toString(), ParserLanguage.CPP);
|
||||
assertFalse( tu.getDeclarations()[1] instanceof IASTProblemDeclaration );
|
||||
}
|
||||
}
|
|
@ -2364,4 +2364,46 @@ public class Scanner2Test extends BaseScanner2Test
|
|||
fullyTokenize();
|
||||
}
|
||||
|
||||
public void testBug107150() throws Exception {
|
||||
Writer writer = new StringWriter();
|
||||
writer.write("#define FUNC_PROTOTYPE_PARAMS(list) list\r\n"); //$NON-NLS-1$
|
||||
writer.write("int func2 FUNC_PROTOTYPE_PARAMS\r\n"); //$NON-NLS-1$
|
||||
writer.write("((int arg1)){\r\n"); //$NON-NLS-1$
|
||||
writer.write(" return 0;\r\n"); //$NON-NLS-1$
|
||||
writer.write("}\r\n"); //$NON-NLS-1$
|
||||
initializeScanner( writer.toString() );
|
||||
validateToken( IToken.t_int );
|
||||
validateIdentifier( "func2" ); //$NON-NLS-1$
|
||||
validateToken( IToken.tLPAREN );
|
||||
validateToken( IToken.t_int );
|
||||
validateIdentifier( "arg1" ); //$NON-NLS-1$
|
||||
validateToken( IToken.tRPAREN );
|
||||
validateToken( IToken.tLBRACE );
|
||||
validateToken( IToken.t_return );
|
||||
validateInteger( "0" );
|
||||
validateToken( IToken.tSEMI );
|
||||
validateToken( IToken.tRBRACE );
|
||||
validateEOF();
|
||||
|
||||
writer = new StringWriter();
|
||||
writer.write("#define FUNC_PROTOTYPE_PARAMS(list) list\n"); //$NON-NLS-1$
|
||||
writer.write("int func2 FUNC_PROTOTYPE_PARAMS\n"); //$NON-NLS-1$
|
||||
writer.write("((int arg1)){\n"); //$NON-NLS-1$
|
||||
writer.write(" return 0;\n"); //$NON-NLS-1$
|
||||
writer.write("}\n"); //$NON-NLS-1$
|
||||
initializeScanner( writer.toString() );
|
||||
validateToken( IToken.t_int );
|
||||
validateIdentifier( "func2" ); //$NON-NLS-1$
|
||||
validateToken( IToken.tLPAREN );
|
||||
validateToken( IToken.t_int );
|
||||
validateIdentifier( "arg1" ); //$NON-NLS-1$
|
||||
validateToken( IToken.tRPAREN );
|
||||
validateToken( IToken.tLBRACE );
|
||||
validateToken( IToken.t_return );
|
||||
validateInteger( "0" );
|
||||
validateToken( IToken.tSEMI );
|
||||
validateToken( IToken.tRBRACE );
|
||||
validateEOF();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue