CFML: `createObject("component", "dotted.path")` creates no `instantiates` edge and gives no type to the chained receiver
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Ambito
- devtools
Direzione di ricerca
Start by locating how new a.b.C() creates instantiation edges and how extends resolves dotted paths; the issue does not name those files or tests. Then trace how chained .init(...) receivers are typed, including the behavior referenced in #1155. Done means a string-literal createObject("component", "a.b.c") creates a resolved instantiation edge and types the chained receiver and assigned variable.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
new foo.bar.Baz() produces an instantiates edge. The equally common createObject form does not, and older code uses it more often than new.
<cfset var oContext = createObject("component", "contenscms.core.queue.batchcontext").init()>
For this line (contens/api/v2/contens/batch/collection.cfc:33) the index has:
- no
instantiatesedge tocontens/core/queue/batchcontext.cfc initinunresolved_refs
Numbers from our project
| Pattern | Occurrences | instantiates edges |
|---|---|---|
new a.b.C(...) |
158 | 160 (all instantiates edges under contens/) |
createObject("component", "<literal>") |
417 | 0 |
No instantiates edge in the index has a dotted ref name.
Expected
When the second argument is a string literal, treat createObject("component", "a.b.c") like new a.b.c():
- create an
instantiatesedge, resolved with the same dotted-path rules asextends - type the receiver of a chained
.init(...)and the assigned variable as that component, so the receiver inference from #1155 can use it
The one-argument form createObject("a.b.c") (supported by Lucee and ACF) could be handled the same way.
- Lingua principale
- C
- Stelle
- 73.2k
- Fork
- 4.7k
- Merge medio
- 11h 28m
- PR unite (30g)
- 596
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di colbymchenry/codegraph
-
codegraph ui - does not workAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
colbymchenry/codegraph#1900 · 2 commenti · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
colbymchenry/codegraph#1700 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
colbymchenry/codegraph#1535 · 2 commenti · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
colbymchenry/codegraph#1403 ·
I maintainer di solito rispondono entro 1 giorno
-
agent-target
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
colbymchenry/codegraph#649 · 5 commenti · 50 reazioni ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di colbymchenry/codegraph
Issue simili
-
开发板墙缺少 ESP32_S31_MOSAICOAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
espressif/esp-vision#16 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
libsdl-org/SDL#16577 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
halt_error adds a trailing newline for non-string input, contrary to the manualForse già presa @Huang-404-Q l’ha presa oggi. Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
MerginMaps/geodiff#272 ·