diff options
Diffstat (limited to 'src')
4 files changed, 4 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java b/src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java index db757ce..8d28d7f 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java @@ -35,6 +35,7 @@ public class HobgoblinCompiler { var typeCheckerContext = TypeCheckerGlobalContext.initial(); typeCheckerContext.addNativeType(NativeTypes.INT_32); + typeCheckerContext.addNativeType(NativeTypes.INT_64); typeCheckerContext.addNativeType(NativeTypes.STRING); typeCheckerContext.addNativeTypeConstructor(NativeTypes.LIST); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/builtins/NativeTypes.java b/src/main/java/org/zwobble/hobgoblin/compiler/builtins/NativeTypes.java index e3a665b..1ce8e0e 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/builtins/NativeTypes.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/builtins/NativeTypes.java @@ -8,6 +8,7 @@ import java.util.List; public class NativeTypes { public static SimpleNativeType INT_32 = SimpleNativeType.builtin("Int32"); + public static SimpleNativeType INT_64 = SimpleNativeType.builtin("Int64"); public static SimpleNativeType STRING = SimpleNativeType.builtin("String"); public static final SimpleNativeType LIST_INNER = SimpleNativeType.builtin("List"); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java index 742ded7..be2fa95 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java @@ -70,6 +70,7 @@ public record JavaGeneratorConfig( private static final Map<SimpleNativeType, JavaNativeTypeConfig> DEFAULT_NATIVE_TYPE_CONFIGS = Map.ofEntries( Map.entry(NativeTypes.INT_32, JavaNativeTypeConfig.primitive(JavaTypeRef.INT, JavaTypeRef.INT_BOXED, new JavaIntegerLiteral(0))), + Map.entry(NativeTypes.INT_64, JavaNativeTypeConfig.primitive(JavaTypeRef.LONG, JavaTypeRef.LONG_BOXED, new JavaIntegerLiteral(0))), Map.entry(NativeTypes.STRING, JavaNativeTypeConfig.of(JavaTypeRef.STRING, new JavaStringLiteral(""))), Map.entry(NativeTypes.LIST_INNER, JavaNativeTypeConfig.of(JavaTypeRef.LIST, new JavaStaticMethodCall(JavaTypeRef.LIST, "of", List.of()))) ); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeRef.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeRef.java index 8f4ea1b..d58d073 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeRef.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeRef.java @@ -35,6 +35,7 @@ public record JavaTypeRef(List<String> packageName, List<String> typeNames, List public static final JavaTypeRef INT = primitive("int"); public static final JavaTypeRef INT_BOXED = topLevel(List.of("java", "lang"), "Integer"); public static final JavaTypeRef LONG = primitive("long"); + public static final JavaTypeRef LONG_BOXED = topLevel(List.of("java", "lang"), "Long"); public static final JavaTypeRef STRING = primitive("String"); public static final JavaTypeRef VOID = primitive("void"); |
