Skip to content

Commit

Permalink
move AWST validation step to puya core
Browse files Browse the repository at this point in the history
  • Loading branch information
achidlow committed Sep 3, 2024
1 parent 5193cf4 commit cd4f30a
Show file tree
Hide file tree
Showing 10 changed files with 10 additions and 9 deletions.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from collections.abc import Iterator

import attrs

from puya import log
from puya.awst import (
nodes as awst_nodes,
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
from puya.awst import nodes as awst_nodes

from puyapy.awst_build.validation.arc4_copy import ARC4CopyValidator
from puyapy.awst_build.validation.base_invoker import BaseInvokerValidator
from puyapy.awst_build.validation.inner_transactions import (
from puya.awst.validation.arc4_copy import ARC4CopyValidator
from puya.awst.validation.base_invoker import BaseInvokerValidator
from puya.awst.validation.inner_transactions import (
InnerTransactionsValidator,
InnerTransactionUsedInALoopValidator,
StaleInnerTransactionsValidator,
)
from puyapy.awst_build.validation.labels import LabelsValidator
from puyapy.awst_build.validation.scratch_slots import ScratchSlotReservationValidator
from puyapy.awst_build.validation.storage import StorageTypesValidator
from puya.awst.validation.labels import LabelsValidator
from puya.awst.validation.scratch_slots import ScratchSlotReservationValidator
from puya.awst.validation.storage import StorageTypesValidator


def validate_awst(module: awst_nodes.AWST) -> None:
Expand Down
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions src/puya/compile.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from puya.arc32 import create_arc32_json
from puya.artifact_sorter import ArtifactCompilationSorter
from puya.awst.nodes import AWST
from puya.awst.validation.main import validate_awst
from puya.context import CompileContext
from puya.errors import CodeError, InternalError
from puya.ir.main import awst_to_ir, optimize_and_destructure_ir
Expand Down Expand Up @@ -52,6 +53,8 @@ def awst_to_teal(
*,
write: bool = True,
) -> list[CompilationArtifact]:
validate_awst(awst)
log_ctx.exit_if_errors()
context = CompileContext(
options=options,
compilation_set=compilation_set,
Expand Down
2 changes: 0 additions & 2 deletions src/puyapy/awst_build/module.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
get_decorators_by_fullname,
get_unaliased_fullname,
)
from puyapy.awst_build.validation.main import validate_awst

logger = log.get_logger(__name__)

Expand Down Expand Up @@ -67,7 +66,6 @@ def convert(self) -> AWST:
for deferred in deferrals:
awst_node = deferred(self.context)
awst.append(awst_node)
validate_awst(awst) # TODO: move/split this to/with puya core
return awst

# Supported Statements
Expand Down

0 comments on commit cd4f30a

Please sign in to comment.