Skip to content

Commit 454e863

Browse files
committed
Use builtin types in type assignment
1 parent 03fbb90 commit 454e863

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

Lang/src/main/java/chipmunk/compiler/parser/parselets/LiteralParselet.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import chipmunk.compiler.ast.AstNode;
2626
import chipmunk.compiler.lexer.TokenType;
2727
import chipmunk.compiler.parser.ExpressionParser;
28+
import chipmunk.compiler.types.BuiltinTypes;
2829
import chipmunk.compiler.types.ObjectType;
2930

3031
public class LiteralParselet implements PrefixParselet {
@@ -33,10 +34,10 @@ public class LiteralParselet implements PrefixParselet {
3334
public AstNode parse(ExpressionParser parser, Token token) {
3435
var node = new AstNode(NodeType.LITERAL, token);
3536
switch (token.type()){
36-
case BINARYLITERAL, OCTLITERAL, HEXLITERAL, INTLITERAL -> node.setResultType(ObjectType.primitive("int"));
37-
case FLOATLITERAL -> node.setResultType(ObjectType.primitive("float"));
38-
case BOOLLITERAL -> node.setResultType(ObjectType.primitive("boolean"));
39-
case STRINGLITERAL -> node.setResultType(ObjectType.classBased("string"));
37+
case BINARYLITERAL, OCTLITERAL, HEXLITERAL, INTLITERAL -> node.setResultType(BuiltinTypes.INTEGER);
38+
case FLOATLITERAL -> node.setResultType(BuiltinTypes.FLOAT);
39+
case BOOLLITERAL -> node.setResultType(BuiltinTypes.BOOLEAN);
40+
case STRINGLITERAL -> node.setResultType(BuiltinTypes.STRING);
4041
}
4142
return node;
4243
}

0 commit comments

Comments
 (0)