Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

CFML: `createObject("component", "dotted.path")` creates no `instantiates` edge and gives no type to the chained receiver

Aperta
#2,652 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@colbymchenry ci sta già lavorando.

Dal 23/10/2026.

  • #2841 di @colbymchenry — aperta

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 instantiates edge to contens/core/queue/batchcontext.cfc
  • init in unresolved_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 instantiates edge, resolved with the same dotted-path rules as extends
  • 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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di colbymchenry/codegraph

Tutte le issue di colbymchenry/codegraph

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.