From: <net...@us...> - 2003-09-24 20:34:40
|
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv16829/rfta Modified Files: IdentifierResolverTest.h IdentifierResolverTest.cpp Log Message: -- added enum-test Index: IdentifierResolverTest.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/IdentifierResolverTest.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** IdentifierResolverTest.h 6 Sep 2003 21:50:51 -0000 1.6 --- IdentifierResolverTest.h 24 Sep 2003 20:34:37 -0000 1.7 *************** *** 29,32 **** --- 29,33 ---- CPPUNIT_TEST( testSwitchScope ); CPPUNIT_TEST( testClassScope ); + CPPUNIT_TEST( testEnumIdentifiers ); CPPUNIT_TEST( testBug1 ); CPPUNIT_TEST_SUITE_END(); *************** *** 49,54 **** void testSwitchScope(); void testClassScope(); - void testBug1(); private: --- 50,55 ---- void testSwitchScope(); void testClassScope(); void testBug1(); + void testEnumIdentifiers(); private: Index: IdentifierResolverTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/IdentifierResolverTest.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** IdentifierResolverTest.cpp 15 Sep 2003 09:22:05 -0000 1.9 --- IdentifierResolverTest.cpp 24 Sep 2003 20:34:37 -0000 1.10 *************** *** 332,335 **** --- 332,365 ---- } + void IdentifierResolverTest::testEnumIdentifiers() + { + builder_->addKeyingMid( "enum ", "en", " {", "en.0" ); + builder_->addKeyingMid( "", "key1", "=0,", "key1.0" ); + builder_->addKeyingMid( "", "key2", ",", "key2.0" ); + builder_->addKeyingMid( "", "key3", "=1,", "key3.0" ); + builder_->add( "};" ); + builder_->addKeyingMid( "enum ", "en", " " , "en.1" ); + builder_->addKeyingMid( "", "var", "=" , "var.0" ); + builder_->addKeyingMid( "", "key1", ";" , "key1.1" ); + + parse((DeclarationListParser*)0); + + strategy_->setRecordMode(); + strategy_->declareIdentifier( getIdentifierNode( "en.0" ), IdentifierAttributes::EnumIdentifier ); + + //TODO: add identifiers for enumeration elements: + //strategy_->declareIdentifier( getIdentifierNode( "key1.0" ), IdentifierAttributes::NoAttribute ); + //strategy_->declareIdentifier( getIdentifierNode( "key2.0" ), IdentifierAttributes::NoAttribute ); + //strategy_->declareIdentifier( getIdentifierNode( "key3.0" ), IdentifierAttributes::NoAttribute ); + + // TODO: change resolver strategy for elaborated-type-specifier + //strategy_->resolveUnqualifiedIdentifier( getIdentifierNode( "en.1" )); + strategy_->declareIdentifier( getIdentifierNode( "var.0" ), IdentifierAttributes::NoAttribute ); + + // TODO: change resolver strategy for assignment in declarator + //strategy_->resolveUnqualifiedIdentifier( getIdentifierNode( "key1.1" )); + + checkResolution(); + } } // namespace Refactoring |