Index: src/compiler/typer.cc |
diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc |
index 3f4bd27ec6a3ce875d40ee962924a02fe0fc512b..85b73c825f549da003767458007df90f19f5ec54 100644 |
--- a/src/compiler/typer.cc |
+++ b/src/compiler/typer.cc |
@@ -7,6 +7,7 @@ |
#include "src/base/flags.h" |
#include "src/base/lazy-instance.h" |
#include "src/bootstrapper.h" |
+#include "src/compiler/common-operator.h" |
#include "src/compiler/graph-reducer.h" |
#include "src/compiler/js-operator.h" |
#include "src/compiler/node.h" |
@@ -571,11 +572,11 @@ Bounds Typer::Visitor::TypeIfException(Node* node) { |
Bounds Typer::Visitor::TypeParameter(Node* node) { |
- int param = OpParameter<int>(node); |
- Type::FunctionType* function_type = typer_->function_type(); |
- if (function_type != nullptr && param >= 0 && |
- param < static_cast<int>(function_type->Arity())) { |
- return Bounds(Type::None(), function_type->Parameter(param)); |
+ if (Type::FunctionType* function_type = typer_->function_type()) { |
+ int const index = ParameterIndexOf(node->op()); |
+ if (index >= 0 && index < function_type->Arity()) { |
+ return Bounds(Type::None(), function_type->Parameter(index)); |
+ } |
} |
return Bounds::Unbounded(zone()); |
} |