Top Level Namespace

Defined in:

Constant Summary

ABSTRACT = "abstract"

Keywords

ADD = "+"
ADD_ASSIGN = "+="
AND = "&&"
AND_ASSIGN = "&="
ARROW = "->"

Java 8 tokens

ASSERT = "assert"
ASSIGN = "="

Operators

AT = "@"

Additional symbols not defined in the lexical specification

BANG = "!"
BINARY_LITERAL = /0[bB][01]([01_]*[01])?[lL]?/
BITAND = "&"
BITOR = "|"
BOOL_LITERAL = /true|false/
BOOLEAN = "boolean"
BREAK = "break"
BYTE = "byte"
CARET = "^"
CASE = "case"
CATCH = "catch"
CHAR = "char"
CHAR_LITERAL = /'([^'\\\r\n]|\\['"\\bfnrt]|\\u[0-9a-fA-F]{4}|\\[^'"\r\n])*'/
CLASS = "class"
COLON = ":"
COLONCOLON = "::"
COMMA = ","
COMMENT = /\/\*.*?\*\//m
CONST = "const"
CONTINUE = "continue"
DEC = "--"
DECIMAL_LITERAL = /0|[1-9]([_\d]*\d)?[lL]?/

Literals

DEFAULT = "default"
Digits = /\d([_\d]*\d)?/
DIV = "/"
DIV_ASSIGN = "/="
DO = "do"
DOT = "."
DOUBLE = "double"
ELLIPSIS = "..."
ELSE = "else"
ENUM = "enum"
EQUAL = "=="
EscapeSequence = /\\(?:u005c)?[btnfr"'\\]|\\u(?:[0-3]?[0-7])?[0-7]|\\u[0-9a-fA-F]{4}/
ExponentPart = /[eE][+-]?\d+/

Fragment rules

EXPORTS = "exports"
EXTENDS = "extends"
FINAL = "final"
FINALLY = "finally"
FLOAT = "float"
FLOAT_LITERAL = /((\d+\.\d*|\.\d+)([eE][+-]?\d+)?|[+-]?\d+[eE][+-]?\d+)[fFdD]?/
FOR = "for"
GE = ">="
GOTO = "goto"
GT = ">"
HEX_FLOAT_LITERAL = /0[xX]([0-9a-fA-F]+(\.[0-9a-fA-F]*)?|\.[0-9a-fA-F]+)[pP][+-]?\d+[fFdD]?/
HEX_LITERAL = /0[xX][0-9a-fA-F]([0-9a-fA-F_]*[0-9a-fA-F])?[lL]?/
HexDigit = /[0-9a-fA-F]/
HexDigits = /[0-9a-fA-F]([_0-9a-fA-F]*[0-9a-fA-F])?/
IDENTIFIER = /[a-zA-Z$_][a-zA-Z\d$_]*/

Identifiers

IF = "if"
IMPLEMENTS = "implements"
IMPORT = "import"
INC = "++"
INSTANCEOF = "instanceof"
INT = "int"
INTERFACE = "interface"
LBRACE = "{"
LBRACK = "["
LE = "<="
Letter = /[a-zA-Z$_]|[^[:ascii:]]/
LetterOrDigit = /[a-zA-Z\d$_]/
LINE_COMMENT = /\/\/[^\r\n]*/
LONG = "long"
LPAREN = "("

Separators

LSHIFT_ASSIGN = "<<="
LT = "<"
MOD = "%"
MOD_ASSIGN = "%="
MODULE = "module"

Module related keywords

MUL = "*"
MUL_ASSIGN = "*="
NATIVE = "native"
NEW = "new"
NON_SEALED = "non-sealed"
NOTEQUAL = "!="
NULL_LITERAL = "null"
OCT_LITERAL = /0[0-7]([0-7_]*[0-7])?[lL]?/
OPEN = "open"
OPENS = "opens"
OR = "||"
OR_ASSIGN = "|="
PACKAGE = "package"
PERMITS = "permits"
PRIVATE = "private"
PROTECTED = "protected"
PROVIDES = "provides"
PUBLIC = "public"
QUESTION = "?"
RBRACE = "}"
RBRACK = "]"
RECORD = "record"

Records

REQUIRES = "requires"
RETURN = "return"
RPAREN = ")"
RSHIFT_ASSIGN = ">>="
SEALED = "sealed"

Sealed Classes

SEMI = ";"
SHORT = "short"
STATIC = "static"
STRICTFP = "strictfp"
STRING_LITERAL = /"([^"\\\r\n]|\\["\\bfnrt]|\\u[0-9a-fA-F]{4}|\\[^"\r\n])*"/
SUB = "-"
SUB_ASSIGN = "-="
SUPER = "super"
SWITCH = "switch"
SYNCHRONIZED = "synchronized"
TEXT_BLOCK = /"""\s*(.|\\["\\bfnrt])*?\s*"""/
THIS = "this"
THROW = "throw"
THROWS = "throws"
TILDE = "~"
TO = "to"
TRANSIENT = "transient"
TRANSITIVE = "transitive"
TRY = "try"
URSHIFT_ASSIGN = ">>>="
USES = "uses"
VAR = "var"

