*::: ClassAd::Assign() *DONE*
*::: ClassAd::LookupString(MyString) *DONE*
*::: ClassAd::Insert(const char*) *DONE*
+*::: ClassAd::Insert(const char*,ExprTree*) *DONE*
+*::: ClassAd::Lookup() *DONE*
*::: ClassAd::put()
*::: ClassAd::initFromStream()
*::: ClassAd::AssignExpr() *DONE*
@@ -25,7 +27,8 @@
*::: ClassAd::ResetName() *DONE*
*:: Block {quote:#2} *[4 days]*:
*::: ClassAd::sPrintExpr()
-*::: ClassAd::NextDirtyExpr()
+*::: ClassAd::NextExpr()
+*::: ClassAd::NextDirtyExpr() *DONE*
*::: ClassAd::SetDirtyFlag()
*::: ClassAd::GetDirtyFlag()
*::: ClassAd::GetReferences()
@@ -35,6 +38,7 @@
*::: ClassAd::fPrintAsXML()
*::: ClassAd::sPrintAsXML()
*::: ClassAd::IsValidAttrValue()
+*::: ExprTree::DeepCopy() *DONE*
*: Write helper functions for these methods which we can't emulate transparently *[4 hours]*:
*:: ExprTree::PrintToNewStr() *DONE*
@@ -62,16 +66,12 @@
*: Fix up the one or two callsites in matchmaker.cpp that move an ad from one {quote:ClassAdList} to another *[4 hours]*.
*: The following methods will need some fixing at the callsites *[5 days]*:
-*:: ClassAd::Insert(ExprTree*)
-*:: ClassAd::Lookup()
*:: ExprTree::RArg()
*:: ExprTree::LArg()
*:: ExprTree::PrintToNewStr()
*:: ExprTree::EvalTree()
-*:: ClassAd::NextExpr()
*:: ClassAd(char*,char)
*:: ExprTree::PrintToStr()
-*:: ExprTree::DeepCopy()
*:: ExprTree::MyType()
*:: ClassAd::ExchangeExpressions() *DONE*
*:: ClassAd::unchain() *DONE*