Class: DomainPlugin
- Defined in:
- lib/tecsgen/plugin/DomainPlugin.rb
Overview
ドメインプラグインの親クラス
Direct Known Subclasses
Constant Summary
Constants inherited from Plugin
Instance Method Summary collapse
-
#add_through_plugin(join, current_region, next_region, through_type) ⇒ Object
結合 join にプラグインを挿入する join::Join : 結合に関する情報 return::[ plugin_name::String, option::String ]: 挿入するプラグイン。 挿入するものがなければ nil を返す return::(1) [ plugin_name, option ] or (2) [[ plugin_name, option ], …], or [] or nil: (2): not supported now nil: region 間の結合禁止, []: region 間の結合可(プラグイン挿入無し) [ plugin_name, option ]: *_through( plugin_name, option ) 指定したのと同等.
-
#gen_factory ⇒ Object
factory 生成 DomainPlugin の factory は特定のファイルへの出力が想定されていない.
-
#get_kind ⇒ Object
ドメイン種別を返す return::Symbol :kernel, :user, :OutOfDomain.
-
#initialize(region, domain_type_name, option) ⇒ DomainPlugin
constructor
domain 指定されたリージョンが定義された region で domain 指定があった domain_type_name::Symbol : domain 指定子の第一引数 option::String : domain 指定子の第二引数.
-
#joinable?(current_region, next_region, through_type) ⇒ Boolean
require が結合可能か?.
Methods inherited from Plugin
#cdl_error, #check_plugin_arg, #gen_cdl_file, #gen_ep_func?, #gen_postamble, #gen_preamble, #new_cell, #parse_plugin_arg, #print_msg, #set_locale, #set_silent
Methods inherited from Node
#cdl_error, #cdl_error2, #cdl_error3, #cdl_info, #cdl_info2, #cdl_warning, #cdl_warning2, #get_locale, #locale_str, #set_locale
Constructor Details
#initialize(region, domain_type_name, option) ⇒ DomainPlugin
domain 指定されたリージョンが定義された
region で domain 指定があった domain_type_name::Symbol : domain 指定子の第一引数 option::String : domain 指定子の第二引数
45 46 47 |
# File 'lib/tecsgen/plugin/DomainPlugin.rb', line 45 def initialize(region, domain_type_name, option) super() end |
Instance Method Details
#add_through_plugin(join, current_region, next_region, through_type) ⇒ Object
結合 join にプラグインを挿入する
join::Join : 結合に関する情報 return::[ plugin_name::String, option::String ]: 挿入するプラグイン。 挿入するものがなければ nil を返す return::(1) [ plugin_name, option ] or (2) [[ plugin_name, option ], …], or [] or nil: (2): not supported now
nil: region 間の結合禁止, []: region 間の結合可(プラグイン挿入無し)
[ plugin_name, option ]: *_through( plugin_name, option ) 指定したのと同等
region 間の through が指定されている場合、out_through, to_through では、それらによって指定されたプラグインの後ろに、in_through の場合 in_through プラグインの前に挿入される
このメソッドが呼出された時点では Join#get_rhs_cell など意味解析後 にしか呼び出せないメソッドを呼出しても、有効な値は得られない
63 64 65 66 67 68 69 70 71 72 |
# File 'lib/tecsgen/plugin/DomainPlugin.rb', line 63 def add_through_plugin(join, current_region, next_region, through_type) # join.get_owner:Cell 左辺のセル # join.get_definition:Port 呼び口 # join.get_subscript:Integer or nil 呼び口配列の添数 (Join::@subscript の説明参照) # join.get_cell:Cell 右辺のセル # join.get_port_name:Symbol 受け口 # get_rhs_subscript:Integer or nil 受け口配列の添数 (Join::@rhs_subscript の説明参照) # return [] return nil end |
#gen_factory ⇒ Object
factory 生成
DomainPlugin の factory は特定のファイルへの出力が想定されていない
87 88 |
# File 'lib/tecsgen/plugin/DomainPlugin.rb', line 87 def gen_factory end |
#get_kind ⇒ Object
ドメイン種別を返す
return::Symbol :kernel, :user, :OutOfDomain
81 82 83 |
# File 'lib/tecsgen/plugin/DomainPlugin.rb', line 81 def get_kind :kernel end |
#joinable?(current_region, next_region, through_type) ⇒ Boolean
require が結合可能か?
75 76 77 |
# File 'lib/tecsgen/plugin/DomainPlugin.rb', line 75 def joinable?(current_region, next_region, through_type) return false end |