summaryrefslogtreecommitdiffstats
path: root/servers/rendering/shader_language.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'servers/rendering/shader_language.cpp')
-rw-r--r--servers/rendering/shader_language.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/servers/rendering/shader_language.cpp b/servers/rendering/shader_language.cpp
index 65f147a8dc..5a02980929 100644
--- a/servers/rendering/shader_language.cpp
+++ b/servers/rendering/shader_language.cpp
@@ -5217,11 +5217,11 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons
funcname->name = name;
func->arguments.push_back(funcname);
- for (int i = 0; i < pstruct->members.size(); i++) {
+ for (List<ShaderLanguage::MemberNode *>::Element *E = pstruct->members.front(); E; E = E->next()) {
Node *nexpr;
- if (pstruct->members[i]->array_size != 0) {
- nexpr = _parse_array_constructor(p_block, p_function_info, pstruct->members[i]->get_datatype(), pstruct->members[i]->struct_name, pstruct->members[i]->array_size);
+ if (E->get()->array_size != 0) {
+ nexpr = _parse_array_constructor(p_block, p_function_info, E->get()->get_datatype(), E->get()->struct_name, E->get()->array_size);
if (!nexpr) {
return nullptr;
}
@@ -5230,12 +5230,12 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons
if (!nexpr) {
return nullptr;
}
- if (!_compare_datatypes_in_nodes(pstruct->members[i], nexpr)) {
+ if (!_compare_datatypes_in_nodes(E->get(), nexpr)) {
return nullptr;
}
}
- if (i + 1 < pstruct->members.size()) {
+ if (E->next()) {
tk = _get_token();
if (tk.type != TK_COMMA) {
_set_expected_error(",");
@@ -7485,8 +7485,8 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const FunctionInfo &p_fun
continue;
} else {
HashSet<int> constants;
- for (int i = 0; i < switch_block->statements.size(); i++) { // Checks for duplicates.
- ControlFlowNode *flow = static_cast<ControlFlowNode *>(switch_block->statements[i]);
+ for (ShaderLanguage::Node *statement : switch_block->statements) { // Checks for duplicates.
+ ControlFlowNode *flow = static_cast<ControlFlowNode *>(statement);
if (flow) {
if (flow->flow_op == FLOW_OP_CASE) {
if (flow->expressions[0]->type == Node::NODE_TYPE_CONSTANT) {
@@ -9862,9 +9862,9 @@ Error ShaderLanguage::_find_last_flow_op_in_op(ControlFlowNode *p_flow, FlowOper
Error ShaderLanguage::_find_last_flow_op_in_block(BlockNode *p_block, FlowOperation p_op) {
bool found = false;
- for (int i = p_block->statements.size() - 1; i >= 0; i--) {
- if (p_block->statements[i]->type == Node::NODE_TYPE_CONTROL_FLOW) {
- ControlFlowNode *flow = static_cast<ControlFlowNode *>(p_block->statements[i]);
+ for (List<ShaderLanguage::Node *>::Element *E = p_block->statements.back(); E; E = E->prev()) {
+ if (E->get()->type == Node::NODE_TYPE_CONTROL_FLOW) {
+ ControlFlowNode *flow = static_cast<ControlFlowNode *>(E->get());
if (flow->flow_op == p_op) {
found = true;
break;
@@ -9874,8 +9874,8 @@ Error ShaderLanguage::_find_last_flow_op_in_block(BlockNode *p_block, FlowOperat
break;
}
}
- } else if (p_block->statements[i]->type == Node::NODE_TYPE_BLOCK) {
- BlockNode *block = static_cast<BlockNode *>(p_block->statements[i]);
+ } else if (E->get()->type == Node::NODE_TYPE_BLOCK) {
+ BlockNode *block = static_cast<BlockNode *>(E->get());
if (_find_last_flow_op_in_block(block, p_op) == OK) {
found = true;
break;
@@ -10167,8 +10167,8 @@ Error ShaderLanguage::complete(const String &p_code, const ShaderCompileInfo &p_
case COMPLETION_STRUCT: {
if (shader->structs.has(completion_struct)) {
StructNode *node = shader->structs[completion_struct].shader_struct;
- for (int i = 0; i < node->members.size(); i++) {
- ScriptLanguage::CodeCompletionOption option(node->members[i]->name, ScriptLanguage::CODE_COMPLETION_KIND_MEMBER);
+ for (ShaderLanguage::MemberNode *member : node->members) {
+ ScriptLanguage::CodeCompletionOption option(member->name, ScriptLanguage::CODE_COMPLETION_KIND_MEMBER);
r_options->push_back(option);
}
}