nitc :: AExternCodeBlock :: _language
FFILanguage
assigned to this block
nitc :: AExternCodeBlock :: _n_extern_code_segment
The block of extern codenitc :: AExternCodeBlock :: _n_in_language
The language declrationnitc :: AExternCodeBlock :: defaultinit
nitc :: AExternCodeBlock :: is_c
nitc :: AExternCodeBlock :: is_c_body
nitc :: AExternCodeBlock :: is_c_header
nitc :: AExternCodeBlock :: is_cpp
nitc :: AExternCodeBlock :: is_cpp_body
nitc :: AExternCodeBlock :: is_default_java
Is this code block in Java, with the default mode? (On module blocks it targets the file header)nitc :: AExternCodeBlock :: is_inner_java
Is this code block in Java, and for a module block to generate in the class?nitc :: AExternCodeBlock :: is_objc_body
Is this Objective-C code for the body file?nitc :: AExternCodeBlock :: is_objc_header
Is this Objective-C code for the header file?nitc :: AExternCodeBlock :: language
FFILanguage
assigned to this block
nitc :: AExternCodeBlock :: language=
FFILanguage
assigned to this block
nitc :: AExternCodeBlock :: language_name
User entered name for the language of this blocknitc :: AExternCodeBlock :: language_name_lowered
language_name
, in lower case
nitc :: AExternCodeBlock :: n_extern_code_segment
The block of extern codenitc :: AExternCodeBlock :: n_extern_code_segment=
The block of extern codenitc :: AExternCodeBlock :: n_in_language
The language declrationnitc :: AExternCodeBlock :: n_in_language=
The language declrationnitc $ AExternCodeBlock :: SELF
Type of this instance, automatically specialized in every classnitc :: pretty $ AExternCodeBlock :: accept_pretty_printer
Start visit ofself
using a PrettyPrinterVisitor
nitc :: pretty $ AExternCodeBlock :: is_inlinable
Isself
printable in one line?
nitc :: parser_prod $ AExternCodeBlock :: n_extern_code_segment=
The block of extern codenitc :: parser_prod $ AExternCodeBlock :: n_in_language=
The language declrationnitc :: parser_prod $ AExternCodeBlock :: replace_child
Replace a child with an other node in the ASTnitc :: parser_prod $ AExternCodeBlock :: visit_all
Visit all nodes in order.nitc :: Prod :: _first_location
Location on the first token after the start of a productionnitc :: Prod :: _first_token
The first token of the production in the ASTnitc :: ANode :: _is_broken
The indication that the node did not pass some semantic verifications.nitc :: AExternCodeBlock :: _language
FFILanguage
assigned to this block
nitc :: Prod :: _last_token
The last token of the production in the ASTnitc :: Prod :: _n_annotations
All the annotations attached directly to the nodenitc :: AExternCodeBlock :: _n_extern_code_segment
The block of extern codenitc :: AExternCodeBlock :: _n_in_language
The language declrationnitc :: ANode :: accept_ast_validation
nitc :: ANode :: accept_auto_super_init
nitc :: ANode :: accept_flow_visitor
nitc :: ANode :: accept_forward_analysis
Apply the forward analysisv
to self
.
nitc :: ANode :: accept_literal
nitc :: ANode :: accept_post_typing
nitc :: ANode :: accept_pretty_printer
Start visit ofself
using a PrettyPrinterVisitor
nitc :: ANode :: accept_reaching_defs
Apply a ReachingDefsAnalysis toself
.
nitc :: ANode :: accept_regex_visitor
nitc :: ANode :: accept_scope_visitor
nitc :: ANode :: accept_simple_misc
nitc :: ANode :: accept_string_finder
nitc :: ANode :: after_simple_misc
nitc :: ANode :: bad_expr_message
An additional information message to explain the role of a child expression.nitc :: ANode :: check_callsite
core :: Object :: class_factory
Implementation used byget_class
to create the specific class.
nitc :: ANode :: collect_annotations_by_name
Do a deep search and return an array of node that are annotatednitc :: Prod :: collect_comments
Collect allTComment
contained in the production
nitc :: ANode :: collect_length
Collect the length (inChar
) of the node.
nitc :: ANode :: collect_tokens_by_text
Do a deep search and return an array of tokens that match a given textnitc :: ANode :: common_parent
The most specific common parent betweenself
and other
nitc :: ANode :: create_contracts
nitc :: ANode :: decorate_tag
Add aditionnal information on a child-token and return an additionnal HInfoBox on itnitc :: ANode :: defaultinit
core :: Object :: defaultinit
core :: Cloneable :: defaultinit
nitc :: Prod :: defaultinit
nitc :: AExternCodeBlock :: defaultinit
nitc :: ANode :: do_cloneable
nitc :: Prod :: first_location
Location on the first token after the start of a productionnitc :: Prod :: first_location=
Location on the first token after the start of a productionnitc :: Prod :: first_token
The first token of the production in the ASTnitc :: Prod :: first_token=
The first token of the production in the ASTnitc :: ANode :: force_block=
Forceself
to be rendered as a block.
nitc :: ANode :: force_inline=
Forceself
to be rendered as a line.
nitc :: ANode :: full_transform_visitor
nitc :: Prod :: get_annotations
Return all its annotations of a given name in the order of their declarationnitc :: Prod :: get_single_annotation
Try to get its single annotation with a given namenitc :: ANode :: hot_location
The location of the important part of the node (identifier or whatever)nitc :: ANode :: is_broken=
The indication that the node did not pass some semantic verifications.nitc :: AExternCodeBlock :: is_c
nitc :: AExternCodeBlock :: is_c_body
nitc :: AExternCodeBlock :: is_c_header
nitc :: AExternCodeBlock :: is_cpp
nitc :: AExternCodeBlock :: is_cpp_body
nitc :: AExternCodeBlock :: is_default_java
Is this code block in Java, with the default mode? (On module blocks it targets the file header)nitc :: AExternCodeBlock :: is_inner_java
Is this code block in Java, and for a module block to generate in the class?nitc :: ANode :: is_noserialize
Is this node annotated to not be made serializable?nitc :: AExternCodeBlock :: is_objc_body
Is this Objective-C code for the body file?nitc :: AExternCodeBlock :: is_objc_header
Is this Objective-C code for the header file?core :: Object :: is_same_instance
Return true ifself
and other
are the same instance (i.e. same identity).
core :: Object :: is_same_serialized
Isself
the same as other
in a serialization context?
core :: Object :: is_same_type
Return true ifself
and other
have the same dynamic type.
nitc :: ANode :: is_serialize
Is this node annotated to be made serializable?nitc :: ANode :: is_structural
Isself
a token or a pure-structural production like AQId
?
nitc :: AExternCodeBlock :: language
FFILanguage
assigned to this block
nitc :: AExternCodeBlock :: language=
FFILanguage
assigned to this block
nitc :: AExternCodeBlock :: language_name
User entered name for the language of this blocknitc :: AExternCodeBlock :: language_name_lowered
language_name
, in lower case
nitc :: Prod :: last_token
The last token of the production in the ASTnitc :: Prod :: last_token=
The last token of the production in the ASTnitc :: ANode :: must_be_block
Doesself
have to be rendered as a block?
nitc :: ANode :: must_be_inline
Doesself
have be rendered as a line?
nitc :: Prod :: n_annotations
All the annotations attached directly to the nodenitc :: Prod :: n_annotations=
All the annotations attached directly to the nodenitc :: AExternCodeBlock :: n_extern_code_segment
The block of extern codenitc :: AExternCodeBlock :: n_extern_code_segment=
The block of extern codenitc :: AExternCodeBlock :: n_in_language
The language declrationnitc :: AExternCodeBlock :: n_in_language=
The language declrationcore :: Object :: native_class_name
The class name of the object in CString format.core :: Object :: output_class_name
Display class name on stdout (debug only).nitc :: ANode :: parentize_tokens
Visit the AST and computes advanced AST attributes on Tokens and Prodnitc :: ANode :: replace_child
Replace a child with an other node in the ASTnitc :: ANode :: replace_with
Replace itself with an other node in the ASTnitc :: Prod :: start_token
The token where the production really start (skipping ADoc).nitc :: ANode :: was_inline
Doesself
was written in one line before transformation?
# An full extern block
class AExternCodeBlock
super Prod
# The language declration
var n_in_language: nullable AInLanguage = null is writable
# The block of extern code
var n_extern_code_segment: TExternCodeSegment is writable, noinit
end
src/parser/parser_nodes.nit:3014,1--3023,3
redef class AExternCodeBlock
init init_aexterncodeblock (
n_in_language: nullable AInLanguage,
n_extern_code_segment: nullable TExternCodeSegment
)
do
_n_in_language = n_in_language
if n_in_language != null then n_in_language.parent = self
_n_extern_code_segment = n_extern_code_segment.as(not null)
n_extern_code_segment.parent = self
end
redef fun replace_child(old_child: ANode, new_child: nullable ANode)
do
if _n_in_language == old_child then
n_in_language = new_child.as(nullable AInLanguage)
return
end
if _n_extern_code_segment == old_child then
n_extern_code_segment = new_child.as(TExternCodeSegment)
return
end
end
redef fun n_in_language=(node)
do
_n_in_language = node
if node != null then node.parent = self
end
redef fun n_extern_code_segment=(node)
do
_n_extern_code_segment = node
node.parent = self
end
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_in_language)
v.enter_visit(_n_extern_code_segment)
end
end
src/parser/parser_prod.nit:8518,1--8559,3
redef class AExternCodeBlock
# User entered name for the language of this block
fun language_name: nullable String do
if n_in_language == null then return null
return n_in_language.n_string.without_quotes
end
# `language_name`, in lower case
protected fun language_name_lowered: nullable String do
if language_name == null then return null
return language_name.to_lower
end
# User entered foreign code in the block
fun code: String do return n_extern_code_segment.without_guard
# `FFILanguage` assigned to this block
var language: nullable FFILanguage = null
end
src/ffi/light_ffi_base.nit:86,1--104,3
redef class AExternCodeBlock
fun is_c: Bool do return language_name == null or
language_name_lowered == "c" or language_name_lowered.has_prefix( "c " )
fun is_c_body: Bool do return language_name == null or
language_name_lowered == "c" or language_name_lowered == "c body"
fun is_c_header: Bool do return language_name_lowered == "c header"
end
src/ffi/light_c.nit:59,1--67,3
redef class AExternCodeBlock
redef fun accept_pretty_printer(v) do
if n_in_language != null then
v.visit n_in_language
v.adds
end
v.visit n_extern_code_segment
end
redef fun is_inlinable do
if not super then return false
return n_extern_code_segment.is_inlinable
end
end
src/pretty.nit:1126,1--1140,3
redef class AExternCodeBlock
fun is_cpp : Bool do return language_name != null and
(language_name_lowered == "c++" or language_name_lowered.has_prefix("c++ "))
fun is_cpp_body : Bool do return language_name != null and
(language_name_lowered == "c++" or language_name_lowered == "c++ body")
fun is_cpp_header : Bool do return language_name != null and
(language_name_lowered == "c++ header")
end
src/ffi/cpp.nit:146,1--155,3
redef class AExternCodeBlock
# Is this Objective-C code?
fun is_objc : Bool do return language_name != null and
(language_name_lowered == "objc" or language_name_lowered.has_prefix("objc "))
# Is this Objective-C code for the body file?
fun is_objc_body : Bool do return language_name != null and
(language_name_lowered == "objc" or language_name_lowered == "objc body")
# Is this Objective-C code for the header file?
fun is_objc_header : Bool do return language_name != null and
(language_name_lowered == "objc header")
end
src/ffi/objc.nit:126,1--138,3
redef class AExternCodeBlock
# Is this code block in Java?
fun is_java: Bool do return is_default_java or (parent isa AModule and is_inner_java)
# Is this code block in Java, with the default mode? (On module blocks it targets the file header)
private fun is_default_java: Bool do return language_name != null and
language_name_lowered == "java"
# Is this code block in Java, and for a module block to generate in the class?
private fun is_inner_java: Bool do return language_name != null and
language_name_lowered == "java inner"
end
src/ffi/java.nit:382,1--393,3