Exakat\Analyzer\Arrays\MixedKeys::analyze PHP Method

analyze() public method

public analyze ( )
    public function analyze()
    {
        // build with array()
        $this->atomIs('Ppp')->outIs('PPP')->atomInside('Functioncall')->functioncallIs('\\array')->_as('result')->raw('where(
   __.sideEffect{ counts = [:]; }
      .out("ARGUMENTS").out("ARGUMENT").hasLabel("Keyvalue").out("KEY")
      .hasLabel("String", "Integer", "Real", "Boolean", "Staticconstant", "Identifier").where(__.out("CONCAT").count().is(eq(0)))
      .sideEffect{ 
            if (it.get().label() in ["Identifier", "Staticconstant"] ) { k = "a"; } else { k = "b"; }
            if (counts[k] == null) { counts[k] = 1; } else { counts[k]++; }
        }
        .map{ counts.size(); }.is(eq(2))
)')->back('result');
        $this->prepareQuery();
    }
MixedKeys