#include "AST.h" #include "osstream.h" //#include string TreeNode::mangle() { undefined( "mangle" ); return string(); } //////////////////////////////////////////////////////////////////////// string NullPntrNode::mangle() { static const string null( "null" ); return string("v4vnull") + type()->mangle(); } string PrimitiveLitNode::mangle() { const string asString = literal().asString(); return string("v") + int2string(asString.length()) + string("v") + asString + type()->mangle(); } string StringLitNode::mangle() { ostringstream formatter; const string16 value = text(); formatter << 'v' << int2string(value.length()) << 'v' << value << type()->mangle(); return formatter.str(); } string TreeListNode::mangle() { string result( int2string( arity() ) ); foriter (child, allChildren(), ChildIter) result += (*child)->mangle(); return result; } string TypeNode::mangle() { return cType(); } // Local Variables: // c-file-style: "gnu" // End: