mirror of
https://github.com/GayPizzaSpecifications/pork.git
synced 2025-08-03 21:21:33 +00:00
language: prepare for struct support
This commit is contained in:
@ -414,8 +414,8 @@ class EvaluationVisitor(root: Scope, val stack: CallStack) : NodeVisitor<Any> {
|
||||
topLevelUsedError("CompilationUnit", "CompilationUnitContext")
|
||||
}
|
||||
|
||||
override fun visitNative(node: Native): Any {
|
||||
topLevelUsedError("Native", "FunctionContext")
|
||||
override fun visitNativeFunctionDescriptor(node: NativeFunctionDescriptor): Any {
|
||||
topLevelUsedError("NativeFunctionDescriptor", "FunctionContext")
|
||||
}
|
||||
|
||||
override fun visitNoneLiteral(node: NoneLiteral): Any = None
|
||||
|
@ -5,10 +5,10 @@ import gay.pizza.pork.ast.gen.FunctionDefinition
|
||||
class FunctionContext(val compilationUnitContext: CompilationUnitContext, val node: FunctionDefinition) : CallableFunction {
|
||||
val name: String = "${compilationUnitContext.name} ${node.symbol.id}"
|
||||
|
||||
private fun resolveMaybeNative(): CallableFunction? = if (node.native == null) {
|
||||
private fun resolveMaybeNative(): CallableFunction? = if (node.nativeFunctionDescriptor == null) {
|
||||
null
|
||||
} else {
|
||||
val native = node.native!!
|
||||
val native = node.nativeFunctionDescriptor!!
|
||||
val nativeFunctionProvider =
|
||||
compilationUnitContext.evaluator.nativeFunctionProvider(native.form.id)
|
||||
nativeFunctionProvider.provideNativeFunction(native.definitions.map { it.text }, node.arguments, compilationUnitContext)
|
||||
|
Reference in New Issue
Block a user