Permalink
Commits on Feb 8, 2017
  1. Merge pull request #156 from petitchevalroux/fix-ocaml

    Fix ocaml 4.04 compatibility
    phooji committed on GitHub Feb 8, 2017
Commits on Feb 7, 2017
Commits on Jan 14, 2017
  1. Merge pull request #154 from soutaro/variadic-param-typing

    Variadic parameters with type hint
    aryx committed on GitHub Jan 14, 2017
  2. Fix typing variadic parameter

    * Add `HintVariadic` constructor for type hint of variadic parameters
    * Give `array` type to `HintVariadic` hint
    soutaro committed Jan 12, 2017
  3. Add p_variadic field

    soutaro committed Jan 12, 2017
Commits on Jan 12, 2017
  1. Merge pull request #153 from soutaro/reference-variadic-param

    Improve variadic parameter parsing
    aryx committed on GitHub Jan 12, 2017
  2. Revise parameter parsing

    Allow having multiple variadic ellipsis only parameters (`...`), but reject the case in actions.
    soutaro committed Jan 12, 2017
  3. Add tests

    soutaro committed Jan 12, 2017
Commits on Jan 7, 2017
  1. Merge pull request #152 from soutaro/php7-combned-comparison

    Support PHP7 Combined Comparison Operator
    aryx committed on GitHub Jan 7, 2017
Commits on Oct 14, 2016
  1. * commons/common.ml: some group_by

    aryx committed Oct 14, 2016
Commits on Aug 11, 2016
  1. * lang_php/matcher/Makefile: remove -warn-error

    should fix issue #147
    aryx committed Aug 11, 2016
  2. * external/ocamlzip/zip.ml: remove duplicate exception.

    It is causing compilation error with ocaml 4.02.3 apparently.
    Should fix issue #133 and issue #145
    aryx committed Aug 11, 2016
Commits on Aug 5, 2016
Commits on Aug 3, 2016
  1. * Makefile.common: remove -warn-error by default, it causes too many

    problems.
    
    should fix issue #145
    aryx committed Aug 3, 2016
Commits on Jul 18, 2016
  1. Merge pull request #144 from tychota/fix-compiler-specific

    Replace use of uint32 by standard/ complient way
    aryx committed on GitHub Jul 18, 2016
Commits on Jul 17, 2016
  1. Replace use of uint32 by standard/ complient way

    This closes #142.
    
    Uint32 semms to be platform specific :
    - http://stackoverflow.com/questions/13362084/difference-between-uint32-and-uint32-t
    
    This I'm importing stdint and using the standard uint32_t type.
    tychota committed Jul 17, 2016
Commits on Jun 30, 2016
  1. Merge pull request #143 from rvantonder/micro-clones-php-pr

    Micro clone detection for boolean expressions
    aryx committed on GitHub Jun 30, 2016
Commits on Jun 29, 2016
  1. [pfff] Feature: micro clone detection for boolean expressions

    Summary:
    Micro clones are small snippets of repeated expressions or statements.
    This is often a result of copy-pasting. For example:
    
    if ($input_data['type'] != 'scalar' && $input_data['type'] != 'scalar')
    {...}
    
    This feature adds support in Scheck for detecting micro clones in PHP
    boolean expressions. Unless repeated boolean expressions have side
    effects, they can likely be removed. For example:
    
    if ($a || $b || $c || $d || $e && $e && ($f && ($g || $z) && $h && $i)) {}
    
    generates the error
    
    test.php:2:31: CHECK: Boolean operator && contains duplicate expression $e.
    rvantonder committed Jun 29, 2016
Commits on Mar 23, 2016
  1. [pfff] unbreak parsing `$$variable` with a quick lexer hack

    Summary:
    Managed to break this in D3005435. The fix is to explicitly
    look for `$$name` cases in the lexer, and push the dollar
    token separate from the `VARIABLE`. This way, the parser
    gets the tokens it would see prior to D3005435.
    
    Test Plan:
      ~/pfff $ make test
      ~/pfff $ ./pfff -dump_php ./tests/php/parsing/dynamic_var.php
    
    **Output**
    
      [StmtList(
       [ExprStmt(
             Assign(IdVar(DName(("o", i_1)), Ref(NoScope)), i_2,
                     Sc(C(String(("foo", i_3))))), i_4);
                         ExprStmt(
                               Assign(IdVar(DName(("foo", i_5)), Ref(NoScope)), i_6,
                                       Sc(C(Int(("42", i_7))))), i_8);
                                           Echo(i_9, [Left(Deref(i_10, IdVar(DName(("o", i_11)), Ref(NoScope))))],
                                                 i_12)]); FinalDef(i_13)]
    
    (Previous output after D3005435 was to barf :()
    
    Reviewers: logozzo, dreeves
    
    Differential Revision: https://phabricator.fb.com/D3089181
    phooji committed Mar 23, 2016
  2. [pfff] add parser support for $$ dollardollar support for |> pipe in …

    …Hack/PHP
    
    Summary:
    Added to the lexer and wrapped as a regular identifier
    using `$` as the name.
    
    Test Plan:
        $ make clean
        $ ./configure -novisual
        $ make depend
        $ make
        $ make test
    
    Reviewers: logozzo
    
    Subscribers: dominik, hansonw
    
    Differential Revision: https://phabricator.fb.com/D3005435
    phooji committed Mar 3, 2016
  3. [pfff] add support for the |> pipe operator for Hack/PHP

    Summary: Pretty much like title. Adding `$$` in a separate diff.
    
    Test Plan:
      $ make clean
      $ ./configure -novisual
      $ make depend
      $ make
      $ make test
    
    Reviewers: logozzo, zacharyl
    
    Subscribers: dominik, hansonw
    
    Differential Revision: https://phabricator.fb.com/D3005436
    phooji committed Mar 3, 2016
Commits on Mar 4, 2016
  1. Merge pull request #139 from damiendoligez/patch-1

    Remove `-warn-error +a` in released builds.
    aryx committed Mar 4, 2016
Commits on Mar 2, 2016
  1. Remove `-warn-error +a` in released builds.

    Don't use `-warn-error +a` in released source. If you want to be warning-clean, you should activate the flag only in debug/development mode. Here I'm proposing a simple solution that relies on GNUmake features. You might want to do it in the configure script instead.
    
    As it is now, pfff 0.29 breaks on OCaml 4.03.0+beta1 because of this line (and the use of `String.capitalize`, which is now deprecated).
    damiendoligez committed Mar 2, 2016
Commits on Jan 21, 2016
  1. * changes.txt: misc

    aryx committed Jan 21, 2016