22 lines
676 B
Python
22 lines
676 B
Python
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
|
|
|
from bu4.indexing.constructs.icall import ICall
|
|
from bu4.indexing.constructs.indexed import Indexed
|
|
from bu4.parsing.codes import CODE_CALL
|
|
from bu4.parsing.extensions.CodeExtension import CodeExtension
|
|
from bu4.transform.states.transformstate import TransformState
|
|
|
|
__all__ = ('XICall',)
|
|
|
|
|
|
class XICall(CodeExtension[Indexed], code=CODE_CALL):
|
|
def apply(self) -> TransformState[Indexed]:
|
|
return self.readlambda(
|
|
lambda argument: self.readlambdafinished(
|
|
lambda lambda_: ICall(
|
|
argument,
|
|
lambda_
|
|
)
|
|
)
|
|
)
|