Example #1
0
def src_slice(node):
    return source.src_slice(src_file_lines, node.sloc_range)
def src_slice(node):
    lines = get_lines(node.unit.filename)
    return source.src_slice(lines, node.sloc_range)
Example #3
0
def src_slice(node):
    return source.src_slice(src_file_lines, node.sloc_range)
Example #4
0
# Test the behavior of the p_parent_callexpr property on various children for
# CallExpr nodes.

import libadalang as lal

import source


with open('foo.adb') as f:
    src_lines = f.readlines()
src_slice = lambda node: source.src_slice(src_lines, node.sloc_range)


ctx = lal.AnalysisContext()
unit = ctx.get_from_file('foo.adb')


calls = unit.root.find(lal.HandledStatements).f_statements
simple_call, prefix_call, complex_prefix_call, nested_call = calls

for i, (call, name) in enumerate((
    (simple_call, simple_call.f_call.f_name),
    (simple_call, simple_call.f_call.f_suffix.f_params[0].f_expr),

    (prefix_call, prefix_call.f_call.f_name.f_prefix),
    (prefix_call, prefix_call.f_call.f_name.f_suffix),

    (complex_prefix_call, complex_prefix_call.f_call.f_name.f_prefix.f_prefix),
    (complex_prefix_call, complex_prefix_call.f_call.f_name.f_prefix.f_suffix),
    (complex_prefix_call, complex_prefix_call.f_call.f_name.f_suffix),