Pinq\Analysis\PhpTypeSystem::bitwiseOperators PHP Method

bitwiseOperators() protected method

protected bitwiseOperators ( $operator )
    protected function bitwiseOperators($operator)
    {
        //TODO: remove duplicate operators with types on opposite sides (binary operators are symmetrical)
        $operators = [];
        foreach ([INativeType::TYPE_INT, INativeType::TYPE_DOUBLE, INativeType::TYPE_NUMERIC, INativeType::TYPE_STRING, INativeType::TYPE_RESOURCE, INativeType::TYPE_BOOL, INativeType::TYPE_NULL] as $type) {
            $operators = array_merge($operators, [[$type, $operator, INativeType::TYPE_INT, 'return' => INativeType::TYPE_INT], [$type, $operator, INativeType::TYPE_DOUBLE, 'return' => INativeType::TYPE_INT], [$type, $operator, INativeType::TYPE_NULL, 'return' => INativeType::TYPE_INT], [$type, $operator, INativeType::TYPE_BOOL, 'return' => INativeType::TYPE_INT], [$type, $operator, INativeType::TYPE_STRING, 'return' => INativeType::TYPE_INT], [$type, $operator, INativeType::TYPE_RESOURCE, 'return' => INativeType::TYPE_INT]]);
        }
        return $operators;
    }