core/com.nokia.carbide.cpp.codescanner/html/pref_codescanner_03.htm
branchRCL_2_0
changeset 93 4f14af134d0e
parent 2 d760517a8095
equal deleted inserted replaced
89:75dede17b0d1 93:4f14af134d0e
    15 border="0" cellpadding="2" cellspacing="0">
    15 border="0" cellpadding="2" cellspacing="0">
    16 	 <tr valign="top"><th width="221" class="Cell">Name</th><th width="558" class="Cell">Function</th></tr>
    16 	 <tr valign="top"><th width="221" class="Cell">Name</th><th width="558" class="Cell">Function</th></tr>
    17          <tr valign="top">
    17          <tr valign="top">
    18            <td class="Cell"><b>Configure Project Specific Settings... </b></td>
    18            <td class="Cell"><b>Configure Project Specific Settings... </b></td>
    19            <td class="Cell"><p>Click to open the project  <b>Properties</b> window and configure CodeScanner for that specific project. </p>
    19            <td class="Cell"><p>Click to open the project  <b>Properties</b> window and configure CodeScanner for that specific project. </p>
    20            <p class="note"><b>NOTE</b> Only visible in the global CodeScanner preference panels. This also applies to the File Filters and General pages</p></td>
    20            <p class="note"><b>NOTE</b> Only visible in the global CodeScanner preference panels. This also applies to the File Filters and General pages</td>
    21          </tr>
    21          </tr>
    22          <tr valign="top">
    22          <tr valign="top">
    23            <td class="Cell"><b>CodeScanner rules </b></td>
    23            <td class="Cell"><b>CodeScanner rules </b></td>
    24            <td class="Cell"><p>The list of all CodeScanner rules and their active state. </p>           </td>
    24            <td class="Cell"><p>The list of all CodeScanner rules and their active state. </p>           </td>
    25         </tr>
    25         </tr>
    41          </tr>
    41          </tr>
    42    </table>
    42    </table>
    43 	 <p>&nbsp;</p>
    43 	 <p>&nbsp;</p>
    44 	 <p>The following table indicates an example of  rules listed in the Rules tab and associated error messages that would be generated in the Problems view.</p>
    44 	 <p>The following table indicates an example of  rules listed in the Rules tab and associated error messages that would be generated in the Problems view.</p>
    45 	 <table border="0" cellspacing="0" cellpadding="2">
    45 	 <table border="0" cellspacing="0" cellpadding="2">
    46 	 <tr valign="top"><th width="294" class="Cell">Name</th>
    46 	 <tr valign="top"><th width="353" class="Cell">Name</th>
    47 	   <th width="585" class="Cell">Description</th>
    47 	   <th width="398" class="Cell">Description</th>
    48 	 </tr>
    48 	 </tr>
    49 
    49 
    50        <tr>
    50        <tr>
    51          <td width="294" valign="top" class="code"><p>accessArrayElementWithoutCheck</p></td>
    51          <td class="code">accessArrayElementWithoutCheck</td>
    52          <td width="585" valign="top"><p>Array element accessed by At()    function without checking index is within array range</p></td>
    52          <td width="398" valign="top">Array element accessed by At() function without checking index is within array range</td>
    53        </tr>
    53        </tr>
    54        <tr>
    54        <tr>
    55          <td width="294" valign="top" class="code"><p>accessArrayElementWithoutCheck2</p></td>
    55          <td class="code">accessArrayElementWithoutCheck2</td>
    56          <td width="585" valign="top"><p>Array element accessed by []    without checking range</p></td>
    56          <td width="398" valign="top">Array element accessed by [] without checking range</td>
    57        </tr>
    57        </tr>
    58        <tr>
    58        <tr>
    59          <td width="294" valign="top" class="code"><p>activestart</p></td>
    59          <td class="code">activestart</td>
    60          <td width="585" valign="top"><p>Using CActiveScheduler::Start</p></td>
    60          <td width="398" valign="top">Using CActiveScheduler::Start</td>
    61        </tr>
    61        </tr>
    62        <tr>
    62        <tr>
    63          <td width="294" valign="top" class="code"><p>activestop</p></td>
    63          <td class="code">activestop</td>
    64          <td width="585" valign="top"><p>Using CActiveScheduler::Stop</p></td>
    64          <td width="398" valign="top">Using CActiveScheduler::Stop</td>
    65        </tr>
    65        </tr>
    66        <tr>
    66        <tr>
    67          <td width="294" valign="top" class="code"><p>arraypassing</p></td>
    67          <td class="code">arraypassing</td>
    68          <td width="585" valign="top"><p>Passing arrays by value rather    than reference</p></td>
    68          <td width="398" valign="top">Passing arrays by value rather    than reference</td>
    69        </tr>
    69        </tr>
    70        <tr>
    70        <tr>
    71          <td width="294" valign="top" class="code"><p>arrayptrcleanup</p></td>
    71          <td class="code">arrayptrcleanup</td>
    72          <td width="585" valign="top"><p>Using local CArrayPtr classes    without cleanup items</p></td>
    72          <td width="398" valign="top">Using local CArrayPtr classes    without cleanup items</td>
    73        </tr>
    73        </tr>
    74        <tr>
    74        <tr>
    75          <td width="294" valign="top" class="code"><p>assertdebuginvariant</p></td>
    75          <td class="code">assertdebuginvariant</td>
    76          <td width="585" valign="top"><p>__ASSERT_DEBUG with    User::Invariant</p></td>
    76          <td width="398" valign="top">__ASSERT_DEBUG with    User::Invariant</td>
    77        </tr>
    77        </tr>
    78        <tr>
    78        <tr>
    79          <td width="294" valign="top" class="code"><p>baddefines</p></td>
    79          <td class="code">baddefines</td>
    80          <td width="585" valign="top"><p>Lowercase definition names</p></td>
    80          <td width="398" valign="top">Lowercase definition names</td>
    81        </tr>
    81        </tr>
    82        <tr>
    82        <tr>
    83          <td width="294" valign="top" class="code"><p>baseconstruct</p></td>
    83          <td class="code">baseconstruct</td>
    84          <td width="585" valign="top"><p>Leaving function called before    BaseConstructL()</p></td>
    84          <td width="398" valign="top">Leaving function called before    BaseConstructL()</td>
    85        </tr>
    85        </tr>
    86        <tr>
    86        <tr>
    87          <td width="294" valign="top" class="code"><p>callActiveObjectWithoutCheckingOrStopping</p></td>
    87          <td class="code">callActiveObjectWithoutCheckingOrStopping</td>
    88          <td width="585" valign="top"><p>Active object called without checking whether it is active or canceling it first</p></td>
    88          <td width="398" valign="top">Active object called without checking whether it is active or canceling it first</td>
    89        </tr>
    89        </tr>
    90        <tr>
    90        <tr>
    91          <td width="294" valign="top" class="code"><p>changenotification</p></td>
    91          <td class="code">changenotification</td>
    92          <td width="585" valign="top"><p>Using RSAVarChangeNotify to see System Agent changes</p></td>
    92          <td width="398" valign="top">Using RSAVarChangeNotify to see System Agent changes</td>
    93        </tr>
    93        </tr>
    94        <tr>
    94        <tr>
    95          <td width="294" valign="top" class="code"><p>cleanup</p></td>
    95          <td class="code">cleanup</td>
    96          <td width="585" valign="top"><p>CleanupStack::Pop(AndDestroy) parameters</p></td>
    96          <td width="398" valign="top">CleanupStack::Pop(AndDestroy) parameters</td>
    97        </tr>
    97        </tr>
    98        <tr>
    98        <tr>
    99          <td width="294" valign="top" class="code"><p>commentcode</p></td>
    99          <td class="code">commentcode</td>
   100          <td width="585" valign="top"><p>Commented-out code</p></td>
   100          <td width="398" valign="top">Commented-out code</td>
   101        </tr>
   101        </tr>
   102        <tr>
   102        <tr>
   103          <td width="294" valign="top" class="code"><p>connect</p></td>
   103          <td class="code">connect</td>
   104          <td width="585" valign="top"><p>Ignoring Connect() return value</p></td>
   104          <td width="398" valign="top">Ignoring Connect() return value</td>
   105        </tr>
   105        </tr>
   106        <tr>
   106        <tr>
   107          <td width="294" valign="top" class="code"><p>ConnectAndDontCloseMemberVariable</p></td>
   107          <td class="code">ConnectAndDontCloseMemberVariable</td>
   108          <td width="585" valign="top"><p>Calling Connect() or Open() on a member variable without calling Close() in the destructor</p></td>
   108          <td width="398" valign="top">Calling Connect() or Open() on a member variable without calling Close() in the destructor</td>
   109        </tr>
   109        </tr>
   110        <tr>
   110        <tr>
   111          <td width="294" valign="top" class="code"><p>constnames</p></td>
   111          <td class="code">constnames</td>
   112          <td width="585" valign="top"><p>Badly-named constants</p></td>
   112          <td width="398" valign="top">Badly-named constants</td>
   113        </tr>
   113        </tr>
   114        <tr>
   114        <tr>
   115          <td width="294" valign="top" class="code"><p>consttdescptr</p></td>
   115          <td class="code">consttdescptr</td>
   116          <td width="585" valign="top"><p>Const descriptor pointer as argument</p></td>
   116          <td width="398" valign="top">Const descriptor pointer as argument</td>
   117        </tr>
   117        </tr>
   118        <tr>
   118        <tr>
   119          <td width="294" valign="top" class="code"><p>controlornull</p></td>
   119          <td class="code">controlornull</td>
   120          <td width="585" valign="top"><p>Accessing return value of ControlOrNull()</p></td>
   120          <td width="398" valign="top">Accessing return value of ControlOrNull()</td>
   121        </tr>
   121        </tr>
   122        <tr>
   122        <tr>
   123          <td width="294" valign="top" class="code"><p>ctltargettype</p></td>
   123          <td class="code">crepositorie</td>
   124          <td width="585" valign="top"><p>Use of targettype ctl</p></td>
   124          <td valign="top">Check for Central Repository usage</td>
   125        </tr>
   125        </tr>
   126        <tr>
   126        <tr>
   127          <td width="294" valign="top" class="code"><p>debugrom</p></td>
   127          <td class="code">ctltargettype</td>
   128          <td width="585" valign="top"><p>Debug components in ROM</p></td>
   128          <td width="398" valign="top">Use of targettype ctl</td>
   129        </tr>
   129        </tr>
   130        <tr>
   130        <tr>
   131          <td width="294" valign="top" class="code"><p>declarename</p></td>
   131          <td valign="top" class="code">customizableicons</td>
   132          <td width="585" valign="top"><p>Use of __DECLARE_NAME</p></td>
   132          <td valign="top"> Check for customizable icons</td>
   133        </tr>
   133        </tr>
   134        <tr>
   134        <tr>
   135          <td width="294" valign="top" class="code"><p>deleteMemberVariable</p></td>
   135          <td class="code">debugrom</td>
   136          <td width="585" valign="top"><p>Member variable deleted incorrectly</p></td>
   136          <td width="398" valign="top">Debug components in ROM</td>
   137        </tr>
   137        </tr>
   138        <tr>
   138        <tr>
   139          <td width="294" valign="top" class="code"><p>destructor</p></td>
   139          <td class="code">declarename</td>
   140          <td width="585" valign="top"><p>Pointer access in destructors</p></td>
   140          <td width="398" valign="top">Use of __DECLARE_NAME</td>
   141        </tr>
   141        </tr>
   142        <tr>
   142        <tr>
   143          <td width="294" valign="top" class="code"><p>doubleSemiColon</p></td>
   143          <td class="code">deleteMemberVariable</td>
   144          <td width="585" valign="top"><p>Use of double semicolon</p></td>
   144          <td width="398" valign="top">Member variable deleted incorrectly</td>
   145        </tr>
   145        </tr>
   146        <tr>
   146        <tr>
   147          <td width="294" valign="top" class="code"><p>driveletters</p></td>
   147          <td class="code">destructor</td>
   148          <td width="585" valign="top"><p>Hard-coded drive letters</p></td>
   148          <td width="398" valign="top">Pointer access in destructors</td>
   149        </tr>
   149        </tr>
   150        <tr>
   150        <tr>
   151          <td width="294" valign="top" class="code"><p>eikbuttons</p></td>
   151          <td class="code">doubleSemiColon</td>
   152          <td width="585" valign="top"><p>Checks that the R_EIK_BUTTONS_* resources are not being used</p></td>
   152          <td width="398" valign="top">Use of double semicolon</td>
   153        </tr>
   153        </tr>
   154        <tr>
   154        <tr>
   155          <td width="294" valign="top" class="code"><p>eikonenvstatic</p></td>
   155          <td class="code">driveletters</td>
   156          <td width="585" valign="top"><p>Using CEikonEnv::Static</p></td>
   156          <td width="398" valign="top">Hard-coded drive letters</td>
   157        </tr>
   157        </tr>
   158        <tr>
   158        <tr>
   159          <td width="294" valign="top" class="code"><p>enummembers</p></td>
   159          <td class="code">eikbuttons</td>
   160          <td width="585" valign="top"><p>Enums with badly-named members</p></td>
   160          <td width="398" valign="top">Checks that the R_EIK_BUTTONS_* resources are not being used</td>
   161        </tr>
   161        </tr>
   162        <tr>
   162        <tr>
   163          <td width="294" valign="top" class="code"><p>enumnames</p></td>
   163          <td class="code">eikonenvstatic</td>
   164          <td width="585" valign="top"><p>Badly-named enums</p></td>
   164          <td width="398" valign="top">Using CEikonEnv::Static</td>
   165        </tr>
   165        </tr>
   166        <tr>
   166        <tr>
   167          <td width="294" valign="top" class="code"><p>exportinline</p></td>
   167          <td class="code">enummembers</td>
   168          <td width="585" valign="top"><p>Exporting inline functions</p></td>
   168          <td width="398" valign="top">Enums with badly-named members</td>
   169        </tr>
   169        </tr>
   170        <tr>
   170        <tr>
   171          <td width="294" valign="top" class="code"><p>exportpurevirtual</p></td>
   171          <td class="code">enumnames</td>
   172          <td width="585" valign="top"><p>Exporting pure virtual functions</p></td>
   172          <td width="398" valign="top">Badly-named enums</td>
   173        </tr>
   173        </tr>
   174        <tr>
   174        <tr>
   175          <td width="294" valign="top" class="code"><p>externaldriveletters</p></td>
   175          <td class="code">exportinline</td>
   176          <td width="585" valign="top"><p>Hard-coded external drive letters</p></td>
   176          <td width="398" valign="top">Exporting inline functions</td>
   177        </tr>
   177        </tr>
   178        <tr>
   178        <tr>
   179          <td width="294" valign="top" class="code"><p>foff</p></td>
   179          <td class="code">exportpurevirtual</td>
   180          <td width="585" valign="top"><p>Use of _FOFF</p></td>
   180          <td width="398" valign="top">Exporting pure virtual functions</td>
   181        </tr>
   181        </tr>
   182        <tr>
   182        <tr>
   183          <td width="294" valign="top" class="code"><p>forbiddenwords</p></td>
   183          <td class="code">externaldriveletters</td>
   184          <td width="585" valign="top"><p>Use of forbidden words in header files</p></td>
   184          <td width="398" valign="top">Hard-coded external drive letters</td>
   185        </tr>
   185        </tr>
   186        <tr>
   186        <tr>
   187          <td width="294" valign="top" class="code"><p>forgottoputptroncleanupstack</p></td>
   187          <td class="code">flags</td>
   188          <td width="585" valign="top"><p>Neglected to put variable on cleanup stack</p></td>
   188          <td valign="top">Check for flag usage</td>
   189        </tr>
   189        </tr>
   190        <tr>
   190        <tr>
   191          <td width="294" valign="top" class="code"><p>friend</p></td>
   191          <td class="code">foff</td>
   192          <td width="585" valign="top"><p>Use of friends</p></td>
   192          <td width="398" valign="top">Use of _FOFF</td>
   193        </tr>
   193        </tr>
   194        <tr>
   194        <tr>
   195          <td width="294" valign="top" class="code"><p>goto</p></td>
   195          <td class="code">forbiddenwords</td>
   196          <td width="585" valign="top"><p>Use of goto</p></td>
   196          <td width="398" valign="top">Use of forbidden words in header files</td>
   197        </tr>
   197        </tr>
   198        <tr>
   198        <tr>
   199          <td width="294" valign="top" class="code"><p>ifassignments</p></td>
   199          <td class="code">forgottoputptroncleanupstack</td>
   200          <td width="585" valign="top"><p>Assignment in an If statement</p></td>
   200          <td width="398" valign="top">Neglected to put variable on cleanup stack</td>
   201        </tr>
   201        </tr>
   202        <tr>
   202        <tr>
   203          <td width="294" valign="top" class="code"><p>ifpreprocessor</p></td>
   203          <td class="code">friend</td>
   204          <td width="585" valign="top"><p>Use of #if in .h files</p></td>
   204          <td width="398" valign="top">Use of friends</td>
   205        </tr>
   205        </tr>
   206        <tr>
   206        <tr>
   207          <td width="294" valign="top" class="code"><p>inheritanceorder</p></td>
   207          <td class="code">goto</td>
   208          <td width="585" valign="top"><p>Incorrect inheritance order of M and C classes</p></td>
   208          <td width="398" valign="top">Use of goto</td>
   209        </tr>
   209        </tr>
   210        <tr>
   210        <tr>
   211          <td width="294" valign="top" class="code"><p>intleaves</p></td>
   211          <td class="code">ifassignments</td>
   212          <td width="585" valign="top"><p>Methods that leave AND return a TInt error</p></td>
   212          <td width="398" valign="top">Assignment in an If statement</td>
   213        </tr>
   213        </tr>
   214        <tr>
   214        <tr>
   215          <td width="294" valign="top" class="code"><p>jmp</p></td>
   215          <td class="code">ifpreprocessor</td>
   216          <td width="585" valign="top"><p>Use of setjmp and/or longjmp</p></td>
   216          <td width="398" valign="top">Use of #if in .h files</td>
   217        </tr>
   217        </tr>
   218        <tr>
   218        <tr>
   219          <td width="294" valign="top" class="code"><p>leave</p></td>
   219          <td class="code">inheritanceorder</td>
   220          <td width="585" valign="top"><p>Leaving functions called in non-leaving functions</p></td>
   220          <td width="398" valign="top">Incorrect inheritance order of M and C classes</td>
   221        </tr>
   221        </tr>
   222        <tr>
   222        <tr>
   223          <td width="294" valign="top" class="code"><p>LeaveNoError</p></td>
   223          <td class="code">intleaves</td>
   224          <td width="585" valign="top"><p>Leaving with KErrNone</p></td>
   224          <td width="398" valign="top">Methods that leave AND return a TInt error</td>
   225        </tr>
   225        </tr>
   226        <tr>
   226        <tr>
   227          <td width="294" valign="top" class="code"><p>leavingoperators</p></td>
   227          <td class="code">jmp</td>
   228          <td width="585" valign="top"><p>Leaving functions called in operator functions</p></td>
   228          <td width="398" valign="top">Use of setjmp and/or longjmp</td>
   229        </tr>
   229        </tr>
   230        <tr>
   230        <tr>
   231          <td width="294" valign="top" class="code"><p>LFunctionCantLeave</p></td>
   231          <td class="code">leave</td>
   232          <td width="585" valign="top"><p>L-functions that cannot leave</p></td>
   232          <td width="398" valign="top">Leaving functions called in non-leaving functions</td>
   233        </tr>
   233        </tr>
   234        <tr>
   234        <tr>
   235          <td width="294" valign="top" class="code"><p>longlines</p></td>
   235          <td class="code">LeaveNoError</td>
   236          <td width="585" valign="top"><p>Overly long lines of code</p></td>
   236          <td width="398" valign="top">Leaving with KErrNone</td>
   237        </tr>
   237        </tr>
   238        <tr>
   238        <tr>
   239          <td width="294" valign="top" class="code"><p>magicnumbers</p></td>
   239          <td class="code">leavingoperators</td>
   240          <td width="585" valign="top"><p>Use of magic numbers</p></td>
   240          <td width="398" valign="top">Leaving functions called in operator functions</td>
   241        </tr>
   241        </tr>
   242        <tr>
   242        <tr>
   243          <td width="294" valign="top" class="code"><p>mclassdestructor</p></td>
   243          <td class="code">LFunctionCantLeave</td>
   244          <td width="585" valign="top"><p>M class has destructor</p></td>
   244          <td width="398" valign="top">L-functions that cannot leave</td>
   245        </tr>
   245        </tr>
   246        <tr>
   246        <tr>
   247          <td width="294" valign="top" class="code"><p>memberlc</p></td>
   247          <td class="code">longlines</td>
   248          <td width="585" valign="top"><p>Assigning LC methods to member variables</p></td>
   248          <td width="398" valign="top">Overly long lines of code</td>
   249        </tr>
   249        </tr>
   250        <tr>
   250        <tr>
   251          <td width="294" valign="top" class="code"><p>membervariablecallld</p></td>
   251          <td class="code">magicnumbers</td>
   252          <td width="585" valign="top"><p>Calling LD function on member variable</p></td>
   252          <td width="398" valign="top">Use of magic numbers</td>
   253        </tr>
   253        </tr>
   254        <tr>
   254        <tr>
   255          <td width="294" valign="top" class="code"><p>missingcancel</p></td>
   255          <td class="code">mclassdestructor</td>
   256          <td width="585" valign="top"><p>Cancel() not called in active object's destructor</p></td>
   256          <td width="398" valign="top">M class has destructor</td>
   257        </tr>
   257        </tr>
   258        <tr>
   258        <tr>
   259          <td width="294" valign="top" class="code"><p>missingcclass</p></td>
   259          <td class="code">memberlc</td>
   260          <td width="585" valign="top"><p>C class not inheriting from another C class</p></td>
   260          <td width="398" valign="top">Assigning LC methods to member variables</td>
   261        </tr>
   261        </tr>
   262        <tr>
   262        <tr>
   263          <td width="294" valign="top" class="code"><p>mmpsourcepath</p></td>
   263          <td class="code">membervariablecallld</td>
   264          <td width="585" valign="top"><p>Use of absolute path names in MMP files</p></td>
   264          <td width="398" valign="top">Calling LD function on member variable</td>
   265        </tr>
   265        </tr>
   266        <tr>
   266        <tr>
   267          <td width="294" valign="top" class="code"><p>multilangrsc</p></td>
   267          <td class="code">missingcancel</td>
   268          <td width="585" valign="top"><p>Not using    BaflUtils::NearestLanguageFile() when loading a resource file</p></td>
   268          <td width="398" valign="top">Cancel() not called in active object's destructor</td>
   269        </tr>
   269        </tr>
   270        <tr>
   270        <tr>
   271          <td width="294" valign="top" class="code"><p>multipledeclarations</p></td>
   271          <td class="code">missingcclass</td>
   272          <td width="585" valign="top"><p>Multiple declarations on one line</p></td>
   272          <td width="398" valign="top">C class not inheriting from another C class</td>
   273        </tr>
   273        </tr>
   274        <tr>
   274        <tr>
   275          <td width="294" valign="top" class="code"><p>multipleinheritance</p></td>
   275          <td class="code">mmpsourcepath</td>
   276          <td width="585" valign="top"><p>Non M-class multiple inheritance</p></td>
   276          <td width="398" valign="top">Use of absolute path names in MMP files</td>
   277        </tr>
   277        </tr>
   278        <tr>
   278        <tr>
   279          <td width="294" valign="top" class="code"><p>mydocs</p></td>
   279          <td class="code">multilangrsc</td>
   280          <td width="585" valign="top"><p>Hard-coded mydocs directory strings</p></td>
   280          <td width="398" valign="top">Not using    BaflUtils::NearestLanguageFile() when loading a resource file</td>
   281        </tr>
   281        </tr>
   282        <tr>
   282        <tr>
   283          <td width="294" valign="top" class="code"><p>namespace</p></td>
   283          <td class="code">multipledeclarations</td>
   284          <td width="585" valign="top"><p>Use of namespace</p></td>
   284          <td width="398" valign="top">Multiple declarations on one line</td>
   285        </tr>
   285        </tr>
   286        <tr>
   286        <tr>
   287          <td width="294" valign="top" class="code"><p>newlreferences</p></td>
   287          <td class="code">multipleinheritance</td>
   288          <td width="585" valign="top"><p>NewL() returning a reference</p></td>
   288          <td width="398" valign="top">Non M-class multiple inheritance</td>
   289        </tr>
   289        </tr>
   290        <tr>
   290        <tr>
   291          <td width="294" valign="top" class="code"><p>noleavetrap</p></td>
   291          <td class="code">mydocs</td>
   292          <td width="585" valign="top"><p>TRAP used with no leaving functions</p></td>
   292          <td width="398" valign="top">Hard-coded mydocs directory strings</td>
   293        </tr>
   293        </tr>
   294        <tr>
   294        <tr>
   295          <td width="294" valign="top" class="code"><p>nonconsthbufc</p></td>
   295          <td class="code">namespace</td>
   296          <td width="585" valign="top"><p>Non-const HBufC* parameter passing</p></td>
   296          <td width="398" valign="top">Use of namespace</td>
   297        </tr>
   297        </tr>
   298        <tr>
   298        <tr>
   299          <td width="294" valign="top" class="code"><p>nonconsttdesc</p></td>
   299          <td class="code">newlreferences</td>
   300          <td width="585" valign="top"><p>Non-const TDesC&amp; parameter passing</p></td>
   300          <td width="398" valign="top">NewL() returning a reference</td>
   301        </tr>
   301        </tr>
   302        <tr>
   302        <tr>
   303          <td width="294" valign="top" class="code"><p>nonleavenew</p></td>
   303          <td class="code">noleavetrap</td>
   304          <td width="585" valign="top"><p>Use of new without (ELeave)</p></td>
   304          <td width="398" valign="top">TRAP used with no leaving functions</td>
   305        </tr>
   305        </tr>
   306        <tr>
   306        <tr>
   307          <td width="294" valign="top" class="code"><p>nonunicodeskins</p></td>
   307          <td class="code">nonconsthbufc</td>
   308          <td width="585" valign="top"><p>Non-Unicode skins</p></td>
   308          <td width="398" valign="top">Non-const HBufC* parameter passing</td>
   309        </tr>
   309        </tr>
   310        <tr>
   310        <tr>
   311          <td width="294" valign="top" class="code"><p>null</p></td>
   311          <td class="code">nonconsttdesc</td>
   312          <td width="585" valign="top"><p>NULL equality check</p></td>
   312          <td width="398" valign="top">Non-const TDesC&amp; parameter passing</td>
   313        </tr>
   313        </tr>
   314        <tr>
   314        <tr>
   315          <td width="294" valign="top" class="code"><p>open</p></td>
   315          <td class="code">nonleavenew</td>
   316          <td width="585" valign="top"><p>Ignoring Open() return value</p></td>
   316          <td width="398" valign="top">Use of new without (ELeave)</td>
   317        </tr>
   317        </tr>
   318        <tr>
   318        <tr>
   319          <td width="294" valign="top" class="code"><p>pointertoarrays</p></td>
   319          <td class="code">nonunicodeskins</td>
   320          <td width="585" valign="top"><p>Pointer to arrays as members of a C class</p></td>
   320          <td width="398" valign="top">Non-Unicode skins</td>
   321        </tr>
   321        </tr>
   322        <tr>
   322        <tr>
   323          <td width="294" valign="top" class="code"><p>pragmadisable</p></td>
   323          <td class="code">null</td>
   324          <td width="585" valign="top"><p>Use of #pragma warning</p></td>
   324          <td width="398" valign="top">NULL equality check</td>
   325        </tr>
   325        </tr>
   326        <tr>
   326        <tr>
   327          <td width="294" valign="top" class="code"><p>pragmamessage</p></td>
   327          <td class="code">open</td>
   328          <td width="585" valign="top"><p>Use of #pragma message</p></td>
   328          <td width="398" valign="top">Ignoring Open() return value</td>
   329        </tr>
   329        </tr>
   330        <tr>
   330        <tr>
   331          <td width="294" valign="top" class="code"><p>pragmaother</p></td>
   331          <td class="code">pointertoarrays</td>
   332          <td width="585" valign="top"><p>Use of #pragma other than warning and message</p></td>
   332          <td width="398" valign="top">Pointer to arrays as members of a C class</td>
   333        </tr>
   333        </tr>
   334        <tr>
   334        <tr>
   335          <td width="294" valign="top" class="code"><p>privateinheritance</p></td>
   335          <td class="code">pragmadisable</td>
   336          <td width="585" valign="top"><p>Use of private inheritance</p></td>
   336          <td width="398" valign="top">Use of #pragma warning</td>
   337        </tr>
   337        </tr>
   338        <tr>
   338        <tr>
   339          <td width="294" valign="top" class="code"><p>pushaddrvar</p></td>
   339          <td class="code">pragmamessage</td>
   340          <td width="585" valign="top"><p>Pushing address of a variable onto the cleanup stack</p></td>
   340          <td width="398" valign="top">Use of #pragma message</td>
   341        </tr>
   341        </tr>
   342        <tr>
   342        <tr>
   343          <td width="294" valign="top" class="code"><p>pushmember</p></td>
   343          <td class="code">pragmaother</td>
   344          <td width="585" valign="top"><p>Pushing data members onto the cleanup stack</p></td>
   344          <td width="398" valign="top">Use of #pragma other than warning and message</td>
   345        </tr>
   345        </tr>
   346        <tr>
   346        <tr>
   347          <td width="294" valign="top" class="code"><p>readresource</p></td>
   347          <td class="code">privateinheritance</td>
   348          <td width="585" valign="top"><p>Using ReadResource() instead of ReadResourceL()</p></td>
   348          <td width="398" valign="top">Use of private inheritance</td>
   349        </tr>
   349        </tr>
   350        <tr>
   350        <tr>
   351          <td width="294" valign="top" class="code"><p>resourcenotoncleanupstack</p></td>
   351          <td class="code">pushaddrvar</td>
   352          <td width="585" valign="top"><p>Neglected to put resource objects on cleanup stack</p></td>
   352          <td width="398" valign="top">Pushing address of a variable onto the cleanup stack</td>
   353        </tr>
   353        </tr>
   354        <tr>
   354        <tr>
   355          <td width="294" valign="top" class="code"><p>resourcesonheap</p></td>
   355          <td class="code">pushmember</td>
   356          <td width="585" valign="top"><p>Resource objects on the heap</p></td>
   356          <td width="398" valign="top">Pushing data members onto the cleanup stack</td>
   357        </tr>
   357        </tr>
   358        <tr>
   358        <tr>
   359          <td width="294" valign="top" class="code"><p>returndescriptoroutofscope</p></td>
   359          <td class="code">readresource</td>
   360          <td width="585" valign="top"><p>Return descriptor out of scope</p></td>
   360          <td width="398" valign="top">Using ReadResource() instead of ReadResourceL()</td>
   361        </tr>
   361        </tr>
   362        <tr>
   362        <tr>
   363          <td width="294" valign="top" class="code"><p>rfs</p></td>
   363          <td class="code">resourcenotoncleanupstack</td>
   364          <td width="585" valign="top"><p>Use of non-pointer/reference RFs</p></td>
   364          <td width="398" valign="top">Neglected to put resource objects on cleanup stack</td>
   365        </tr>
   365        </tr>
   366        <tr>
   366        <tr>
   367          <td width="294" valign="top" class="code"><p>rssnames</p></td>
   367          <td class="code">resourcesonheap</td>
   368          <td width="585" valign="top"><p>Duplicate RSS names</p></td>
   368          <td width="398" valign="top">Resource objects on the heap</td>
   369        </tr>
   369        </tr>
   370        <tr>
   370        <tr>
   371          <td width="294" valign="top" class="code"><p>stringliterals</p></td>
   371          <td class="code">returndescriptoroutofscope</td>
   372          <td width="585" valign="top"><p>Use of _L string literals</p></td>
   372          <td width="398" valign="top">Return descriptor out of scope</td>
   373        </tr>
   373        </tr>
   374        <tr>
   374        <tr>
   375          <td width="294" valign="top" class="code"><p>stringsinresourcefiles</p></td>
   375          <td class="code">rfs</td>
   376          <td width="585" valign="top"><p>Strings in RSS or RA files</p></td>
   376          <td width="398" valign="top">Use of non-pointer/reference RFs</td>
   377        </tr>
   377        </tr>
   378        <tr>
   378        <tr>
   379          <td width="294" valign="top" class="code"><p>struct</p></td>
   379          <td class="code">rssnames</td>
   380          <td width="585" valign="top"><p>Use of struct</p></td>
   380          <td width="398" valign="top">Duplicate RSS names</td>
   381        </tr>
   381        </tr>
   382        <tr>
   382        <tr>
   383          <td width="294" valign="top" class="code"><p>tcclasses</p></td>
   383          <td class="code">stringliterals</td>
   384          <td width="585" valign="top"><p>T classes inheriting from C classes</p></td>
   384          <td width="398" valign="top">Use of _L string literals</td>
   385        </tr>
   385        </tr>
   386        <tr>
   386        <tr>
   387          <td width="294" valign="top" class="code"><p>tclassdestructor</p></td>
   387          <td class="code">stringsinresourcefiles</td>
   388          <td width="585" valign="top"><p>T class has destructor</p></td>
   388          <td width="398" valign="top">Strings in RSS or RA files</td>
   389        </tr>
   389        </tr>
   390        <tr>
   390        <tr>
   391          <td width="294" valign="top" class="code"><p>todocomments</p></td>
   391          <td class="code">struct</td>
   392          <td width="585" valign="top"><p>&quot;To do&rdquo; comments</p></td>
   392          <td width="398" valign="top">Use of struct</td>
   393        </tr>
   393        </tr>
   394        <tr>
   394        <tr>
   395          <td width="294" valign="top" class="code"><p>trapcleanup</p></td>
   395          <td class="code">tcclasses</td>
   396          <td width="585" valign="top"><p>Use of LC function in TRAPs</p></td>
   396          <td width="398" valign="top">T classes inheriting from C classes</td>
   397        </tr>
   397        </tr>
   398        <tr>
   398        <tr>
   399          <td width="294" valign="top" class="code"><p>trapeleave</p></td>
   399          <td class="code">tclassdestructor</td>
   400          <td width="585" valign="top"><p>Trapping new(ELeave)</p></td>
   400          <td width="398" valign="top">T class has destructor</td>
   401        </tr>
   401        </tr>
   402        <tr>
   402        <tr>
   403          <td width="294" valign="top" class="code"><p>traprunl</p></td>
   403          <td class="code">todocomments</td>
   404          <td width="585" valign="top"><p>Trapping of (Do)RunL() rather than using RunError()</p></td>
   404          <td width="398" valign="top">&quot;To do&rdquo; comments</td>
   405        </tr>
   405        </tr>
   406        <tr>
   406        <tr>
   407          <td width="294" valign="top" class="code"><p>trspassing</p></td>
   407          <td class="code">trapcleanup</td>
   408          <td width="585" valign="top"><p>Passing TRequestStatus parameters by value</p></td>
   408          <td width="398" valign="top">Use of LC function in TRAPs</td>
   409        </tr>
   409        </tr>
   410        <tr>
   410        <tr>
   411          <td width="294" valign="top" class="code"><p>uids</p></td>
   411          <td class="code">trapeleave</td>
   412          <td width="585" valign="top"><p>Duplicate UIDs</p></td>
   412          <td width="398" valign="top">Trapping new(ELeave)</td>
   413        </tr>
   413        </tr>
   414        <tr>
   414        <tr>
   415          <td width="294" valign="top" class="code"><p>uncompressedaif</p></td>
   415          <td class="code">traprunl</td>
   416          <td width="585" valign="top"><p>Uncompressed AIFs in ROM</p></td>
   416          <td width="398" valign="top">Trapping of (Do)RunL() rather than using RunError()</td>
   417        </tr>
   417        </tr>
   418        <tr>
   418        <tr>
   419          <td width="294" valign="top" class="code"><p>uncompressedbmp</p></td>
   419          <td class="code">trspassing</td>
   420          <td width="585" valign="top"><p>Uncompressed bitmaps in ROM</p></td>
   420          <td width="398" valign="top">Passing TRequestStatus parameters by value</td>
   421        </tr>
   421        </tr>
   422        <tr>
   422        <tr>
   423          <td width="294" valign="top" class="code"><p>unicodesource</p></td>
   423          <td class="code">uids</td>
   424          <td width="585" valign="top"><p>Unicode source files</p></td>
   424          <td width="398" valign="top">Duplicate UIDs</td>
   425        </tr>
   425        </tr>
   426        <tr>
   426        <tr>
   427          <td width="294" valign="top" class="code"><p>userafter</p></td>
   427          <td class="code">uncompressedaif</td>
   428          <td width="585" valign="top"><p>Use of User::After</p></td>
   428          <td width="398" valign="top">Uncompressed AIFs in ROM</td>
   429        </tr>
   429        </tr>
   430        <tr>
   430        <tr>
   431          <td width="294" valign="top" class="code"><p>userfree</p></td>
   431          <td class="code">uncompressedbmp</td>
   432          <td width="585" valign="top"><p>Using User::Free directly</p></td>
   432          <td width="398" valign="top">Uncompressed bitmaps in ROM</td>
   433        </tr>
   433        </tr>
   434        <tr>
   434        <tr>
   435          <td width="294" valign="top" class="code"><p>userWaitForRequest</p></td>
   435          <td class="code">unicodesource</td>
   436          <td width="585" valign="top"><p>Use of User::WaitForRequest</p></td>
   436          <td width="398" valign="top">Unicode source files</td>
   437        </tr>
   437        </tr>
   438        <tr>
   438        <tr>
   439          <td width="294" valign="top" class="code"><p>variablenames</p></td>
   439          <td class="code">userafter</td>
   440          <td width="585" valign="top"><p>Local variables with member/argument names</p></td>
   440          <td width="398" valign="top">Use of User::After</td>
   441        </tr>
   441        </tr>
   442        <tr>
   442        <tr>
   443          <td width="294" valign="top" class="code"><p>voidparameter</p></td>
   443          <td class="code">userfree</td>
   444          <td width="585" valign="top"><p>Void parameter explicitly declared</p></td>
   444          <td width="398" valign="top">Using User::Free directly</td>
   445        </tr>
   445        </tr>
   446        <tr>
   446        <tr>
   447          <td width="294" valign="top" class="code"><p>worryingcomments</p></td>
   447          <td class="code">userWaitForRequest</td>
   448          <td width="585" valign="top"><p>Worrying comments</p></td>
   448          <td width="398" valign="top">Use of User::WaitForRequest</td>
       
   449        </tr>
       
   450        <tr>
       
   451          <td class="code">variablenames</td>
       
   452          <td width="398" valign="top">Local variables with member/argument names</td>
       
   453        </tr>
       
   454        <tr>
       
   455          <td class="code">voidparameter</td>
       
   456          <td width="398" valign="top">Void parameter explicitly declared</td>
       
   457        </tr>
       
   458        <tr>
       
   459          <td class="code">worryingcomments</td>
       
   460          <td width="398" valign="top">Worrying comments</td>
   449        </tr>
   461        </tr>
   450      </table>
   462      </table>
   451    <p>&nbsp;</p>
   463    &nbsp;</p>
   452 	 <h3><a name="cs_Projects" id="cs_Projects"></a>CodeScanner for projects </h3>
   464 	 <h3><a name="cs_Projects" id="cs_Projects"></a>CodeScanner for projects </h3>
   453 	 <p>CodeScanner options can also be set at the project level in the <a href="pref_codescanner_01.htm#cs_Projects">Properties</a> window. Right-click the project and choose <strong>Properties</strong>, then select the <strong>Carbide.c++ &gt; Carbide CodeScanner</strong> element in the properties  list. Click a tab to view the appropriate page and set its options. </p>
   465 	 <p>CodeScanner options can also be set at the project level in the <a href="pref_codescanner_01.htm#cs_Projects">Properties</a> window. Right-click the project and choose <strong>Properties</strong>, then select the <strong>Carbide.c++ &gt; Carbide CodeScanner</strong> element in the properties  list. Click a tab to view the appropriate page and set its options. </p>
   454 	 <p align="left">CodeScanner options specific to the project:</p>
   466 	 <p align="left">CodeScanner options specific to the project:</p>
   455 	 <table width="700"
   467 	 <table width="700"
   456 border="0" cellpadding="2" cellspacing="0">
   468 border="0" cellpadding="2" cellspacing="0">
   463          <td class="Cell">Activate to set project specific CodeScanner settings. By default a project in the workspace uses the global CodeScanner settings unless this option is activated. </td>
   475          <td class="Cell">Activate to set project specific CodeScanner settings. By default a project in the workspace uses the global CodeScanner settings unless this option is activated. </td>
   464        </tr>
   476        </tr>
   465        <tr valign="top">
   477        <tr valign="top">
   466          <td class="Cell"><b>Configure Workspace Settings... </b></td>
   478          <td class="Cell"><b>Configure Workspace Settings... </b></td>
   467          <td class="Cell"><p>Click to open the <b>Preferences</b> window and configure CodeScanner for the workspace. </p>
   479          <td class="Cell"><p>Click to open the <b>Preferences</b> window and configure CodeScanner for the workspace. </p>
   468              <p class="note"><b>NOTE</b> Only visible in the project CodeScanner property panels. </p></td>
   480            <p class="note"><b>NOTE</b> Only visible in the project CodeScanner property panels. </td>
   469        </tr>
   481        </tr>
   470      </table>
   482      </table>
   471 	 <p>&nbsp;</p>
   483 	 <p>&nbsp;</p>
   472 	 <h5>Other references</h5>
   484 	 <h5>Other references</h5>
   473 	 <ul>
   485 	 <ul>