[apps/code] Rename ScriptNode::Types to With/WithoutParentheses

Because some functions already have the parentheses in their name, so
their type would have been Variable but it is clearer to give it the
type WithoutParentheses. this is the case for nodes created from toolbox
nodes.
This commit is contained in:
Léa Saviot
2020-04-15 15:30:12 +02:00
committed by Émilie Feral
parent 74b786f875
commit bbeb17c3a9
3 changed files with 128 additions and 128 deletions

View File

@@ -323,7 +323,7 @@ bool VariableBoxController::selectLeaf(int rowIndex) {
(void)cellType; // Silence warnings
ScriptNode * selectedScriptNode = scriptNodeAtIndex(rowIndex - cumulatedOriginsCount); // Remove the number of subtitle cells from the index
insertTextInCaller(selectedScriptNode->name() + m_shortenResultCharCount, selectedScriptNode->nameLength() - m_shortenResultCharCount);
if (selectedScriptNode->type() == ScriptNode::Type::Function) {
if (selectedScriptNode->type() == ScriptNode::Type::WithParentheses) {
insertTextInCaller(ScriptNodeCell::k_parenthesesWithEmpty);
}
Container::activeApp()->dismissModalViewController();
@@ -343,124 +343,124 @@ void VariableBoxController::loadBuiltinNodes(const char * textToAutocomplete, in
//TODO LEA Prune these (check all are usable in our Python, but just comment those which aren't -> there might become usable later)
//TODO LEA add matplotlib.pyplot
static const struct { const char * name; ScriptNode::Type type; } builtinNames[] = {
{"False", ScriptNode::Type::Variable},
{"None", ScriptNode::Type::Variable},
{"True", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR___import__), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_abs), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_all), ScriptNode::Type::Function},
{"and", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_any), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_append), ScriptNode::Type::Function},
{"as", ScriptNode::Type::Variable},
//{qstr_str(MP_QSTR_ascii), ScriptNode::Type::Function},
{"assert", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_bin), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_bool), ScriptNode::Type::Function},
{"break", ScriptNode::Type::Variable},
//{qstr_str(MP_QSTR_breakpoint), ScriptNode::Type::Function},
//{qstr_str(MP_QSTR_bytearray), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_bytes), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_callable), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_chr), ScriptNode::Type::Function},
{"class", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_classmethod), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_clear), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_cmath), ScriptNode::Type::Variable},
//{qstr_str(MP_QSTR_compile), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_complex), ScriptNode::Type::Function},
{"continue", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_count), ScriptNode::Type::Function},
{"def", ScriptNode::Type::Variable},
{"del", ScriptNode::Type::Variable},
//{qstr_str(MP_QSTR_delattr), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_dict), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_dir), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_divmod), ScriptNode::Type::Function},
{"elif", ScriptNode::Type::Variable},
{"else", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_enumerate), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_eval), ScriptNode::Type::Function},
{"except", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_exec), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_filter), ScriptNode::Type::Function},
{"finally", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_float), ScriptNode::Type::Function},
{"for", ScriptNode::Type::Variable},
//{qstr_str(MP_QSTR_format), ScriptNode::Type::Function},
{"from", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_frozenset), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_getattr), ScriptNode::Type::Function},
{"global", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_globals), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_hasattr), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_hash), ScriptNode::Type::Function},
//{qstr_str(MP_QSTR_help), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_hex), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_id), ScriptNode::Type::Function},
{"if", ScriptNode::Type::Variable},
{"import", ScriptNode::Type::Variable},
{"in", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_index), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_input), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_insert), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_int), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_ion), ScriptNode::Type::Variable},
{"is", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_isinstance), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_issubclass), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_iter), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_kandinsky), ScriptNode::Type::Variable},
{"lambda", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_len), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_list), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_locals), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_map), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_math), ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_max), ScriptNode::Type::Function},
//{qstr_str(MP_QSTR_memoryview), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_min), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_next), ScriptNode::Type::Function},
{"nonlocal", ScriptNode::Type::Variable},
{"not", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_object), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_oct), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_open), ScriptNode::Type::Function},
{"or", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_ord), ScriptNode::Type::Function},
{"pass", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_pow), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_pop), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_print), ScriptNode::Type::Function},
//{qstr_str(MP_QSTR_property), ScriptNode::Type::Function},
{"raise", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_random), ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_range), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_remove), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_repr), ScriptNode::Type::Function},
{"return", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_reverse), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_reversed), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_round), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_set), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_setattr), ScriptNode::Type::Function},
//{qstr_str(MP_QSTR_slice), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_sort), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_sorted), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_staticmethod), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_str), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_sum), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_super), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_time), ScriptNode::Type::Variable},
{"try", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_tuple), ScriptNode::Type::Function},
{qstr_str(MP_QSTR_turtle), ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_type), ScriptNode::Type::Function},
//{qstr_str(MP_QSTR_vars), ScriptNode::Type::Function},
{"while", ScriptNode::Type::Variable},
{"with", ScriptNode::Type::Variable},
{"yield", ScriptNode::Type::Variable},
{qstr_str(MP_QSTR_zip), ScriptNode::Type::Function}
{"False", ScriptNode::Type::WithoutParentheses},
{"None", ScriptNode::Type::WithoutParentheses},
{"True", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR___import__), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_abs), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_all), ScriptNode::Type::WithParentheses},
{"and", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_any), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_append), ScriptNode::Type::WithParentheses},
{"as", ScriptNode::Type::WithoutParentheses},
//{qstr_str(MP_QSTR_ascii), ScriptNode::Type::WithParentheses},
{"assert", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_bin), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_bool), ScriptNode::Type::WithParentheses},
{"break", ScriptNode::Type::WithoutParentheses},
//{qstr_str(MP_QSTR_breakpoint), ScriptNode::Type::WithParentheses},
//{qstr_str(MP_QSTR_bytearray), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_bytes), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_callable), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_chr), ScriptNode::Type::WithParentheses},
{"class", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_classmethod), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_clear), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_cmath), ScriptNode::Type::WithoutParentheses},
//{qstr_str(MP_QSTR_compile), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_complex), ScriptNode::Type::WithParentheses},
{"continue", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_count), ScriptNode::Type::WithParentheses},
{"def", ScriptNode::Type::WithoutParentheses},
{"del", ScriptNode::Type::WithoutParentheses},
//{qstr_str(MP_QSTR_delattr), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_dict), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_dir), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_divmod), ScriptNode::Type::WithParentheses},
{"elif", ScriptNode::Type::WithoutParentheses},
{"else", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_enumerate), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_eval), ScriptNode::Type::WithParentheses},
{"except", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_exec), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_filter), ScriptNode::Type::WithParentheses},
{"finally", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_float), ScriptNode::Type::WithParentheses},
{"for", ScriptNode::Type::WithoutParentheses},
//{qstr_str(MP_QSTR_format), ScriptNode::Type::WithParentheses},
{"from", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_frozenset), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_getattr), ScriptNode::Type::WithParentheses},
{"global", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_globals), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_hasattr), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_hash), ScriptNode::Type::WithParentheses},
//{qstr_str(MP_QSTR_help), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_hex), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_id), ScriptNode::Type::WithParentheses},
{"if", ScriptNode::Type::WithoutParentheses},
{"import", ScriptNode::Type::WithoutParentheses},
{"in", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_index), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_input), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_insert), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_int), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_ion), ScriptNode::Type::WithoutParentheses},
{"is", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_isinstance), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_issubclass), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_iter), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_kandinsky), ScriptNode::Type::WithoutParentheses},
{"lambda", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_len), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_list), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_locals), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_map), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_math), ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_max), ScriptNode::Type::WithParentheses},
//{qstr_str(MP_QSTR_memoryview), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_min), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_next), ScriptNode::Type::WithParentheses},
{"nonlocal", ScriptNode::Type::WithoutParentheses},
{"not", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_object), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_oct), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_open), ScriptNode::Type::WithParentheses},
{"or", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_ord), ScriptNode::Type::WithParentheses},
{"pass", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_pow), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_pop), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_print), ScriptNode::Type::WithParentheses},
//{qstr_str(MP_QSTR_property), ScriptNode::Type::WithParentheses},
{"raise", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_random), ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_range), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_remove), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_repr), ScriptNode::Type::WithParentheses},
{"return", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_reverse), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_reversed), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_round), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_set), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_setattr), ScriptNode::Type::WithParentheses},
//{qstr_str(MP_QSTR_slice), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_sort), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_sorted), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_staticmethod), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_str), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_sum), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_super), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_time), ScriptNode::Type::WithoutParentheses},
{"try", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_tuple), ScriptNode::Type::WithParentheses},
{qstr_str(MP_QSTR_turtle), ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_type), ScriptNode::Type::WithParentheses},
//{qstr_str(MP_QSTR_vars), ScriptNode::Type::WithParentheses},
{"while", ScriptNode::Type::WithoutParentheses},
{"with", ScriptNode::Type::WithoutParentheses},
{"yield", ScriptNode::Type::WithoutParentheses},
{qstr_str(MP_QSTR_zip), ScriptNode::Type::WithParentheses}
};
assert(sizeof(builtinNames) / sizeof(builtinNames[0]) == k_totalBuiltinNodesCount);
for (int i = 0; i < k_totalBuiltinNodesCount; i++) {
@@ -565,7 +565,7 @@ void VariableBoxController::loadCurrentVariablesInScript(const char * scriptCont
}
}
assert(strncmp(tokenInText, name, nameLength) == 0);
addNode(defToken ? ScriptNode::Type::Function : ScriptNode::Type::Variable, NodeOrigin::CurrentScript, tokenInText, nameLength);
addNode(defToken ? ScriptNode::Type::WithParentheses : ScriptNode::Type::WithoutParentheses, NodeOrigin::CurrentScript, tokenInText, nameLength);
}
}
@@ -651,7 +651,7 @@ bool VariableBoxController::addNodesFromImportMaybe(mp_parse_node_struct_t * par
if (MP_PARSE_NODE_IS_LEAF(child) && MP_PARSE_NODE_LEAF_KIND(child) == MP_PARSE_NODE_ID) {
// Parsing something like "import math"
const char * id = qstr_str(MP_PARSE_NODE_LEAF_ARG(child));
checkAndAddNode(textToAutocomplete, textToAutocompleteLength, ScriptNode::Type::Variable, NodeOrigin::Importation, id, -1, "math", "desc" /*TODO LEA*/);
checkAndAddNode(textToAutocomplete, textToAutocompleteLength, ScriptNode::Type::WithoutParentheses, NodeOrigin::Importation, id, -1, "math", "desc" /*TODO LEA*/);
} else if (MP_PARSE_NODE_IS_STRUCT(child)) {
// Parsing something like "from math import sin"
addNodesFromImportMaybe((mp_parse_node_struct_t *)child, textToAutocomplete, textToAutocompleteLength);
@@ -712,7 +712,7 @@ bool VariableBoxController::addNodesFromImportMaybe(mp_parse_node_struct_t * par
assert(numberOfChildren > numberOfNodesToSkip);
for (int i = 3; i < numberOfChildren; i++) {
const char * name = I18n::translate((moduleChildren + i)->label());
checkAndAddNode(textToAutocomplete, textToAutocompleteLength, ScriptNode::Type::Variable, NodeOrigin::Importation, name, -1, importationSourceName, I18n::translate((moduleChildren + i)->text()) /*TODO LEA text or label?*/);
checkAndAddNode(textToAutocomplete, textToAutocompleteLength, ScriptNode::Type::WithoutParentheses, NodeOrigin::Importation, name, -1, importationSourceName, I18n::translate((moduleChildren + i)->text()) /*TODO LEA text or label?*/);
}
} else {
// Try fetching the nodes from a script
@@ -750,7 +750,7 @@ void VariableBoxController::addImportStruct(mp_parse_node_struct_t * pns, uint s
if (name == nullptr) {
return;
}
checkAndAddNode(textToAutocomplete, textToAutocompleteLength, structKind == PN_funcdef ? ScriptNode::Type::Function : ScriptNode::Type::Variable, NodeOrigin::Importation, name, -1, scriptName);
checkAndAddNode(textToAutocomplete, textToAutocompleteLength, structKind == PN_funcdef ? ScriptNode::Type::WithParentheses : ScriptNode::Type::WithoutParentheses, NodeOrigin::Importation, name, -1, scriptName);
}
void VariableBoxController::checkAndAddNode(const char * textToAutocomplete, int textToAutocompleteLength, ScriptNode::Type type, NodeOrigin origin, const char * nodeName, int nodeNameLength, const char * nodeSourceName, const char * description) {