const Literal &get_literal () const { return lit; }
+ Pattern::Kind get_pattern_kind () override { return Pattern::Kind::Literal; }
+
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */
NodeId get_node_id () const override { return node_id; }
+ Pattern::Kind get_pattern_kind () override
+ {
+ return Pattern::Kind::Identifier;
+ }
+
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */
NodeId get_node_id () const override { return node_id; }
+ Pattern::Kind get_pattern_kind () override { return Pattern::Kind::Wildcard; }
+
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */
NodeId get_node_id () const override final { return node_id; }
+ Pattern::Kind get_pattern_kind () override { return Pattern::Kind::Rest; }
+
protected:
RestPattern *clone_pattern_impl () const override
{
NodeId get_node_id () const override { return node_id; }
+ Pattern::Kind get_pattern_kind () override { return Pattern::Kind::Range; }
+
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */
NodeId get_node_id () const override { return node_id; }
+ Pattern::Kind get_pattern_kind () override
+ {
+ return Pattern::Kind::Reference;
+ }
+
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */
NodeId get_node_id () const override { return node_id; }
+ Pattern::Kind get_pattern_kind () override { return Pattern::Kind::Struct; }
+
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */
NodeId get_node_id () const override { return node_id; }
+ Pattern::Kind get_pattern_kind () override
+ {
+ return Pattern::Kind::TupleStruct;
+ }
+
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */
NodeId get_node_id () const override { return node_id; }
+ Pattern::Kind get_pattern_kind () override { return Pattern::Kind::Tuple; }
+
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */
NodeId get_node_id () const override { return node_id; }
+ Pattern::Kind get_pattern_kind () override { return Pattern::Kind::Grouped; }
+
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */
NodeId get_node_id () const override { return node_id; }
+ Pattern::Kind get_pattern_kind () override { return Pattern::Kind::Slice; }
+
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */
NodeId get_node_id () const override { return node_id; }
+ Pattern::Kind get_pattern_kind () override { return Pattern::Kind::Alt; }
+
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */