1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
John Camelon 2004-04-26 21:31:39 +00:00
parent ca2d70f2be
commit 1b95b94a14

View file

@ -128,37 +128,60 @@ public class SelectionParseTest extends CompleteParseBaseTest {
assertEquals( ((IASTParameterDeclaration)node).getName(), "argc" ); assertEquals( ((IASTParameterDeclaration)node).getName(), "argc" );
} }
// public void testBug57898() throws Exception public void testBug57898() throws Exception
// { {
// Writer writer = new StringWriter(); Writer writer = new StringWriter();
// writer.write( "class Gonzo { public: void playHorn(); };\n" ); writer.write( "class Gonzo { public: void playHorn(); };\n" );
// writer.write( "void Gonzo::playHorn() { return; }\n" ); writer.write( "void Gonzo::playHorn() { return; }\n" );
// writer.write( "int main(int argc, char **argv) { Gonzo gonzo; gonzo.playHorn(); }\n" ); writer.write( "int main(int argc, char **argv) { Gonzo gonzo; gonzo.playHorn(); }\n" );
// String code = writer.toString(); String code = writer.toString();
// for( int i = 0; i < 3; ++i ) for( int i = 0; i < 3; ++i )
// { {
// int start = -1, stop = -1; int start = -1, stop = -1;
// switch( i ) switch( i )
// { {
// case 0: case 0:
// start = code.indexOf( "void playHorn") + 5; start = code.indexOf( "void playHorn") + 5;
// break; break;
// case 1: case 1:
// start = code.indexOf( "::playHorn") + 2; start = code.indexOf( "::playHorn") + 2;
// break; break;
// case 2: case 2:
// start = code.indexOf( ".playHorn") + 1; start = code.indexOf( ".playHorn") + 1;
// break; break;
// } }
// stop = start + 8; stop = start + 8;
// IASTNode node = parse( code, start, stop ); IASTNode node = parse( code, start, stop );
// assertNotNull( node ); assertNotNull( node );
// assertTrue( node instanceof IASTMethod ); assertTrue( node instanceof IASTMethod );
// IASTMethod method = (IASTMethod) node; IASTMethod method = (IASTMethod) node;
// assertEquals( method.getName(), "playHorn"); assertEquals( method.getName(), "playHorn");
// IASTClassSpecifier gonzo = method.getOwnerClassSpecifier(); IASTClassSpecifier gonzo = method.getOwnerClassSpecifier();
// assertEquals( gonzo.getName(), "Gonzo"); assertEquals( gonzo.getName(), "Gonzo");
// } }
// } }
public void testConstructorDestructorDeclaration() throws Exception
{
Writer writer = new StringWriter();
writer.write( "class Gonzo { Gonzo(); ~Gonzo(); };");
String code = writer.toString();
int offset = code.indexOf( " Gonzo()") + 1;
IASTNode node = parse( code, offset, offset + 5 );
assertNotNull( node );
assertTrue( node instanceof IASTMethod );
IASTMethod constructor = ((IASTMethod)node);
assertEquals( constructor.getName(), "Gonzo" );
assertTrue( constructor.isConstructor() );
offset = code.indexOf( "~Gonzo");
node = parse( code, offset, offset + 6 );
assertNotNull( node );
assertTrue( node instanceof IASTMethod );
IASTMethod destructor = ((IASTMethod)node);
assertEquals( destructor.getName(), "~Gonzo" );
assertTrue( destructor.isDestructor() );
}
} }