Default value expressions are returned incorrectly
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 42/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- ruby
- Ambito
- documentation
Direzione di ricerca
Leggi lib/puppet-strings/yard/parsers/puppet/statement.rb alle righe 89-90, quindi confronta il SourcePosAdapter di Puppet e i metodi di locator referenziati nell'issue. Traccia come viene estratta l'espressione predefinita in class test($param = 1 + 1); il lavoro è completato quando il valore restituito include l'espressione completa 1 + 1 senza compromettere la compatibilità con Puppet.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the Bug
Complex parameter default expressions (specifically those involving an AST branch node) are returned incorrectly.
For example:
class test($param = 1 + 1) { ... }
The default value for $param is returned as +.
Expected Behavior
The default value should be returned as 1 + 1.
Additional Context
This seems to happen because ParameterizedStatement parser uses a SourcePosAdapter from Puppet to extract the text for the AST object. However, the extract_text method it calls only extracts the text for the AST branch itself, not for the entire tree rooted in that branch. The SourcePosAdapter calls @object.locator.extract_text, but there is an extract_tree_text method available on the locator which seems to do the right thing.
https://github.com/puppetlabs/puppet-strings/blob/main/lib/puppet-strings/yard/parsers/puppet/statement.rb#L89-L90
https://github.com/puppetlabs/puppet/blob/master/lib/puppet/pops/adapters.rb#L63
https://github.com/puppetlabs/puppet/blob/master/lib/puppet/pops/parser/locator.rb#L55
I would file a PR but I'm not deep enough into puppet-strings to understand its relationship to Puppet and the compatibility issues involved with the SourcePosAdapter to know the appropriate place to make this change.
- Lingua principale
- Ruby
- Stelle
- 90
- Fork
- 92
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
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 puppetlabs/puppet-strings
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
puppetlabs/puppet-strings#389 · 3 commenti · 1 reazione ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
puppetlabs/puppet-strings#386 ·
-
maintenance
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
puppetlabs/puppet-strings#370 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
puppetlabs/puppet-strings#365 ·
-
community feature
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
puppetlabs/puppet-strings#353 ·
Tutte le issue di puppetlabs/puppet-strings
Issue simili
-
Lint/NoReturnInMemoization flags `return` in local variable `||=` and `&&=` assignmentsForse già presa @RaphaelFakhri l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Shopify/ruby-style-guide#815 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
zerocracy/judges-action#2849 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
bigbluebutton/bigbluebutton#26166 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
TarteelAI/quranic-universal-library#916 ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno