ruby-lint 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.asc +17 -0
- data/.gitignore +1 -0
- data/.travis.yml +25 -0
- data/.yardopts +4 -0
- data/Gemfile +1 -1
- data/LICENSE +1 -1
- data/MANIFEST +238 -49
- data/README.md +84 -131
- data/Rakefile +6 -0
- data/bin/ruby-lint +2 -2
- data/checksum/.gitkeep +0 -0
- data/doc/DCO.md +26 -0
- data/doc/architecture.md +63 -0
- data/doc/code_analysis.md +90 -0
- data/doc/configuration.md +86 -0
- data/doc/contributing.md +16 -0
- data/doc/graphviz/flow.dot +7 -0
- data/doc/images/.gitkeep +0 -0
- data/doc/images/flow.png +0 -0
- data/lib/ruby-lint.rb +35 -35
- data/lib/ruby-lint/analyze/argument_amount.rb +73 -0
- data/lib/ruby-lint/analyze/shadowing_variables.rb +19 -24
- data/lib/ruby-lint/analyze/undefined_methods.rb +68 -0
- data/lib/ruby-lint/analyze/undefined_variables.rb +42 -69
- data/lib/ruby-lint/analyze/unused_variables.rb +23 -78
- data/lib/ruby-lint/base.rb +85 -0
- data/lib/ruby-lint/cli.rb +23 -167
- data/lib/ruby-lint/cli/analyze.rb +99 -0
- data/lib/ruby-lint/cli/ast.rb +35 -0
- data/lib/ruby-lint/cli/base.rb +120 -0
- data/lib/ruby-lint/configuration.rb +112 -0
- data/lib/ruby-lint/constant_loader.rb +92 -0
- data/lib/ruby-lint/definition/ruby_method.rb +248 -0
- data/lib/ruby-lint/definition/ruby_object.rb +757 -0
- data/lib/ruby-lint/definition_generator.rb +155 -0
- data/lib/ruby-lint/definitions/core.rb +5 -0
- data/lib/ruby-lint/definitions/core/arg0.rb +7 -0
- data/lib/ruby-lint/definitions/core/argf.rb +7 -0
- data/lib/ruby-lint/definitions/core/argument_error.rb +12 -0
- data/lib/ruby-lint/definitions/core/argv.rb +7 -0
- data/lib/ruby-lint/definitions/core/array.rb +414 -0
- data/lib/ruby-lint/definitions/core/autoload.rb +39 -0
- data/lib/ruby-lint/definitions/core/basic_object.rb +46 -0
- data/lib/ruby-lint/definitions/core/bignum.rb +128 -0
- data/lib/ruby-lint/definitions/core/binding.rb +52 -0
- data/lib/ruby-lint/definitions/core/class.rb +23 -0
- data/lib/ruby-lint/definitions/core/comparable.rb +38 -0
- data/lib/ruby-lint/definitions/core/complex.rb +195 -0
- data/lib/ruby-lint/definitions/core/condition_variable.rb +19 -0
- data/lib/ruby-lint/definitions/core/continuation.rb +8 -0
- data/lib/ruby-lint/definitions/core/data.rb +8 -0
- data/lib/ruby-lint/definitions/core/date.rb +706 -0
- data/lib/ruby-lint/definitions/core/date_time.rb +381 -0
- data/lib/ruby-lint/definitions/core/default_record_separator.rb +7 -0
- data/lib/ruby-lint/definitions/core/digest.rb +166 -0
- data/lib/ruby-lint/definitions/core/dir.rb +496 -0
- data/lib/ruby-lint/definitions/core/encoding.rb +2030 -0
- data/lib/ruby-lint/definitions/core/encoding_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/enumerable.rb +352 -0
- data/lib/ruby-lint/definitions/core/enumerator.rb +37 -0
- data/lib/ruby-lint/definitions/core/env.rb +7 -0
- data/lib/ruby-lint/definitions/core/eoferror.rb +8 -0
- data/lib/ruby-lint/definitions/core/erb.rb +304 -0
- data/lib/ruby-lint/definitions/core/errno.rb +3331 -0
- data/lib/ruby-lint/definitions/core/etc.rb +138 -0
- data/lib/ruby-lint/definitions/core/exception.rb +72 -0
- data/lib/ruby-lint/definitions/core/false.rb +7 -0
- data/lib/ruby-lint/definitions/core/false_class.rb +30 -0
- data/lib/ruby-lint/definitions/core/fatal_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/fiber.rb +35 -0
- data/lib/ruby-lint/definitions/core/fiber_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/file.rb +1277 -0
- data/lib/ruby-lint/definitions/core/file_list.rb +727 -0
- data/lib/ruby-lint/definitions/core/file_test.rb +106 -0
- data/lib/ruby-lint/definitions/core/file_utils.rb +1027 -0
- data/lib/ruby-lint/definitions/core/fixnum.rb +156 -0
- data/lib/ruby-lint/definitions/core/float.rb +307 -0
- data/lib/ruby-lint/definitions/core/float_domain_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/gc.rb +57 -0
- data/lib/ruby-lint/definitions/core/gem.rb +3161 -0
- data/lib/ruby-lint/definitions/core/hash.rb +512 -0
- data/lib/ruby-lint/definitions/core/immediate_value.rb +19 -0
- data/lib/ruby-lint/definitions/core/index_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/integer.rb +100 -0
- data/lib/ruby-lint/definitions/core/interrupt.rb +14 -0
- data/lib/ruby-lint/definitions/core/io.rb +928 -0
- data/lib/ruby-lint/definitions/core/ioerror.rb +8 -0
- data/lib/ruby-lint/definitions/core/kernel.rb +504 -0
- data/lib/ruby-lint/definitions/core/key_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/load_error.rb +28 -0
- data/lib/ruby-lint/definitions/core/local_jump_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/main.rb +25 -0
- data/lib/ruby-lint/definitions/core/marshal.rb +466 -0
- data/lib/ruby-lint/definitions/core/match_data.rb +73 -0
- data/lib/ruby-lint/definitions/core/math.rb +205 -0
- data/lib/ruby-lint/definitions/core/memory_segmention_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/method.rb +61 -0
- data/lib/ruby-lint/definitions/core/module.rb +262 -0
- data/lib/ruby-lint/definitions/core/monitor.rb +39 -0
- data/lib/ruby-lint/definitions/core/monitor_mixin.rb +59 -0
- data/lib/ruby-lint/definitions/core/mutex.rb +32 -0
- data/lib/ruby-lint/definitions/core/name_error.rb +16 -0
- data/lib/ruby-lint/definitions/core/nil.rb +7 -0
- data/lib/ruby-lint/definitions/core/nil_class.rb +46 -0
- data/lib/ruby-lint/definitions/core/no_memory_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/no_method_error.rb +18 -0
- data/lib/ruby-lint/definitions/core/not_implemented_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/numeric.rb +123 -0
- data/lib/ruby-lint/definitions/core/object.rb +31 -0
- data/lib/ruby-lint/definitions/core/object_space.rb +41 -0
- data/lib/ruby-lint/definitions/core/open_struct.rb +49 -0
- data/lib/ruby-lint/definitions/core/option_parser.rb +1355 -0
- data/lib/ruby-lint/definitions/core/precision.rb +21 -0
- data/lib/ruby-lint/definitions/core/primitive_failure.rb +8 -0
- data/lib/ruby-lint/definitions/core/proc.rb +109 -0
- data/lib/ruby-lint/definitions/core/process.rb +602 -0
- data/lib/ruby-lint/definitions/core/psych.rb +2231 -0
- data/lib/ruby-lint/definitions/core/queue.rb +44 -0
- data/lib/ruby-lint/definitions/core/rake.rb +4784 -0
- data/lib/ruby-lint/definitions/core/rake_file_utils.rb +203 -0
- data/lib/ruby-lint/definitions/core/rakeversion.rb +7 -0
- data/lib/ruby-lint/definitions/core/random.rb +38 -0
- data/lib/ruby-lint/definitions/core/range.rb +104 -0
- data/lib/ruby-lint/definitions/core/range_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/rational.rb +96 -0
- data/lib/ruby-lint/definitions/core/rb_config.rb +36 -0
- data/lib/ruby-lint/definitions/core/regexp.rb +396 -0
- data/lib/ruby-lint/definitions/core/regexp_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/rubinius.rb +16637 -0
- data/lib/ruby-lint/definitions/core/ruby_copyright.rb +7 -0
- data/lib/ruby-lint/definitions/core/ruby_description.rb +7 -0
- data/lib/ruby-lint/definitions/core/ruby_engine.rb +7 -0
- data/lib/ruby-lint/definitions/core/ruby_lint.rb +93 -0
- data/lib/ruby-lint/definitions/core/ruby_patchlevel.rb +7 -0
- data/lib/ruby-lint/definitions/core/ruby_platform.rb +7 -0
- data/lib/ruby-lint/definitions/core/ruby_release_date.rb +7 -0
- data/lib/ruby-lint/definitions/core/ruby_version.rb +7 -0
- data/lib/ruby-lint/definitions/core/runtime_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/scan_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/script_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/security_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/shellwords.rb +37 -0
- data/lib/ruby-lint/definitions/core/signal.rb +37 -0
- data/lib/ruby-lint/definitions/core/signal_exception.rb +19 -0
- data/lib/ruby-lint/definitions/core/singleton.rb +37 -0
- data/lib/ruby-lint/definitions/core/sized_queue.rb +42 -0
- data/lib/ruby-lint/definitions/core/standard_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/stderr.rb +7 -0
- data/lib/ruby-lint/definitions/core/stdin.rb +7 -0
- data/lib/ruby-lint/definitions/core/stdout.rb +7 -0
- data/lib/ruby-lint/definitions/core/stop_iteration.rb +8 -0
- data/lib/ruby-lint/definitions/core/string.rb +713 -0
- data/lib/ruby-lint/definitions/core/string_io.rb +287 -0
- data/lib/ruby-lint/definitions/core/string_scanner.rb +158 -0
- data/lib/ruby-lint/definitions/core/struct.rb +357 -0
- data/lib/ruby-lint/definitions/core/syck.rb +30 -0
- data/lib/ruby-lint/definitions/core/symbol.rb +90 -0
- data/lib/ruby-lint/definitions/core/syntax_error.rb +44 -0
- data/lib/ruby-lint/definitions/core/system_call_error.rb +31 -0
- data/lib/ruby-lint/definitions/core/system_exit.rb +19 -0
- data/lib/ruby-lint/definitions/core/system_stack_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/thread.rb +209 -0
- data/lib/ruby-lint/definitions/core/thread_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/thread_group.rb +22 -0
- data/lib/ruby-lint/definitions/core/time.rb +233 -0
- data/lib/ruby-lint/definitions/core/toplevel_binding.rb +7 -0
- data/lib/ruby-lint/definitions/core/true.rb +7 -0
- data/lib/ruby-lint/definitions/core/true_class.rb +30 -0
- data/lib/ruby-lint/definitions/core/type_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/unbound_method.rb +51 -0
- data/lib/ruby-lint/definitions/core/unmarshalable.rb +13 -0
- data/lib/ruby-lint/definitions/core/unsupported_library_error.rb +8 -0
- data/lib/ruby-lint/definitions/core/weak_ref.rb +42 -0
- data/lib/ruby-lint/definitions/core/zero_division_error.rb +8 -0
- data/lib/ruby-lint/definitions_builder.rb +692 -0
- data/lib/ruby-lint/extensions/string.rb +15 -0
- data/lib/ruby-lint/helper/constant_paths.rb +41 -0
- data/lib/ruby-lint/helper/conversion.rb +33 -0
- data/lib/ruby-lint/helper/current_scope.rb +98 -0
- data/lib/ruby-lint/helper/methods.rb +91 -0
- data/lib/ruby-lint/inspector.rb +191 -0
- data/lib/ruby-lint/iterator.rb +187 -127
- data/lib/ruby-lint/node.rb +107 -0
- data/lib/ruby-lint/parser.rb +510 -1137
- data/lib/ruby-lint/parser_error.rb +15 -27
- data/lib/ruby-lint/presenter/json.rb +19 -0
- data/lib/ruby-lint/presenter/text.rb +37 -0
- data/lib/ruby-lint/report.rb +95 -53
- data/lib/ruby-lint/report/entry.rb +71 -0
- data/lib/ruby-lint/template/definition.erb +24 -0
- data/lib/ruby-lint/template/scope.rb +25 -0
- data/lib/ruby-lint/variable_predicates.rb +109 -0
- data/lib/ruby-lint/version.rb +1 -1
- data/ruby-lint.gemspec +19 -8
- data/spec/helper.rb +10 -2
- data/spec/ruby-lint/analyze/argument_amount.rb +91 -0
- data/spec/ruby-lint/analyze/shadowing_variables.rb +69 -14
- data/spec/ruby-lint/analyze/undefined_methods.rb +174 -0
- data/spec/ruby-lint/analyze/undefined_variables.rb +70 -179
- data/spec/ruby-lint/analyze/unused_variables.rb +63 -183
- data/spec/ruby-lint/configuration.rb +15 -0
- data/spec/ruby-lint/constant_loader.rb +32 -0
- data/spec/ruby-lint/definition/dsl.rb +142 -0
- data/spec/ruby-lint/definition/method_calls.rb +26 -0
- data/spec/ruby-lint/definition/ruby_method.rb +175 -0
- data/spec/ruby-lint/definition/ruby_object.rb +228 -0
- data/spec/ruby-lint/definitions_builder/assignments/arrays.rb +71 -0
- data/spec/ruby-lint/definitions_builder/assignments/hashes.rb +65 -0
- data/spec/ruby-lint/definitions_builder/assignments/objects.rb +23 -0
- data/spec/ruby-lint/definitions_builder/assignments/optional.rb +22 -0
- data/spec/ruby-lint/definitions_builder/assignments/return_values.rb +78 -0
- data/spec/ruby-lint/definitions_builder/assignments/variables.rb +71 -0
- data/spec/ruby-lint/definitions_builder/associate_nodes.rb +17 -0
- data/spec/ruby-lint/definitions_builder/blocks.rb +40 -0
- data/spec/ruby-lint/definitions_builder/classes.rb +230 -0
- data/spec/ruby-lint/definitions_builder/for.rb +16 -0
- data/spec/ruby-lint/definitions_builder/methods.rb +147 -0
- data/spec/ruby-lint/definitions_builder/modules.rb +175 -0
- data/spec/ruby-lint/definitions_builder/reference_amount.rb +31 -0
- data/spec/ruby-lint/definitions_builder/unused.rb +15 -0
- data/spec/ruby-lint/extensions/string.rb +7 -0
- data/spec/ruby-lint/iterator.rb +42 -417
- data/spec/ruby-lint/node.rb +38 -0
- data/spec/ruby-lint/parser/assignments.rb +225 -0
- data/spec/ruby-lint/parser/classes.rb +80 -122
- data/spec/ruby-lint/parser/errors.rb +7 -14
- data/spec/ruby-lint/parser/metadata.rb +17 -0
- data/spec/ruby-lint/parser/method_definitions.rb +111 -0
- data/spec/ruby-lint/parser/methods.rb +184 -216
- data/spec/ruby-lint/parser/modules.rb +54 -33
- data/spec/ruby-lint/parser/operators.rb +30 -65
- data/spec/ruby-lint/parser/statements/begin.rb +55 -0
- data/spec/ruby-lint/parser/statements/case.rb +34 -0
- data/spec/ruby-lint/parser/statements/defined.rb +11 -0
- data/spec/ruby-lint/parser/statements/for.rb +34 -0
- data/spec/ruby-lint/parser/statements/if.rb +46 -0
- data/spec/ruby-lint/parser/statements/return.rb +14 -0
- data/spec/ruby-lint/parser/statements/super.rb +49 -0
- data/spec/ruby-lint/parser/statements/unless.rb +42 -0
- data/spec/ruby-lint/parser/statements/until.rb +25 -0
- data/spec/ruby-lint/parser/statements/while.rb +25 -0
- data/spec/ruby-lint/parser/statements/yield.rb +18 -0
- data/spec/ruby-lint/parser/types/arrays.rb +47 -0
- data/spec/ruby-lint/parser/types/booleans.rb +11 -0
- data/spec/ruby-lint/parser/types/constants.rb +32 -0
- data/spec/ruby-lint/parser/types/hashes.rb +55 -0
- data/spec/ruby-lint/parser/types/nil.rb +7 -0
- data/spec/ruby-lint/parser/types/numbers.rb +11 -0
- data/spec/ruby-lint/parser/types/procs.rb +11 -0
- data/spec/ruby-lint/parser/types/ranges.rb +11 -0
- data/spec/ruby-lint/parser/types/regexp.rb +27 -0
- data/spec/ruby-lint/parser/types/strings.rb +44 -0
- data/spec/ruby-lint/parser/types/symbols.rb +15 -0
- data/spec/ruby-lint/presenter/json.rb +31 -0
- data/spec/ruby-lint/presenter/text.rb +22 -0
- data/spec/ruby-lint/report.rb +45 -15
- data/spec/ruby-lint/report/entry.rb +24 -0
- data/spec/support/bacon.rb +33 -0
- data/spec/support/building.rb +43 -0
- data/spec/support/definitions.rb +23 -0
- data/spec/support/parsing.rb +23 -0
- data/spec/support/simplecov.rb +16 -0
- data/task/build.rake +9 -0
- data/task/checksum.rake +13 -0
- data/task/coverage.rake +6 -0
- data/task/doc.rake +5 -0
- data/task/generate.rake +34 -0
- data/task/graphviz.rake +12 -0
- data/task/stdlib.rake +2 -9
- data/task/tag.rake +6 -0
- metadata +337 -68
- metadata.gz.asc +17 -0
- data/.rbenv-version +0 -1
- data/lib/ruby-lint/analyze/coding_style.rb +0 -407
- data/lib/ruby-lint/analyze/definitions.rb +0 -244
- data/lib/ruby-lint/analyze/method_validation.rb +0 -104
- data/lib/ruby-lint/callback.rb +0 -67
- data/lib/ruby-lint/constant_importer.rb +0 -112
- data/lib/ruby-lint/definition.rb +0 -230
- data/lib/ruby-lint/formatter/text.rb +0 -54
- data/lib/ruby-lint/helper/definition_resolver.rb +0 -143
- data/lib/ruby-lint/helper/scoping.rb +0 -138
- data/lib/ruby-lint/options.rb +0 -58
- data/lib/ruby-lint/token/assignment_token.rb +0 -35
- data/lib/ruby-lint/token/begin_rescue_token.rb +0 -57
- data/lib/ruby-lint/token/block_token.rb +0 -26
- data/lib/ruby-lint/token/case_token.rb +0 -44
- data/lib/ruby-lint/token/class_token.rb +0 -24
- data/lib/ruby-lint/token/keyword_token.rb +0 -43
- data/lib/ruby-lint/token/method_definition_token.rb +0 -64
- data/lib/ruby-lint/token/method_token.rb +0 -56
- data/lib/ruby-lint/token/parameters_token.rb +0 -99
- data/lib/ruby-lint/token/regexp_token.rb +0 -15
- data/lib/ruby-lint/token/statement_token.rb +0 -69
- data/lib/ruby-lint/token/token.rb +0 -176
- data/lib/ruby-lint/token/variable_token.rb +0 -18
- data/spec/benchmarks/memory.rb +0 -52
- data/spec/benchmarks/parse_parser.rb +0 -16
- data/spec/fixtures/stdlib/un.rb +0 -348
- data/spec/ruby-lint/analyze/coding_style.rb +0 -224
- data/spec/ruby-lint/analyze/complex/un.rb +0 -29
- data/spec/ruby-lint/analyze/definitions/classes.rb +0 -114
- data/spec/ruby-lint/analyze/definitions/methods.rb +0 -91
- data/spec/ruby-lint/analyze/definitions/modules.rb +0 -207
- data/spec/ruby-lint/analyze/definitions/variables.rb +0 -103
- data/spec/ruby-lint/analyze/method_validation.rb +0 -177
- data/spec/ruby-lint/callback.rb +0 -28
- data/spec/ruby-lint/constant_importer.rb +0 -27
- data/spec/ruby-lint/definition.rb +0 -96
- data/spec/ruby-lint/formatter/text.rb +0 -21
- data/spec/ruby-lint/parser/arrays.rb +0 -147
- data/spec/ruby-lint/parser/expander_assignments.rb +0 -183
- data/spec/ruby-lint/parser/hashes.rb +0 -136
- data/spec/ruby-lint/parser/keywords.rb +0 -89
- data/spec/ruby-lint/parser/objects.rb +0 -39
- data/spec/ruby-lint/parser/procs.rb +0 -113
- data/spec/ruby-lint/parser/ranges.rb +0 -49
- data/spec/ruby-lint/parser/regexp.rb +0 -31
- data/spec/ruby-lint/parser/scalars.rb +0 -93
- data/spec/ruby-lint/parser/statements.rb +0 -591
- data/spec/ruby-lint/parser/variables.rb +0 -230
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module RubyLint
|
|
2
|
-
module Token
|
|
3
|
-
##
|
|
4
|
-
# Token class used for storing information about blocks/procs.
|
|
5
|
-
#
|
|
6
|
-
# @since 2012-08-05
|
|
7
|
-
#
|
|
8
|
-
class BlockToken < Token
|
|
9
|
-
##
|
|
10
|
-
# The parameters of the block.
|
|
11
|
-
#
|
|
12
|
-
# @return [RubyLint::Token::ParametersToken]
|
|
13
|
-
#
|
|
14
|
-
attr_accessor :parameters
|
|
15
|
-
|
|
16
|
-
##
|
|
17
|
-
# @see RubyLint::Token::Token#initialize
|
|
18
|
-
#
|
|
19
|
-
def initialize(*args)
|
|
20
|
-
super
|
|
21
|
-
|
|
22
|
-
@parameters = ParametersToken.new unless @parameters
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end # Token
|
|
26
|
-
end # RubyLint
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
module RubyLint
|
|
2
|
-
module Token
|
|
3
|
-
##
|
|
4
|
-
# Token class containing details about a case statement.
|
|
5
|
-
#
|
|
6
|
-
class CaseToken < StatementToken
|
|
7
|
-
##
|
|
8
|
-
# Array containing all the `when` statements sorted in the order of their
|
|
9
|
-
# appearance.
|
|
10
|
-
#
|
|
11
|
-
# @return [Array]
|
|
12
|
-
#
|
|
13
|
-
attr_accessor :when
|
|
14
|
-
|
|
15
|
-
##
|
|
16
|
-
# Token containing details about the `else` statement.
|
|
17
|
-
#
|
|
18
|
-
# @return [RubyLint::Token::StatementToken]
|
|
19
|
-
#
|
|
20
|
-
attr_accessor :else
|
|
21
|
-
|
|
22
|
-
##
|
|
23
|
-
# @see RubyLint::Token#initialize
|
|
24
|
-
#
|
|
25
|
-
def initialize(*args)
|
|
26
|
-
@when = []
|
|
27
|
-
@type = :case
|
|
28
|
-
|
|
29
|
-
super
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
##
|
|
33
|
-
# @see RubyLint::Token::Token#child_nodes
|
|
34
|
-
#
|
|
35
|
-
def child_nodes
|
|
36
|
-
nodes = super
|
|
37
|
-
|
|
38
|
-
nodes.insert(1, @when)
|
|
39
|
-
|
|
40
|
-
return nodes.select { |array| array.length > 0 }
|
|
41
|
-
end
|
|
42
|
-
end # CaseToken
|
|
43
|
-
end # Token
|
|
44
|
-
end # RubyLint
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
module RubyLint
|
|
2
|
-
module Token
|
|
3
|
-
##
|
|
4
|
-
# Token class used for storing data about classes.
|
|
5
|
-
#
|
|
6
|
-
class ClassToken < Token
|
|
7
|
-
##
|
|
8
|
-
# The name of the parent class, if specified.
|
|
9
|
-
#
|
|
10
|
-
# @return [String]
|
|
11
|
-
#
|
|
12
|
-
attr_accessor :parent
|
|
13
|
-
|
|
14
|
-
##
|
|
15
|
-
# @see RubyLint::Token::Token#initialize
|
|
16
|
-
#
|
|
17
|
-
def initialize(*args)
|
|
18
|
-
super
|
|
19
|
-
|
|
20
|
-
@parent = ['Object'] if @parent.empty?
|
|
21
|
-
end
|
|
22
|
-
end # ClassToken
|
|
23
|
-
end # Token
|
|
24
|
-
end # RubyLint
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
module RubyLint
|
|
2
|
-
module Token
|
|
3
|
-
##
|
|
4
|
-
# {RubyLint::Token::KeywordToken} is a token class similar to
|
|
5
|
-
# {RubyLint::Token::MethodToken} but instead of being used for regular
|
|
6
|
-
# method calls it's soley used for keywords such as `super` and
|
|
7
|
-
# `defined?()`.
|
|
8
|
-
#
|
|
9
|
-
class KeywordToken < Token
|
|
10
|
-
##
|
|
11
|
-
# Array of tokens for the method parameters.
|
|
12
|
-
#
|
|
13
|
-
# @return [Array]
|
|
14
|
-
#
|
|
15
|
-
attr_accessor :parameters
|
|
16
|
-
|
|
17
|
-
##
|
|
18
|
-
# Token containing details about the block passed to the method.
|
|
19
|
-
#
|
|
20
|
-
# @return [RubyLint::Token::BlockToken]
|
|
21
|
-
#
|
|
22
|
-
attr_accessor :block
|
|
23
|
-
|
|
24
|
-
##
|
|
25
|
-
# @see RubyLint::Token::Token#initialize
|
|
26
|
-
#
|
|
27
|
-
def initialize(*args)
|
|
28
|
-
@type = :keyword
|
|
29
|
-
|
|
30
|
-
super
|
|
31
|
-
|
|
32
|
-
@parameters = [] unless @parameters
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
##
|
|
36
|
-
# @see RubyLint::Token::Token#child_nodes
|
|
37
|
-
#
|
|
38
|
-
def child_nodes
|
|
39
|
-
return super << @parameters << [@block]
|
|
40
|
-
end
|
|
41
|
-
end # KeywordToken
|
|
42
|
-
end # Token
|
|
43
|
-
end # RubyLint
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
module RubyLint
|
|
2
|
-
module Token
|
|
3
|
-
##
|
|
4
|
-
# Token class used for storing data about a newly defined method.
|
|
5
|
-
#
|
|
6
|
-
# @since 2012-08-02
|
|
7
|
-
#
|
|
8
|
-
class MethodDefinitionToken < Token
|
|
9
|
-
##
|
|
10
|
-
# The object the method is defined on, only set when this is explicitly
|
|
11
|
-
# stated.
|
|
12
|
-
#
|
|
13
|
-
# @return [RubyLint::Token::Token]
|
|
14
|
-
#
|
|
15
|
-
attr_accessor :receiver
|
|
16
|
-
|
|
17
|
-
##
|
|
18
|
-
# The operator that was used to separate the receiver and method name.
|
|
19
|
-
#
|
|
20
|
-
# @return [RubyLint::Token::Token]
|
|
21
|
-
#
|
|
22
|
-
attr_accessor :operator
|
|
23
|
-
|
|
24
|
-
##
|
|
25
|
-
# The parameters of the method.
|
|
26
|
-
#
|
|
27
|
-
# @return [RubyLint::Token::ParametersToken]
|
|
28
|
-
#
|
|
29
|
-
attr_accessor :parameters
|
|
30
|
-
|
|
31
|
-
##
|
|
32
|
-
# The visibility of the method, set to `:public` by default.
|
|
33
|
-
#
|
|
34
|
-
# @since 2012-08-07
|
|
35
|
-
# @return [Symbol]
|
|
36
|
-
#
|
|
37
|
-
attr_accessor :visibility
|
|
38
|
-
|
|
39
|
-
##
|
|
40
|
-
# @see RubyLint::Token::Token#initialize
|
|
41
|
-
#
|
|
42
|
-
def initialize(*args)
|
|
43
|
-
@parameters = []
|
|
44
|
-
@visibility = :public
|
|
45
|
-
@type = :method_definition
|
|
46
|
-
|
|
47
|
-
super
|
|
48
|
-
|
|
49
|
-
# Ensure that the parameters attribute always contains an instance of
|
|
50
|
-
# `RubyLint::Token::ParametersToken`.
|
|
51
|
-
unless @parameters.class == ParametersToken
|
|
52
|
-
@parameters = ParametersToken.new
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
##
|
|
57
|
-
# @see RubyLint::Token::Token#child_nodes
|
|
58
|
-
#
|
|
59
|
-
def child_nodes
|
|
60
|
-
return @parameters.child_nodes + super
|
|
61
|
-
end
|
|
62
|
-
end # MethodDefinitionToken
|
|
63
|
-
end # Token
|
|
64
|
-
end # RubyLint
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
module RubyLint
|
|
2
|
-
module Token
|
|
3
|
-
##
|
|
4
|
-
# Token class used for storing methods, their parameters, body, etc.
|
|
5
|
-
#
|
|
6
|
-
# @since 2012-07-29
|
|
7
|
-
#
|
|
8
|
-
class MethodToken < Token
|
|
9
|
-
##
|
|
10
|
-
# The receiver of the method call, if any.
|
|
11
|
-
#
|
|
12
|
-
# @return [RubyLint::Token::Token]
|
|
13
|
-
#
|
|
14
|
-
attr_accessor :receiver
|
|
15
|
-
|
|
16
|
-
##
|
|
17
|
-
# Symbol containing the method separator, if any.
|
|
18
|
-
#
|
|
19
|
-
# @return [Symbol]
|
|
20
|
-
#
|
|
21
|
-
attr_accessor :operator
|
|
22
|
-
|
|
23
|
-
##
|
|
24
|
-
# Array of tokens for the method parameters.
|
|
25
|
-
#
|
|
26
|
-
# @return [Array]
|
|
27
|
-
#
|
|
28
|
-
attr_accessor :parameters
|
|
29
|
-
|
|
30
|
-
##
|
|
31
|
-
# Token containing details about the block passed to the method.
|
|
32
|
-
#
|
|
33
|
-
# @return [RubyLint::Token::BlockToken]
|
|
34
|
-
#
|
|
35
|
-
attr_accessor :block
|
|
36
|
-
|
|
37
|
-
##
|
|
38
|
-
# @see RubyLint::Token::Token#initialize
|
|
39
|
-
#
|
|
40
|
-
def initialize(*args)
|
|
41
|
-
@type = :method
|
|
42
|
-
|
|
43
|
-
super
|
|
44
|
-
|
|
45
|
-
@parameters = [] unless @parameters
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
##
|
|
49
|
-
# @see RubyLint::Token::Token#child_nodes
|
|
50
|
-
#
|
|
51
|
-
def child_nodes
|
|
52
|
-
return super << @parameters << [@receiver] << [@block]
|
|
53
|
-
end
|
|
54
|
-
end # MethodToken
|
|
55
|
-
end # Token
|
|
56
|
-
end # RubyLint
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
module RubyLint
|
|
2
|
-
module Token
|
|
3
|
-
##
|
|
4
|
-
# Token class that contains details about the parameters of a method.
|
|
5
|
-
#
|
|
6
|
-
# The following attributes are used:
|
|
7
|
-
#
|
|
8
|
-
# * value: contains the required parameters (aliased as `#required()`)
|
|
9
|
-
# * optional: contains all optional parameters
|
|
10
|
-
# * rest: contains the rest parameter (if any)
|
|
11
|
-
# * more: contains all more parameters (parameters specified after a rest
|
|
12
|
-
# parameter).
|
|
13
|
-
# * block: contains the block parameter (if any)
|
|
14
|
-
#
|
|
15
|
-
class ParametersToken < Token
|
|
16
|
-
##
|
|
17
|
-
# An array of optional parameters.
|
|
18
|
-
#
|
|
19
|
-
# @return [Array]
|
|
20
|
-
#
|
|
21
|
-
attr_accessor :optional
|
|
22
|
-
|
|
23
|
-
##
|
|
24
|
-
# The rest parameter (if any).
|
|
25
|
-
#
|
|
26
|
-
# @return [RubyLint::Token::Token]
|
|
27
|
-
#
|
|
28
|
-
attr_accessor :rest
|
|
29
|
-
|
|
30
|
-
##
|
|
31
|
-
# An array of more parameters.
|
|
32
|
-
#
|
|
33
|
-
# @return [Array]
|
|
34
|
-
#
|
|
35
|
-
attr_accessor :more
|
|
36
|
-
|
|
37
|
-
##
|
|
38
|
-
# The block parameter (if any).
|
|
39
|
-
#
|
|
40
|
-
# @return [RubyLint::Token::Token]
|
|
41
|
-
#
|
|
42
|
-
attr_accessor :block
|
|
43
|
-
|
|
44
|
-
##
|
|
45
|
-
# @see RubyLint::Token::Token#initialize
|
|
46
|
-
#
|
|
47
|
-
def initialize(*args)
|
|
48
|
-
@optional = []
|
|
49
|
-
@more = []
|
|
50
|
-
@value = []
|
|
51
|
-
|
|
52
|
-
super
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
##
|
|
56
|
-
# @see RubyLint::Token::Token#child_nodes
|
|
57
|
-
#
|
|
58
|
-
def child_nodes
|
|
59
|
-
nodes = super
|
|
60
|
-
|
|
61
|
-
if @optional
|
|
62
|
-
nodes << @optional
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
if @rest
|
|
66
|
-
nodes << [@rest]
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
if @more
|
|
70
|
-
nodes << @more
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
if @block
|
|
74
|
-
nodes << [@block]
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
return nodes.select { |array| array.length > 0 }
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
##
|
|
81
|
-
# Executes the provided block for every parameter of the method. The
|
|
82
|
-
# order in which parameters are processed is the following:
|
|
83
|
-
#
|
|
84
|
-
# 1. Required parameters
|
|
85
|
-
# 2. Optional parameters
|
|
86
|
-
# 3. Rest parameters
|
|
87
|
-
# 4. "More" parameters
|
|
88
|
-
# 5. Block parameters
|
|
89
|
-
#
|
|
90
|
-
def each
|
|
91
|
-
params = [@value, @optional, @rest, @more, @block].select do |p|
|
|
92
|
-
!p.nil?
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
params.flatten.each { |param| yield param }
|
|
96
|
-
end
|
|
97
|
-
end # ParametersToken
|
|
98
|
-
end # Token
|
|
99
|
-
end # RubyLint
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
module RubyLint
|
|
2
|
-
module Token
|
|
3
|
-
##
|
|
4
|
-
# Token class for storing information about regular expressions.
|
|
5
|
-
#
|
|
6
|
-
class RegexpToken < Token
|
|
7
|
-
##
|
|
8
|
-
# Array containing the modes of the regular expression.
|
|
9
|
-
#
|
|
10
|
-
# @return [Array]
|
|
11
|
-
#
|
|
12
|
-
attr_accessor :modes
|
|
13
|
-
end # RegexpToken
|
|
14
|
-
end # Token
|
|
15
|
-
end # RubyLint
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
module RubyLint
|
|
2
|
-
module Token
|
|
3
|
-
##
|
|
4
|
-
# Token class for storing information about statements such as `return`
|
|
5
|
-
# statements and `elsif` statements.
|
|
6
|
-
#
|
|
7
|
-
# @since 2012-08-08
|
|
8
|
-
#
|
|
9
|
-
class StatementToken < Token
|
|
10
|
-
##
|
|
11
|
-
# The value of the statement in case of `if` and `elsif` statements.
|
|
12
|
-
#
|
|
13
|
-
# @return [RubyLint::Token::Token|Array]
|
|
14
|
-
#
|
|
15
|
-
attr_accessor :statement
|
|
16
|
-
|
|
17
|
-
##
|
|
18
|
-
# The content of the `else` statement.
|
|
19
|
-
#
|
|
20
|
-
# @return [RubyLint::Token::StatementToken]
|
|
21
|
-
#
|
|
22
|
-
attr_accessor :else
|
|
23
|
-
|
|
24
|
-
##
|
|
25
|
-
# Array containing the `elsif` statement in their original order.
|
|
26
|
-
#
|
|
27
|
-
# @return [Array]
|
|
28
|
-
#
|
|
29
|
-
attr_accessor :elsif
|
|
30
|
-
|
|
31
|
-
##
|
|
32
|
-
# @see RubyLint::Token::Token#initialize
|
|
33
|
-
#
|
|
34
|
-
def initialize(*args)
|
|
35
|
-
@type = :statement
|
|
36
|
-
@elsif = []
|
|
37
|
-
|
|
38
|
-
super
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
##
|
|
42
|
-
# @see RubyLint::Token::Token#child_nodes
|
|
43
|
-
#
|
|
44
|
-
def child_nodes
|
|
45
|
-
nodes = []
|
|
46
|
-
|
|
47
|
-
if @statement
|
|
48
|
-
if @statement.is_a?(Array)
|
|
49
|
-
nodes << @statement.flatten
|
|
50
|
-
else
|
|
51
|
-
nodes << [@statement]
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
nodes += super
|
|
56
|
-
|
|
57
|
-
if @elsif
|
|
58
|
-
nodes << @elsif
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
if @else
|
|
62
|
-
nodes << [@else]
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
return nodes.select { |array| array.length > 0 }
|
|
66
|
-
end
|
|
67
|
-
end # StatementToken
|
|
68
|
-
end # Token
|
|
69
|
-
end # RubyLint
|