module Noir::DartCalleeExtractor

Extended Modules

Defined in:

miniparsers/dart_callee_extractor.cr

Constant Summary

BARE_CALL_REGEX = /(?<![A-Za-z0-9_.!?<])([A-Za-z_][A-Za-z0-9_]*)\s*(?:<[^;\n{}]*>)?\s*\(/
DECLARATION_CONTEXT_REGEX = /(?:^|[;{}])\s*((?:[A-Z][A-Za-z0-9_]*|void|int|double|num|bool|String|Future|Stream|Map|List|Set|Iterable|Object|dynamic)(?:\s*<[^;{}()=]*>)?\??)\s+$/
INITIAL_STATE = {block_comment: false, triple_quote: '\0'}
RECEIVER_CALL_REGEX = /([A-Za-z_][A-Za-z0-9_]*(?:\s*(?:\?\.|!\.|\.)\s*[A-Za-z_][A-Za-z0-9_]*)+)\s*(?:<[^;\n{}]*>)?\s*\(/
RESERVED = Set {"abstract", "as", "assert", "async", "await", "break", "case", "catch", "class", "const", "continue", "covariant", "default", "deferred", "do", "dynamic", "else", "enum", "export", "extends", "extension", "external", "factory", "false", "final", "finally", "for", "Function", "get", "hide", "if", "implements", "import", "in", "interface", "is", "late", "library", "mixin", "new", "null", "on", "operator", "part", "required", "rethrow", "return", "set", "show", "static", "super", "switch", "sync", "this", "throw", "true", "try", "typedef", "var", "void", "when", "while", "with", "yield", "print", "identical"}

Instance Method Summary

Instance Method Detail

def attach_to(endpoint : Endpoint, callees : Array(Entry)) #

[View source]
def callees_for_body(body : String, file_path : String, start_line : Int32) : Array(Entry) #

[View source]
def extract_body_after(source : String, start_index : Int32, limit : Int32 = source.bytesize) : BodyInfo | Nil #

[View source]
def find_matching_delimiter(source : String, index : Int32, open_char : Char, close_char : Char, limit : Int32 = source.bytesize) : Int32 | Nil #

[View source]
def find_next_code_char(source : String, target : Char, start_index : Int32, limit : Int32 = source.bytesize) : Int32 | Nil #

[View source]
def line_number_for(source : String, index : Int32) : Int32 #

[View source]