Class: Laser::Analysis::Bindings::ArgumentBinding
- Inherits:
-
Base
- Object
- Base
- Laser::Analysis::Bindings::ArgumentBinding
- Defined in:
- lib/laser/analysis/bindings.rb
Instance Attribute Summary (collapse)
-
- (Object) default_value_sexp
readonly
Returns the value of attribute default_value_sexp.
-
- (Object) kind
readonly
Returns the value of attribute kind.
Attributes inherited from Base
#annotated_type, #ast_node, #definition, #inferred_type, #name, #self_owner, #uses, #value
Instance Method Summary (collapse)
- - (Object) deep_dup
-
- (ArgumentBinding) initialize(name, value, kind, default_value = nil)
constructor
A new instance of ArgumentBinding.
- - (Boolean) is_block?
- - (Boolean) is_optional?
- - (Boolean) is_positional?
- - (Boolean) is_rest?
Methods inherited from Base
#<=>, #bind!, #class_used, #expr_type, #initialize_dup_deep, #inspect, #scope, #to_s
Methods included from Comparable
#<, #<=, #==, #>, #>=, #between?, compare_int
Constructor Details
- (ArgumentBinding) initialize(name, value, kind, default_value = nil)
A new instance of ArgumentBinding
118 119 120 121 122 |
# File 'lib/laser/analysis/bindings.rb', line 118 def initialize(name, value, kind, default_value = nil) super(name, value) @kind = kind @default_value_sexp = default_value end |
Instance Attribute Details
- (Object) default_value_sexp (readonly)
Returns the value of attribute default_value_sexp
117 118 119 |
# File 'lib/laser/analysis/bindings.rb', line 117 def default_value_sexp @default_value_sexp end |
- (Object) kind (readonly)
Returns the value of attribute kind
117 118 119 |
# File 'lib/laser/analysis/bindings.rb', line 117 def kind @kind end |
Instance Method Details
- (Object) deep_dup
124 125 126 127 |
# File 'lib/laser/analysis/bindings.rb', line 124 def deep_dup result = self.class.new(@name, @value, @kind, @default_value_sexp) result.initialize_dup_deep(self) end |
- (Boolean) is_block?
138 139 140 |
# File 'lib/laser/analysis/bindings.rb', line 138 def is_block? :block == @kind end |
- (Boolean) is_optional?
132 133 134 |
# File 'lib/laser/analysis/bindings.rb', line 132 def is_optional? :optional == @kind end |
- (Boolean) is_positional?
129 130 131 |
# File 'lib/laser/analysis/bindings.rb', line 129 def is_positional? :positional == @kind end |
- (Boolean) is_rest?
135 136 137 |
# File 'lib/laser/analysis/bindings.rb', line 135 def is_rest? :rest == @kind end |