diff options
author | Michaël Zasso <targos@protonmail.com> | 2018-09-21 09:14:51 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-09-22 18:29:25 +0200 |
commit | 0e7ddbd3d7e9439c67573b854c49cf82c398ae82 (patch) | |
tree | 2afe372acde921cb57ddb3444ff00c5adef8848c /deps/v8/src/torque/declarable.h | |
parent | 13245dc50da4cb7443c39ef6c68d419d5e6336d4 (diff) | |
download | node-new-0e7ddbd3d7e9439c67573b854c49cf82c398ae82.tar.gz |
deps: update V8 to 7.0.276.20
PR-URL: https://github.com/nodejs/node/pull/22754
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/v8/src/torque/declarable.h')
-rw-r--r-- | deps/v8/src/torque/declarable.h | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/deps/v8/src/torque/declarable.h b/deps/v8/src/torque/declarable.h index b8abcca801..315ff8f636 100644 --- a/deps/v8/src/torque/declarable.h +++ b/deps/v8/src/torque/declarable.h @@ -20,6 +20,7 @@ namespace torque { class Scope; class ScopeChain; +class Generic; class Declarable { public: @@ -223,35 +224,37 @@ class Callable : public Declarable { } void IncrementReturns() { ++returns_; } bool HasReturns() const { return returns_; } + base::Optional<Generic*> generic() const { return generic_; } protected: Callable(Declarable::Kind kind, const std::string& name, - const Signature& signature) - : Declarable(kind), name_(name), signature_(signature), returns_(0) {} + const Signature& signature, base::Optional<Generic*> generic) + : Declarable(kind), + name_(name), + signature_(signature), + returns_(0), + generic_(generic) {} private: std::string name_; Signature signature_; size_t returns_; + base::Optional<Generic*> generic_; }; class Macro : public Callable { public: DECLARE_DECLARABLE_BOILERPLATE(Macro, macro); - protected: - Macro(Declarable::Kind type, const std::string& name, - const Signature& signature) - : Callable(type, name, signature) { + private: + friend class Declarations; + Macro(const std::string& name, const Signature& signature, + base::Optional<Generic*> generic) + : Callable(Declarable::kMacro, name, signature, generic) { if (signature.parameter_types.var_args) { ReportError("Varargs are not supported for macros."); } } - - private: - friend class Declarations; - Macro(const std::string& name, const Signature& signature) - : Macro(Declarable::kMacro, name, signature) {} }; class MacroList : public Declarable { @@ -283,8 +286,8 @@ class Builtin : public Callable { private: friend class Declarations; Builtin(const std::string& name, Builtin::Kind kind, bool external, - const Signature& signature) - : Callable(Declarable::kBuiltin, name, signature), + const Signature& signature, base::Optional<Generic*> generic) + : Callable(Declarable::kBuiltin, name, signature, generic), kind_(kind), external_(external) {} @@ -298,8 +301,9 @@ class RuntimeFunction : public Callable { private: friend class Declarations; - RuntimeFunction(const std::string& name, const Signature& signature) - : Callable(Declarable::kRuntimeFunction, name, signature) {} + RuntimeFunction(const std::string& name, const Signature& signature, + base::Optional<Generic*> generic) + : Callable(Declarable::kRuntimeFunction, name, signature, generic) {} }; class Generic : public Declarable { |