Module: Yoda::Model::TypeExpressions
- Defined in:
- lib/yoda/model/type_expressions.rb,
lib/yoda/model/type_expressions/base.rb,
lib/yoda/model/type_expressions/any_type.rb,
lib/yoda/model/type_expressions/duck_type.rb,
lib/yoda/model/type_expressions/generator.rb,
lib/yoda/model/type_expressions/self_type.rb,
lib/yoda/model/type_expressions/void_type.rb,
lib/yoda/model/type_expressions/union_type.rb,
lib/yoda/model/type_expressions/value_type.rb,
lib/yoda/model/type_expressions/module_type.rb,
lib/yoda/model/type_expressions/generic_type.rb,
lib/yoda/model/type_expressions/unknown_type.rb,
lib/yoda/model/type_expressions/function_type.rb,
lib/yoda/model/type_expressions/instance_type.rb,
lib/yoda/model/type_expressions/sequence_type.rb,
lib/yoda/model/type_expressions/function_type/parameter.rb
Overview
Each type expression represents type annotations. Unlike type for symbolic execution, each type expression has LexicalScope and the corresponding constants are not determined yet.
Defined Under Namespace
Classes: AnyType, Base, DuckType, FunctionType, Generator, GenericType, InstanceType, ModuleType, SelfType, SequenceType, UnionType, UnknownType, ValueType, VoidType
Class Method Summary collapse
Class Method Details
.parse(string) ⇒ TypeExpressions::Base
27 28 29 30 31 |
# File 'lib/yoda/model/type_expressions.rb', line 27 def self.parse(string) Generator.new.apply(YardTypeParser.new.parse(string)) rescue Parslet::ParseFailed => failure TypeExpressions::UnknownType.new(string) end |
.parse_type_strings(strings) ⇒ TypeExpressions::Base
35 36 37 |
# File 'lib/yoda/model/type_expressions.rb', line 35 def self.parse_type_strings(strings) TypeExpressions::UnionType.new(strings.map { |string| parse(string) }) end |