nitc :: Phase :: process_npropdef
Note that the order of the visit is the one of the file @toimplement
# Specific actions to execute on the tree of a property
# Note that the order of the visit is the one of the file
# @toimplement
fun process_npropdef(npropdef: APropdef) do end
src/phase.nit:249,2--252,48
redef fun process_npropdef(npropdef) do if npropdef isa AMethPropdef then npropdef.do_auto_super_init(toolcontext.modelbuilder)
src/semantize/auto_super_init.nit:31,2--128
redef fun process_npropdef(npropdef) do npropdef.do_typing(toolcontext.modelbuilder)
src/semantize/typing.nit:31,2--85
redef fun process_npropdef(npropdef) do npropdef.do_local_var_init(toolcontext)
src/semantize/local_var_init.nit:31,2--80
redef fun process_npropdef(npropdef) do npropdef.do_flow(toolcontext)
src/semantize/flow.nit:30,2--70
redef fun process_npropdef(npropdef) do npropdef.do_scope(toolcontext)
src/semantize/scope.nit:30,2--71
redef fun process_npropdef(npropdef)
do
if not npropdef isa AMethPropdef then return
var mpropdef = npropdef.mpropdef
if mpropdef == null then return
if not mpropdef.is_extern then return
npropdef.verify_nitni_callbacks(toolcontext)
end
src/nitni/nitni_callbacks.nit:34,2--42,4
redef fun process_npropdef(npropdef)
do
super
if not npropdef isa AMethPropdef then return
var code_block = npropdef.n_extern_code_block
if code_block == null then return
var lang = code_block.language
assert lang != null
# Associate callbacks used by an extern method to its foreign language
for callback in npropdef.foreign_callbacks.all do
var map = npropdef.mpropdef.mclassdef.mmodule.ffi_callbacks
if not map.keys.has(lang) then map[lang] = new HashSet[NitniCallback]
map[lang].add(callback)
end
end
src/ffi/ffi.nit:80,2--98,4
redef fun process_npropdef(npropdef)
do
if npropdef isa AMethPropdef then
var code_block = npropdef.n_extern_code_block
if code_block != null then
verify_foreign_code_on_node( code_block )
end
end
end
src/ffi/light_ffi_base.nit:46,2--54,4
# Lookup for `npropdef` annotations
redef fun process_npropdef(npropdef) do
var mpropdef = npropdef.mpropdef
if mpropdef == null then return
var nannots = npropdef.n_annotations
if nannots == null then return
for nannot in nannots.n_items do
mpropdef.annotations.add nannot.n_atid.n_id.text
end
end
src/frontend/parse_annotations.nit:79,2--90,4
redef fun process_npropdef(npropdef: APropdef)
do
var val
var m = npropdef.mpropdef
if m == null then return
var v = new TransformVisitor(self, m)
v.enter_visit(npropdef)
val = new ASTValidationVisitor
val.enter_visit(npropdef)
end
src/transform.nit:40,2--51,4