Skip to content

<NUMBERDECIMAL> uses long, <NUMBERINTEGER> uses double #2

@eduarddrenth

Description

@eduarddrenth

Parser does this:

(
    t = <NUMBER_DECIMAL>
    { 
        if(nativeNumbers) {
            return new Long(t.image);
        } else {
            return new BigDecimal(t.image); 
        }
    }
) | (
    t = <NUMBER_INTEGER>
    { 
        if(nativeNumbers) {
            return new Double(t.image);
        } else {
            return new BigInteger(substringBefore(t.image, '.')); 
        }
    }

I think it should be:

(
    t = <NUMBER_DECIMAL>
    { 
        if(nativeNumbers) {
            return new Double(t.image);
        } else {
            return new BigDecimal(t.image); 
        }
    }
) | (
    t = <NUMBER_INTEGER>
    { 
        if(nativeNumbers) {
            return new Long(t.image);
        } else {
            return new BigInteger(substringBefore(t.image, '.')); 
        }
    }
)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions