SPEC-2513 Fixes to enable w4457
This commit is contained in:
@@ -340,31 +340,31 @@ namespace
|
||||
}
|
||||
|
||||
// Pass in the associated class data so we can do more intensive lookups?
|
||||
const AZ::SerializeContext::ClassData* classData = serializeContext.FindClassData(node.first);
|
||||
const AZ::SerializeContext::ClassData* nodeClassData = serializeContext.FindClassData(node.first);
|
||||
|
||||
if (classData == nullptr)
|
||||
if (nodeClassData == nullptr)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Detect primitive types os we avoid making nodes out of them.
|
||||
// Or anything that is 'pure data' and should be populated through a different mechanism.
|
||||
if (classData->m_azRtti && classData->m_azRtti->IsTypeOf<ScriptCanvas::PureData>())
|
||||
if (nodeClassData->m_azRtti && nodeClassData->m_azRtti->IsTypeOf<ScriptCanvas::PureData>())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// Skip over some of our more dynamic nodes that we want to populate using different means
|
||||
else if (classData->m_azRtti && classData->m_azRtti->IsTypeOf<ScriptCanvas::Nodes::Core::GetVariableNode>())
|
||||
else if (nodeClassData->m_azRtti && nodeClassData->m_azRtti->IsTypeOf<ScriptCanvas::Nodes::Core::GetVariableNode>())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else if (classData->m_azRtti && classData->m_azRtti->IsTypeOf<ScriptCanvas::Nodes::Core::SetVariableNode>())
|
||||
else if (nodeClassData->m_azRtti && nodeClassData->m_azRtti->IsTypeOf<ScriptCanvas::Nodes::Core::SetVariableNode>())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
nodePaletteModel.RegisterCustomNode(categoryPath, node.first, node.second, classData);
|
||||
nodePaletteModel.RegisterCustomNode(categoryPath, node.first, node.second, nodeClassData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -563,13 +563,13 @@ namespace ScriptCanvasEditor
|
||||
else if (slotType == GraphCanvas::SlotTypes::DataSlot)
|
||||
{
|
||||
const AZ::EntityId& slotId2 = GetTargetId();
|
||||
const GraphCanvas::GraphId& graphId = GetGraphId();
|
||||
const GraphCanvas::GraphId& graphId2 = GetGraphId();
|
||||
|
||||
GraphCanvas::Endpoint endpoint;
|
||||
GraphCanvas::SlotRequestBus::EventResult(endpoint, slotId2, &GraphCanvas::SlotRequests::GetEndpoint);
|
||||
|
||||
bool promotedElement = false;
|
||||
GraphCanvas::GraphModelRequestBus::EventResult(promotedElement, graphId, &GraphCanvas::GraphModelRequests::PromoteToVariableAction, endpoint);
|
||||
GraphCanvas::GraphModelRequestBus::EventResult(promotedElement, graphId2, &GraphCanvas::GraphModelRequests::PromoteToVariableAction, endpoint);
|
||||
|
||||
if (promotedElement)
|
||||
{
|
||||
|
||||
@@ -4090,23 +4090,23 @@ namespace ScriptCanvas
|
||||
auto userFunctionIter = m_userInsThatRequireTopology.find(nodeling);
|
||||
if (userFunctionIter != m_userInsThatRequireTopology.end())
|
||||
{
|
||||
auto& node = *userFunctionIter->first;
|
||||
auto outSlots = node.GetSlotsByType(CombinedSlotType::ExecutionOut);
|
||||
auto& userFunctionNode = *userFunctionIter->first;
|
||||
auto outSlots = userFunctionNode.GetSlotsByType(CombinedSlotType::ExecutionOut);
|
||||
|
||||
if (outSlots.empty() || !outSlots.front())
|
||||
{
|
||||
AddError(node.GetEntityId(), nullptr, ScriptCanvas::ParseErrors::NoOutSlotInFunctionDefinitionStart);
|
||||
AddError(userFunctionNode.GetEntityId(), nullptr, ScriptCanvas::ParseErrors::NoOutSlotInFunctionDefinitionStart);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!ExecutionContainsCyclesCheck(node, *outSlots.front()))
|
||||
if (!ExecutionContainsCyclesCheck(userFunctionNode, *outSlots.front()))
|
||||
{
|
||||
auto definition = userFunctionIter->second;
|
||||
auto entrySlot = definition->GetId().m_slot;
|
||||
AZ_Assert(entrySlot, "Bad accounting in user function definition node");
|
||||
AZStd::vector<VariablePtr> returnValues;
|
||||
UserOutCallCollector userOutCallCollector;
|
||||
TraverseExecutionConnections(node, *entrySlot, userOutCallCollector);
|
||||
TraverseExecutionConnections(userFunctionNode, *entrySlot, userOutCallCollector);
|
||||
|
||||
const AZStd::unordered_set<const ScriptCanvas::Nodes::Core::FunctionDefinitionNode*>& uniqueNodelingsOut = userOutCallCollector.GetOutCalls();
|
||||
for (const auto& returnCall : uniqueNodelingsOut)
|
||||
|
||||
@@ -121,13 +121,13 @@ namespace ScriptCanvas
|
||||
{
|
||||
if (slotId == ExpressionNodeBaseProperty::GetInSlotId(this))
|
||||
{
|
||||
for (const SlotId& slotId : m_dirtyInputs)
|
||||
for (const SlotId& dirtySlotId : m_dirtyInputs)
|
||||
{
|
||||
auto variableIter = m_slotToVariableMap.find(slotId);
|
||||
auto variableIter = m_slotToVariableMap.find(dirtySlotId);
|
||||
|
||||
if (variableIter != m_slotToVariableMap.end())
|
||||
{
|
||||
PushVariable(variableIter->second, (*FindDatum(slotId)));
|
||||
PushVariable(variableIter->second, (*FindDatum(dirtySlotId)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user