Skip to content
This repository was archived by the owner on Nov 5, 2024. It is now read-only.

Latest commit

 

History

History
1134 lines (592 loc) · 9.4 KB

File metadata and controls

1134 lines (592 loc) · 9.4 KB

FractionAfterNumeric

Emitted for code

1.2.3

Fields:

NoDigitsAfterDot

Emitted for code like

foo.2

Fields:

UnknownTypeOfPercentString

Emitted for code like

%k[foo]

Fields:

NumericLiteralWithoutDigits

Emitted for code like

0b

Fields:

UnterminatedList

Emitted for code like

%w[foo bar

Fields:

UnterminatedRegexp

Emitted for code like

/foo

Fields:

UnterminatedString

Emitted for code like

"foo

Fields:

UnterminatedQuotedString

Emitted for code like

%s
//    ^ EOF, not "

Fields:

InvalidUnicodeEscape

Emitted for code like

"\ufoo"

Fields:

TooLargeUnicodeCodepoint

Emitted for code like

"\u{999999}"

Fields:

InvalidUnicodeCodepoint

Emitted for code like

"\u{d800}"

Fields:

MultipleCodepointAtSingleChar

Emitted for code like

?\u{41 42}

Fields:

InvalidEscapeCharacter

Emitted for code like

"\M-�"

Fields:

InvalidHexEscape

Emitted for code like

"\xZZ"

Fields:

UnterminatedHeredoc

Emitted for code like

<<-HERE

Fields:

  1. heredoc_id (Str)

    Heredoc identifier

UnterminatedHeredocId

Emitted for code like

<<-"HERE

Fields:

SlashRAtMiddleOfLine

Emitted for code like

eval("foo \r = 42")

Fields:

DStarInterpretedAsArgPrefix

Emitted for code like (only in $VERBOSE mode)

foo **arg

Fields:

StarInterpretedAsArgPrefix

Emitted for code like (only in $VERBOSE mode)

foo *arg

Fields:

AmpersandInterpretedAsArgPrefix

Emitted for code like (only in $VERBOSE mode)

foo &arg

Fields:

TripleDotAtEol

Emitted for code like

range = 1...

Fields:

ParenthesesIterpretedAsArglist

Emitted for code like (only in $VERBOSE mode)

def m (a, b, c); end

Fields:

AmbiguousFirstArgument

Emitted for code like (only in $VERBOSE mode)

m +foo

Fields:

  1. operator (Byte)

    Operator that is ambiguous

AmbiguousOperator

Emitted for code like (only in $VERBOSE mode)

1 *2

Fields:

  1. operator (Str)

    Operator that is ambiguous

  2. interpreted_as (Str)

    Interpretation of this operator

InvalidCharacterSyntax

Emitted for code like

"\M- "

Fields:

  1. suggestion (Str)

    Valid syntax sugestions

InvalidOctalDigit

Emitted for code like

09

Fields:

TrailingCharInNumber

Emitted for code like

0_a

Fields:

  1. c (Byte)

    Invalid trailing char

EmbeddedDocumentMeetsEof

Emitted for code like

=begin

Fields:

InvalidChar

Emitted for code like

eval("\x01foo")

Fields:

  1. c (Byte)

    char

IncompleteCharacterSyntax

It is unknown how to trigger this error. Code that triggers it in MRI can be dead.

Fields:

GvarWithoutId

Emitted for code like

$

Fields:

InvalidGvarName

Emitted for code like

$@

Fields:

  1. c (Byte)

    char after $

IvarWithoutId

Emitted for code like

@

Fields:

InvalidIvarName

Emitted for code like

@1

Fields:

  1. c (Byte)

    char after @

CvarWithoutId

Emitted for code like

@@

Fields:

InvalidCvarName

Emitted for code like

@@1

Fields:

  1. c (Byte)

    char after @@

UnknownRegexOptions

Emitted for code like

/re/foo

Fields:

  1. options (Str)

    Concatenated unknown options

UnterminatedUnicodeEscape

Emitted for code like

"\u{1234"

Fields:

EncodingError

Emitted for code like

# encoding: foo

Fields:

  1. error (Str)

    Error from decoder

InvalidMultibyteChar

Emitter for code like

eval("\xFF = 42")

Fields:

AmbiguousTernaryOperator

Emitted for code like

a ?AA : 2

Fields:

  1. condition (Str)

    Source of the condition expression

AmbiguousRegexp

Emitted for code like

m /foo/

Fields:

ElseWithoutRescue

Emitted for code like

begin; else; end

Fields:

BeginNotAtTopLevel

Emitted for code like

def f; BEGIN{}; end

Fields:

AliasNthRef

Emitted for code like

alias $a $1

Fields:

CsendInsideMasgn

Emitted for code like

*a&.x = 0

Fields:

ClassOrModuleNameMustBeConstant

Emitted for code like

module foo; end

Fields:

EndlessSetterDefinition

Emitted for code like

def foo=() = 42

Fields:

UnexpectedToken

Emitted for any code that produces invalid sequence of tokens

Fields:

  1. token_name (Str)

    Name of the token

ClassDefinitionInMethodBody

Emitted for code like

def a; class Foo; end; end

Fields:

ModuleDefinitionInMethodBody

Emitted for code like

def a; module Foo; end; end

Fields:

InvalidReturnInClassOrModuleBody

Emitted for code like

class A; return; end

Fields:

ConstArgument

Emitted for code like

def foo(Abc); end

Fields:

IvarArgument

Emitted for code like

def foo(@abc); end

Fields:

GvarArgument

Emitted for code like

def foo($abc); end

Fields:

CvarArgument

Emitted for code like

def foo(@@abc); end

Fields:

NoSuchLocalVariable

Emitted for code like

case 0; in ^a; true; end

Fields:

  1. var_name (Str)

    Variable name

OrdinaryParamDefined

Emitted for code like

m { |a| _1 }

Fields:

NumparamUsed

Emitted for code like

foo { _1; bar { _2 }; }

Fields:

TokAtEolWithoutExpression

Emitted for code like (only in $VERBOSE mode)

if
42
end

Fields:

  1. token_name (Str)

    Name of the token

InvalidIdToGet

Emitted for code like

{ foo?: }
# or
{ foo!: }

Fields:

  1. identifier (Str)

    Identifier

ForwardArgAfterRestarg

Emitted for code like

def foo *rest, ...
end

Fields:

NoAnonymousBlockarg

Emitted for code like

def foo(); bar(&); end

Fields:

EndInMethod

Emitted for code like

def m; END {}; end

Fields:

ComparisonAfterComparison

Emitted for code like (only in $VERBOSE mode)

a < b < c

Fields:

  1. comparison (Str)

    Source of the first comparison

DuplicateHashKey

Emitted for code like

{ 42 => value, 42 => another_value }

Fields:

CircularArgumentReference

Emitted for code like

def m(foo = foo) end

Fields:

  1. arg_name (Str)

    Name of the argument

DynamicConstantAssignment

Emitted for code like

def m; FOO = 1; end

Fields:

CantAssignToSelf

Emitted for code like

self = foo

Fields:

CantAssignToNil

Emitted for code like

nil = foo

Fields:

CantAssignToTrue

Emitted for code like

true = foo

Fields:

CantAssignToFalse

Emitted for code like

false = foo

Fields:

CantAssignToFile

Emitted for code like

__FILE__ = foo

Fields:

CantAssignToLine

Emitted for code like

__LINE__ = foo

Fields:

CantAssignToEncoding

Emitted for code like

__ENCODING__ = foo

Fields:

CantAssignToNumparam

Emitted for code like

proc {_1; _1 = nil}

Fields:

  1. numparam (Str)

    Source of the numbered parameter

CantSetVariable

Emitted for code like

$1 = foo

Fields:

  1. var_name (Str)

    Source of the read-only variable that is assigned

BlockGivenToYield

Emitted for code like

yield(&foo)

Fields:

BlockAndBlockArgGiven

Emitted for code like

fun(&bar) do end

Fields:

SymbolLiteralWithInterpolation

Emitted for code like

case a; in "#{a}": 1; end

Fields:

ReservedForNumparam

Emitted for code like

_1 = 1

Fields:

  1. numparam (Str)

    Numbered parameter that is treated as a local variable

KeyMustBeValidAsLocalVariable

Emitted for code like

case a; in a?:; end

Fields:

DuplicateVariableName

Emitted for code like

case 0; in a, a; end

Fields:

DuplicateKeyName

Emitted for code like

case 0; in a: 1, a: 2; end

Fields:

SingletonLiteral

Emitted for code like

def (1).foo; end

Fields:

NthRefIsTooBig

Emitted for code like (only in $VERBOSE mode)

$100

Fields:

  1. nth_ref (Str)

    Source of the nth_ref that is techincally a regular global variable

DuplicatedArgumentName

Emitted for code like

def foo(aa, aa); end

Fields:

RegexError

Emitted for code like

/[/

Fields:

  1. error (Str)

    Error from Onigurama engine

InvalidSymbol

Emitted for code like

%I"x .\xc3."

Fields:

  1. symbol (Str)

    Source of the symbol

VoidValueExpression

Emitted for code like

a = return

Fields: