Skip to content

Instantly share code, notes, and snippets.

View bendavies's full-sized avatar
🏠
Working from home

Ben Davies bendavies

🏠
Working from home
View GitHub Profile
⠐ Analyzing sources▕█████████████████████████████░ ▏ 1395/10343▕ 13%▕ ETA: 00:02:40▕ Elapsed: 00:00:29
thread 'main' panicked at crates/codex/src/ttype/atomic/array/keyed.rs:168:13:
Keyed array without known items or parameters should not be non-empty
stack backtrace:
0: 0x1025d2918 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::he0bc6252a1f66f9c
1: 0x1025f14ac - core::fmt::write::hf8d889d4c7f939b8
2: 0x1025cf344 - std::io::Write::write_fmt::hbf28d6c55e142a53
3: 0x1025d27cc - std::sys::backtrace::BacktraceLock::print::hfeb1090738b103c6
4: 0x1025d4720 - std::panicking::default_hook::{{closure}}::h65c2824a2670db3e
5: 0x1025d4570 - std::panicking::default_hook::hd7cc1ff1d0bc4c56
⏺ Based on my review, this PR introduces three major components to the codebase:
Architecture Overview
Codex - A metadata storage system replacing previous reflection/project crates, managing PHP codebase information including types, symbols, and class/function metadata.
Algebra - A boolean algebra engine for logical operations, implementing CNF clause manipulation with saturation algorithms for type assertion analysis.
Analyzer - The core type checker performing static analysis, detecting ~290 different issue types with dataflow and effect analysis capabilities.
<?php
declare(strict_types=1);
use Symfony\Component\HttpKernel\Event\ControllerEvent;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
class SessionListener
{
public function __construct(
<?php
declare(strict_types=1);
namespace App\Form\Type;
...
#[AsEntityAutocompleteField]
class CarrierAutocompleteField extends AbstractType
@bendavies
bendavies / script.sql
Last active March 3, 2023 12:07
tankerkoenig
create table pricereport (
date timestamp without time zone not null,
fueltype character varying(6) not null,
stationid uuid not null,
price numeric(4,3) not null,
change integer not null
);
create table prices (
.DEFAULT_GOAL := help
.EXPORT_ALL_VARIABLES:
APP_ENV = test
APP_DEBUG = false
.PHONY: it
it: coding-standards static-code-analysis tests ## Runs the coding-standards, static-code-analysis and tests targets
# https://docs.github.com/en/actions
name: "Dependabot Merge"
on:
workflow_run:
workflows: ["Integrate"]
types:
- completed
@bendavies
bendavies / JsonFilter.php
Created October 7, 2020 12:23 — forked from thomas-seres/JsonFilter.deprecated.php
API Platform - JSON Filter
<?php
/**
*
* @author Thomas Sérès <[email protected]>
*/
namespace App\Filter;
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\AbstractContextAwareFilter;
use ApiPlatform\Core\Bridge\Doctrine\Orm\Util\QueryNameGeneratorInterface;
use ApiPlatform\Core\Exception\InvalidArgumentException;
jobs:
strategy:
fail-fast: false
matrix:
chunk_count: [5]
chunk_number: [1, 2, 3, 4, 5]
env:
CHUNK_COUNT: ${{matrix.chunk_count}}
CHUNK_NUMBER: ${{matrix.chunk_number}}
#!/bin/bash
set -eu
mkdir -p build/logs/phpunit build/coverage
split_tests=$(find tests -name '*Test.php')
export PARALLEL='-j10% --joblog build/logs/parallel.log --rpl {_}\ s/\\//_/g;'
phpunit_cmd='TEST_TOKEN={%} vendor/bin/phpunit --coverage-php build/coverage/coverage-{_}.cov --log-junit build/logs/phpunit/{_}.xml --colors=always {}'
echo "$split_tests" | parallel "$phpunit_cmd"