~ubuntu-branches/ubuntu/wily/php-codesniffer/wily

« back to all changes in this revision

Viewing changes to PHP_CodeSniffer-1.5.3/CodeSniffer/Standards/PSR1/Sniffs/Methods/CamelCapsMethodNameSniff.php

  • Committer: Package Import Robot
  • Author(s): David Prévot, Greg Sherwood, Dawid Nowak, Weston Ruter, David Prévot
  • Date: 2014-08-09 12:28:47 UTC
  • mfrom: (1.1.5)
  • Revision ID: package-import@ubuntu.com-20140809122847-giuxi3ezmeajasvy
Tags: 1.5.4-1
* Team upload

[ Greg Sherwood ]
* Removed use of sys_get_temp_dir() as this is not supported by the min PHP
  version
* Fixed bug #20268 : Incorrect documentation titles in PEAR documentation
* Generic ScopeIndentSniff now accounts for different open tag indents
* Forgot that short array token are detected by the tokenizer even on
  unsupported PHP versions
* Fixed bug #20296 : new array notion in function comma check fails
* Fixed bug #20310 : PSR2 does not check for space after function name
* Fixed bug #20309 : Use "member variable" term in sniff "processMemberVar"
  method
* Fixed bug #20307 : PHP_CodeSniffer_Standards_AbstractVariableSniff analyze
  traits
* Fixed bug #20308 : Squiz.ValidVariableNameSniff - wrong variable usage
* Squiz InlineCommentSniff no longer requires a blank line after
  post-statement comments (request #20299)
* Fixed bug #20322 : Display rules set to type=error even when suppressing
  warnings
* Invalid sniff codes passed to --sniffs now show a friendly error message
  (request #20313)
* Generic LineLengthSniff now shows a warning if the iconv module is disabled
  (request #20314)
* Fixed bug #20323 : PHPCS tries to load sniffs from hidden directories
* Squiz SelfMemberReferenceSniff now works correctly with namespaces
* Prepare for 1.5.4 release

[ Dawid Nowak ]
* Correct multiline call detection: PSR2_FunctionCallSignatureSniff (string
  with multiple lines doesn't  necessarily mean multiple lines call)

[ Weston Ruter ]
* Allow installed_paths to be relative to the phpcs root directory

[ David Prévot ]
* Update phpcs.1
* Add XS-Testsuite still needed for ci.d.n

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?php
2
 
/**
3
 
 * PSR1_Sniffs_Methods_CamelCapsMethodNameSniff.
4
 
 *
5
 
 * PHP version 5
6
 
 *
7
 
 * @category  PHP
8
 
 * @package   PHP_CodeSniffer
9
 
 * @author    Greg Sherwood <gsherwood@squiz.net>
10
 
 * @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600)
11
 
 * @license   https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
12
 
 * @link      http://pear.php.net/package/PHP_CodeSniffer
13
 
 */
14
 
 
15
 
if (class_exists('Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff', true) === false) {
16
 
    throw new PHP_CodeSniffer_Exception('Class Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff not found');
17
 
}
18
 
 
19
 
/**
20
 
 * PSR1_Sniffs_Methods_CamelCapsMethodNameSniff.
21
 
 *
22
 
 * Ensures method names are defined using camel case.
23
 
 *
24
 
 * @category  PHP
25
 
 * @package   PHP_CodeSniffer
26
 
 * @author    Greg Sherwood <gsherwood@squiz.net>
27
 
 * @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600)
28
 
 * @license   https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
29
 
 * @version   Release: 1.5.3
30
 
 * @link      http://pear.php.net/package/PHP_CodeSniffer
31
 
 */
32
 
class PSR1_Sniffs_Methods_CamelCapsMethodNameSniff extends Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff
33
 
{
34
 
 
35
 
    /**
36
 
     * Constructs a PSR1_Sniffs_Methods_CamelCapsMethodNameSniff.
37
 
     */
38
 
    public function __construct()
39
 
    {
40
 
        parent::__construct(array(T_CLASS, T_INTERFACE, T_TRAIT), array(T_FUNCTION), true);
41
 
 
42
 
    }//end __construct()
43
 
 
44
 
 
45
 
    /**
46
 
     * Processes the tokens within the scope.
47
 
     *
48
 
     * @param PHP_CodeSniffer_File $phpcsFile The file being processed.
49
 
     * @param int                  $stackPtr  The position where this token was
50
 
     *                                        found.
51
 
     * @param int                  $currScope The position of the current scope.
52
 
     *
53
 
     * @return void
54
 
     */
55
 
    protected function processTokenWithinScope(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $currScope)
56
 
    {
57
 
        $methodName = $phpcsFile->getDeclarationName($stackPtr);
58
 
        if ($methodName === null) {
59
 
            // Ignore closures.
60
 
            return;
61
 
        }
62
 
 
63
 
        // Ignore magic methods.
64
 
        $magicPart = strtolower(substr($methodName, 2));
65
 
        if (in_array($magicPart, array_merge($this->magicMethods, $this->methodsDoubleUnderscore)) !== false) {
66
 
            return;
67
 
        }
68
 
 
69
 
        $testName = ltrim($methodName, '_');
70
 
        if (PHP_CodeSniffer::isCamelCaps($testName, false, true, false) === false) {
71
 
            $error     = 'Method name "%s" is not in camel caps format';
72
 
            $className = $phpcsFile->getDeclarationName($currScope);
73
 
            $errorData = array($className.'::'.$methodName);
74
 
            $phpcsFile->addError($error, $stackPtr, 'NotCamelCaps', $errorData);
75
 
        }
76
 
 
77
 
    }//end processTokenWithinScope()
78
 
 
79
 
 
80
 
    /**
81
 
     * Processes the tokens outside the scope.
82
 
     *
83
 
     * @param PHP_CodeSniffer_File $phpcsFile The file being processed.
84
 
     * @param int                  $stackPtr  The position where this token was
85
 
     *                                        found.
86
 
     *
87
 
     * @return void
88
 
     */
89
 
    protected function processTokenOutsideScope(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
90
 
    {
91
 
 
92
 
 
93
 
    }//end processTokenOutsideScope()
94
 
 
95
 
 
96
 
}//end class
97
 
 
98
 
?>