nsAString
/ \
nsASingleFragmentString `-------------------------.
/ \ \
nsAFlatString \ nsAPromiseString
/ \ \ \ nsSingleFragmentDepende- / \
/ \ \ `------. ntSubstring / \
/ \ `-------. \ nsDependentConcatenation nsDependentSubstring
/ `-. \ `------------------------.
/ \ \ \
nsSharableString nsString nsDependentString nsPromiseFlatString
| | \
nsXPIDLString nsAutoString NS_LITERAL_STRING.
NS_NAMED_LITERAL_STRING
/ \
nsASingleFragmentString `-------------------------.
/ \ \
nsAFlatString \ nsAPromiseString
/ \ \ \ nsSingleFragmentDepende- / \
/ \ \ `------. ntSubstring / \
/ \ `-------. \ nsDependentConcatenation nsDependentSubstring
/ `-. \ `------------------------.
/ \ \ \
nsSharableString nsString nsDependentString nsPromiseFlatString
| | \
nsXPIDLString nsAutoString NS_LITERAL_STRING.
NS_NAMED_LITERAL_STRING
It's a real crap... Maybe they were implemented in a very good way, but I can't remember their names (after seeng 1 time). Memorizing this crap looks as serious task for any man who isn't mad.
All types should be intuitive. Why do the have such names? I don't know. But IMHO it's crap.
P.S. I'm not mozilla developer, I just opened the code and tried to change some things to fix a bug.
Also I love ff, it's the best browser ever. Maybe reading a book about mozilla development can help. But the naming of types looks...
No comments:
Post a Comment