mozilla

Compare Revisions

Coding Style

Change Revisions

Revision 512773:

Revision 512773 by kanru on

Revision 512953:

Revision 512953 by Neil on

Title:
Coding Style
Coding Style
Slug:
Developer_Guide/Coding_Style
Developer_Guide/Coding_Style
Tags:
"Developing Mozilla"
"Developing Mozilla"
Content:

Revision 512773
Revision 512953
n511      Use NS_LITERAL_STRING() to avoid runtime string conversionn511      Use MOZ_UTF16() or NS_LITERAL_STRING() to avoid runtime str
 >ing conversion
512    </h4>
513    <p>512    </h4>
513    <p>
514      It is very common to need to assign the value of a literal 514      It is very common to need to assign the value of a literal 
>string such as "Some String" into a unicode buffer. Instead of us>string such as "Some String" into a unicode buffer. Instead of us
>ing <code>nsString</code>'s <code>AssignWithConversion</code> and>ing <code>nsString</code>'s <code>AssignLiteral</code> and <code>
> <code>AppendWithConversion</code>, use <code>NS_LITERAL_STRING()>AppendLiteral</code>, use <code>NS_LITERAL_STRING()</code> instea
></code> instead. On most platforms, this will force the compiler >d. On most platforms, this will force the compiler to compile in 
>to compile in a raw unicode string, and assign it directly.>a raw unicode string, and assign it directly.
n521warning.AssignWithConversion("danger will robinson!");n521warning.AssignLiteral("danger will robinson!");
522..522...
523foo-&gt;SetStringValue(warning);
524...
523foo-&gt;SetUnicodeValue(warning.get());525bar-&gt;SetUnicodeValue(warning.get());
n529NS_NAMED_LITERAL_STRING(warning,"danger will robinson!");n531NS_NAMED_LITERAL_STRING(warning, "danger will robinson!");
530..532...
nn534foo-&gt;SetStringValue(warning);
535...
532foo-&gt;SetUnicodeValue(warning.get());536bar-&gt;SetUnicodeValue(warning.get());
n535foo-&gt;SetUnicodeValue(NS_LITERAL_STRING("danger will robinson!"n539foo-&gt;SetStringValue(NS_LITERAL_STRING("danger will robinson!")
>).get());>);
540...
541bar-&gt;SetUnicodeValue(MOZ_UTF16("danger will robinson!"));
tt543    <div class="note">
544      <p name="Naming_and_Formatting_code">
545        Note: named literal strings cannot yet be static.
546      </p>
547    </div>

Back to History