Matthew Brown
|
fab07c58bd
|
Add slash
|
2020-07-02 01:32:40 -04:00 |
|
Brown
|
ea82cdc6ea
|
Fix #3726 - infer generic template from class-string
|
2020-07-02 01:11:46 -04:00 |
|
Brown
|
bcd7478352
|
Reduce memory footprint a little
|
2020-06-25 19:12:30 -04:00 |
|
Brown
|
07f7e5ccaf
|
Reconciling should preserve taints
Fixes #3680
|
2020-06-25 17:04:18 -04:00 |
|
Brown
|
7a7cd91c24
|
Fix #3631 - better treatment for assignments in complex conditionals
|
2020-06-24 13:16:52 -04:00 |
|
Brown
|
cbd7ba8ed8
|
Fix return type
|
2020-06-20 23:34:39 -04:00 |
|
Brown
|
10e4e9ac65
|
Fix #3617 - prevent crash when constant class doesn’t exist
|
2020-06-20 23:30:36 -04:00 |
|
Brown
|
137647a1a0
|
Fix #3603 - better typed value comparisons for loose equality
|
2020-06-18 09:31:38 -04:00 |
|
Matthew Brown
|
8da80870e3
|
Optimise check
|
2020-06-14 22:07:04 -04:00 |
|
Matthew Brown
|
9a5089cc7e
|
Wrap template as types for more explicit results
Ref #3583
|
2020-06-14 21:47:23 -04:00 |
|
Matthew Brown
|
081a284759
|
Fix #3567 - remember which variables a callable sets byref in use
|
2020-06-14 11:58:50 -04:00 |
|
Brown
|
45ea5d0bfe
|
Add a couple more shortcuts for common pattern
Fixes #3563
|
2020-06-12 11:18:34 -04:00 |
|
Brown
|
203ed6d94f
|
Remove newline
|
2020-05-27 09:29:30 -04:00 |
|
Brown
|
9b413cfccc
|
Improved understanding of array_key_exists
Fixes #3463
|
2020-05-27 09:03:36 -04:00 |
|
Brown
|
118b700436
|
Simplify sink mapping for internal calls
|
2020-05-25 13:10:06 -04:00 |
|
Brown
|
dc73e25157
|
Detect taints in include calls
|
2020-05-22 23:53:37 -04:00 |
|
Brown
|
1b84fc2c12
|
Fix #3419 - don’t add null to return type when template/conditional return is used
|
2020-05-22 12:44:19 -04:00 |
|
Matthew Brown
|
187b944680
|
Add faster taint analysis
|
2020-05-22 12:33:29 -04:00 |
|
Brown
|
a4141a7581
|
Fix #3327 - convert void to null when comparing conditional type with nullable
|
2020-05-19 19:48:11 -04:00 |
|
Brown
|
8becefda04
|
Forbid :: in object-like key name
Ref #3399
|
2020-05-19 14:38:46 -04:00 |
|
Matthew Brown
|
3ecef8bee7
|
Fix #3386 - non-empty-array = non-empty-array<array-key, mixed>
|
2020-05-17 22:49:20 -04:00 |
|
Brown
|
e7db21fd44
|
Fix type method
|
2020-05-15 16:23:50 -04:00 |
|
Brown
|
111303d913
|
Add non-empty-lowercase-string type
|
2020-05-15 10:18:05 -04:00 |
|
Brown
|
006c6e09f1
|
Add more details to type alias creation
|
2020-05-14 00:41:50 -04:00 |
|
Brown
|
2327a0db6b
|
Add TTypeAlias object with a creation path
|
2020-05-13 19:49:03 -04:00 |
|
Brown
|
813302206a
|
Improve rendering of tuples
|
2020-05-11 09:08:53 -04:00 |
|
Brown
|
8f2f2617d4
|
Improve refactor
|
2020-05-10 22:45:01 -04:00 |
|
Brown
|
5f4d162dd5
|
Break out type expander into separate class
|
2020-05-10 22:39:18 -04:00 |
|
Brown
|
3e16aec33c
|
Remap generic template params where necessary
Fixes #3325
|
2020-05-08 22:55:18 -04:00 |
|
Brown
|
63c190ff83
|
Fix #3257 - refine as type and clone where necessary
|
2020-04-28 22:26:54 -04:00 |
|
Brown
|
f91e94b64e
|
Make sure to remember correct positions of @var references
|
2020-04-27 00:05:20 -04:00 |
|
Brown
|
5e2af1d7f6
|
Fix #1518 - add escaping of object-like keys
|
2020-04-26 17:36:02 -04:00 |
|
Brown
|
3fa07e1a7b
|
Fix style
|
2020-04-19 13:10:20 -04:00 |
|
Brown
|
bb46c30e38
|
Fix #3191 - don’t generate complex assertion from class-string
|
2020-04-19 12:53:50 -04:00 |
|
Brown
|
8d29b27204
|
Allow assigning null to template with null potential
|
2020-04-18 15:34:14 -04:00 |
|
Brown
|
fbe0669921
|
Change evaluation order of conditionals
|
2020-04-14 21:07:16 -04:00 |
|
Brown
|
d470903722
|
Make Algebra::negateFormula a little more safe
|
2020-04-13 08:47:11 -04:00 |
|
Brown
|
a25610cefd
|
Fix #3133 - prevent crash when analysing isset
|
2020-04-13 08:34:38 -04:00 |
|
Brown
|
5bc9b095d1
|
Allow memoisation of ArrayAccess::offsetGet
|
2020-04-12 14:43:12 -04:00 |
|
Brown
|
547efcc022
|
Prevent ArrayAccess on object from being memoised
|
2020-04-12 14:00:12 -04:00 |
|
Brown
|
9d2957d339
|
Fix a few more edge-cases
|
2020-04-12 01:26:11 -04:00 |
|
Brown
|
db7447abd7
|
Make array coercion-to--mixed rules a little more lenient
|
2020-04-10 16:21:48 -04:00 |
|
Brown
|
bd2104c5ba
|
Merge with mixed in nested arrays
|
2020-04-09 09:27:21 -04:00 |
|
Brown
|
d868710b2b
|
Fix handling of built arrays
|
2020-04-08 16:11:11 -04:00 |
|
Brown
|
b2e010b431
|
Fix #3102 - identify issues with possibly-mixed output
|
2020-04-08 14:07:09 -04:00 |
|
Brown
|
067104e170
|
Fix #3084 - keep track of upper and lower bounds of inferred template types
|
2020-04-07 00:13:56 -04:00 |
|
Brown
|
387bc02e71
|
Fix #3082 - merge intersection types when replacing template types
|
2020-04-06 10:19:36 -04:00 |
|
Matthew Brown
|
4fe36a21a4
|
Use array_pop, not array_shift, because it’s a bit faster
|
2020-03-29 19:47:40 -04:00 |
|
Matthew Brown
|
1b88316c51
|
Convert method from recursive to inline
|
2020-03-29 19:42:22 -04:00 |
|
Matthew Brown
|
d84c5db7ae
|
Prevent complexity explosion a little earlier
|
2020-03-29 17:12:10 -04:00 |
|