Local Variable Type Inference

VOID = "void"
VOLATILE = "volatile"
WHILE = "while"
WITH = "with"
WS = /[ \t\r\n\x0C]+/

Whitespace and comments

XOR_ASSIGN = "^="
YIELD = "yield"

Switch Expressions

Method Summary

Macro Summary

Method Detail

def analysis_endpoints(options : Hash(Symbol, String), techs, logger : NoirLogger) #

[View source]
def analyzer_armeria(options : Hash(Symbol, String)) #

[View source]
def analyzer_crystal_kemal(options : Hash(Symbol, String)) #

[View source]
def analyzer_crystal_lucky(options : Hash(Symbol, String)) #

[View source]
def analyzer_cs_aspnet_mvc(options : Hash(Symbol, String)) #

[View source]
def analyzer_django(options : Hash(Symbol, String)) #

[View source]
def analyzer_elixir_phoenix(options : Hash(Symbol, String)) #

[View source]
def analyzer_example(options : Hash(Symbol, String)) #

[View source]
def analyzer_express(options : Hash(Symbol, String)) #

[View source]
def analyzer_fastapi(options : Hash(Symbol, String)) #

[View source]
def analyzer_flask(options : Hash(Symbol, String)) #

[View source]
def analyzer_go_beego(options : Hash(Symbol, String)) #

[View source]
def analyzer_go_echo(options : Hash(Symbol, String)) #

[View source]
def analyzer_go_fiber(options : Hash(Symbol, String)) #

[View source]
def analyzer_go_gin(options : Hash(Symbol, String)) #

[View source]
def analyzer_har(options : Hash(Symbol, String)) #

[View source]
def analyzer_java_spring(options : Hash(Symbol, String)) #

[View source]
def analyzer_jsp(options : Hash(Symbol, String)) #

[View source]
def analyzer_kotlin_spring(options : Hash(Symbol, String)) #

[View source]
def analyzer_oas2(options : Hash(Symbol, String)) #

[View source]
def analyzer_oas3(options : Hash(Symbol, String)) #

[View source]
def analyzer_php_pure(options : Hash(Symbol, String)) #

[View source]
def analyzer_raml(options : Hash(Symbol, String)) #

[View source]
def analyzer_restify(options : Hash(Symbol, String)) #

[View source]
def analyzer_ruby_hanami(options : Hash(Symbol, String)) #

[View source]
def analyzer_ruby_rails(options : Hash(Symbol, String)) #

[View source]
def analyzer_ruby_sinatra(options : Hash(Symbol, String)) #

[View source]
def analyzer_rust_axum(options : Hash(Symbol, String)) #

[View source]
def analyzer_rust_rocket(options : Hash(Symbol, String)) #

[View source]
def default_options #

[View source]
def detect_techs(base_path : String, options : Hash(Symbol, String), logger : NoirLogger) #

[View source]
def get_relative_path(base_path : String, path : String) #

[View source]
def get_symbol(method : String) #

[View source]
def initialize_analyzers(logger : NoirLogger) #

[View source]
def remove_start_slash(input_path : String) #

[View source]
def str_to_bool(str) #

[View source]
def valid_json?(content : String) : Bool #

[View source]
def valid_yaml?(content : String) : Bool #

[View source]

Macro Detail

macro defind_detectors(detectors) #

[View source]