From 9b122de8bf290a30c98832b93a1129bc832e7519 Mon Sep 17 00:00:00 2001 From: Vadym Slizov Date: Tue, 1 Dec 2020 11:58:09 +0200 Subject: [PATCH] [refactoring] update ast structure of "Eval", "Exit", "FunctionCall", "Include" and "IncludeOnce" nodes --- internal/php5/php5.go | Bin 278207 -> 278293 bytes internal/php5/php5.y | 148 +++++++++++++++++----------------- internal/php7/php7.go | Bin 229440 -> 229039 bytes internal/php7/php7.y | 98 +++++++++++----------- pkg/ast/node.go | 23 ++++-- pkg/ast/traverser/dfs.go | 10 ++- pkg/ast/visitor/dump.go | 5 -- pkg/printer/pretty_printer.go | 8 +- pkg/printer/printer.go | 10 +-- 9 files changed, 151 insertions(+), 151 deletions(-) diff --git a/internal/php5/php5.go b/internal/php5/php5.go index f22f3388817b3244709fc02c5000a8c71a482f22..9b23a936fa097a36e46c7c6eacf87e3e1bfc6081 100644 GIT binary patch delta 9941 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 yB~gF-v?UV1v*SfwV-HNA`o~gUu73m7t$|tq delta 7854 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