Class: JavaFeedbackHook::JavaExplainer

Inherits:
Mumukit::Explainer
  • Object
show all
Defined in:
lib/feedback_hook.rb

Instance Method Summary collapse

Instance Method Details

#explain_cannot_find_symbol(_, result) ⇒ Object



29
30
31
32
33
# File 'lib/feedback_hook.rb', line 29

def explain_cannot_find_symbol(_, result)
  (/#{error} cannot find symbol#{near_regex}#{symbol_regex}#{location_regex}/.match result).try do |it|
    {near: it[1], symbol: it[2].strip, location: it[3].strip}
  end
end

#explain_incompatible_types(_, result) ⇒ Object



35
36
37
38
39
# File 'lib/feedback_hook.rb', line 35

def explain_incompatible_types(_, result)
  (/#{error} incompatible types: (.*) cannot be converted to (.*)#{near_regex}/.match result).try do |it|
    {down: it[1], up: it[2], near: it[3]}
  end
end

#explain_missing_bracket(_, result) ⇒ Object



19
20
21
# File 'lib/feedback_hook.rb', line 19

def explain_missing_bracket(_, result)
  missing_character result, '\{'
end

#explain_missing_parenthesis(_, result) ⇒ Object



15
16
17
# File 'lib/feedback_hook.rb', line 15

def explain_missing_parenthesis(_, result)
  missing_character result, '\('
end

#explain_missing_return_statement(_, result) ⇒ Object



23
24
25
26
27
# File 'lib/feedback_hook.rb', line 23

def explain_missing_return_statement(_, result)
  (/#{error} missing return statement#{near_regex}/.match result).try do |it|
    {near: it[1]}
  end
end

#explain_missing_semicolon(_, result) ⇒ Object



11
12
13
# File 'lib/feedback_hook.rb', line 11

def explain_missing_semicolon(_, result)
  missing_character result, ';'
end