Comments (4)
I found these snippets:
https://psalm.dev/r/28d550f321
<?php
class resource {}
new \resource();
Psalm output (using commit 08afc45):
ERROR: ReservedWord - 5:5 - resource is a reserved word
ERROR: ReservedWord - 3:7 - resource is a reserved word
from psalm.
Yeah but that's pretty much unavoidable. Psalm need to know what the symbol references and juggling with what may be a class resource and sometimes a normal resource would be very complex for something that is probably used by 10 codebases (and probably should not be used at all)
from psalm.
Not really understand. A real/normal resource
can not use the word resource
in PHP. If you find that word in PHP code it is always a class name, and never a real resource.
Anyway, it is an edge case for something I working on, I met once in 20 years and will probably not meet it again, so if you say it can't be fixed, you can close this issue.
from psalm.
Yeah but Psalm uses more than code to analyze project. It uses a lot of phpdoc. And 99.99% of cases, when you have a @param resource $a
, we're talking about the meta type resource
of php, and not a possible class.
Chances are, even for a project that does have a class resource in the main namespace, a phpdoc that says resource
could still be a file handler rather than the class
So yeah, we're not going to bother too much on this one
from psalm.
Related Issues (20)
- Psalm treat an array as `array<array-key, mixed>` if it does not know the key type HOT 1
- Psalm fails to interfere type with annotations HOT 2
- [New Feature] Extend ArrayShape with ArrayShape HOT 1
- Psalm don't keep callable type in union types after condition HOT 1
- [Bug] Psalm thinks that `DateTimeImmutable::modify()` can return `false`, if the passed argument contains a function call HOT 1
- False MixedArgument error when using php isset HOT 1
- Overlooks UndefinedPropertyFetch in untyped inline function HOT 1
- False positive UnusedMethodCall for ReflectionProperty::setAccessible HOT 3
- Fatal error since PHP 8.3.9+ HOT 7
- Report possible bug if variable is type `0|1|bool` and it's compared strictly with 1, true, false HOT 1
- [New Feature] Not using Docblock parameter types HOT 1
- ./vendor/bin/psalm --init PHP Fatal error: Uncaught Psalm\Exception\ConfigException: Config not found for path HOT 9
- Malformed JSON output due to erroneous UTF-8 character splitting HOT 1
- `MixedArgumentTypeCoercion` when try to use defined array type with ... HOT 1
- Psalm assumes `callable-string` is always lowercase HOT 1
- Incorrect RedundantCondition with `class-string<Foo>` and instanceof HOT 1
- InvalidArgument: 'expects a public static callable, but a non-static callable provided' HOT 1
- `Dom\XMLDocument` is unimplemented HOT 2
- "false cannot be cast to int" with truthy-string (Can't repro in sandbox) HOT 1
- Invalid type detect after AND condition HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from psalm.