facebook / facebook/chisel

Default argument values aren't language agnostic

Ouverte
#156 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
9.2k
Forks
790
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Using an example to demonstrate the issue:

If `paltrace` is called while stopped in some swift code, the user would expect to be able to run `paltrace someValidSwiftExpression`. As such, `paltrace` should interpret input based on the active language at a breakpoint. However, the `paltrace` command has a default view of `(id)[[UIApplication sharedApplication] keyWindow]`, but this expression would have to be evaluated as objc.

The solution that seems to strike the right balance to me is:

> Remove the ability for commands to declare defaults in `fb.FBCommandArgument`, which would force commands to knowingly handle a default.

Other possibilities are:
1. Allow commands a way to check if an argument was provided by a default
2. Use a heuristic to recognize when a value is swift or objc
3. Use a known "keyword" for the default

The second option would be nice to have in general, and could be desirable in addition to whatever solution chosen for handling defaults.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.