Class: Mxrb::Compiler::CodeActionDocumentCompiler

Inherits:
Object
  • Object
show all
Includes:
CodeActionTypeCompiler, ModelValues
Defined in:
lib/mxrb/compiler/code_action_document_compiler.rb

Overview

Compiles Java and JavaScript action signatures consumed by the Runtime model.

Constant Summary collapse

TYPES =
%w[JavaActions$JavaAction JavaScriptActions$JavaScriptAction].freeze

Constants included from CodeActionTypeCompiler

Mxrb::Compiler::CodeActionTypeCompiler::SCALARS

Instance Method Summary collapse

Instance Method Details

#compile(unit) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/mxrb/compiler/code_action_document_compiler.rb', line 12

def compile(unit)
  source = unit.document
  case source['$Type']
  when 'JavaActions$JavaAction' then java_action(source, unit.module_name)
  when 'JavaScriptActions$JavaScriptAction' then javascript_action(source, unit.module_name)
  else raise CompilationError, "unsupported code action #{source['$Type']}"
  end
end