# This package contains functions and classes related to analysis of
# structural representations of Verilog/SystemVerilog source code.

licenses(["notice"])

default_visibility = [
    "//verilog:__subpackages__",
]

package(
    default_visibility = default_visibility,
)

cc_library(
    name = "default_rules",
    hdrs = ["default_rules.h"],
    deps = [
        "//verilog/analysis/checkers:verilog_lint_rules",
    ],
)

cc_test(
    name = "default_rules_test",
    srcs = ["default_rules_test.cc"],
    deps = [
        ":default_rules",
        ":lint_rule_registry",
        "//verilog/analysis/checkers:verilog_lint_rules",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_library(
    name = "descriptions",
    hdrs = ["descriptions.h"],
    deps = ["@com_google_absl//absl/strings"],
    alwayslink = 1,
)

cc_library(
    name = "extractors",
    srcs = ["extractors.cc"],
    hdrs = ["extractors.h"],
    deps = [
        ":verilog_analyzer",
        "//verilog/CST:identifier",
        "//verilog/CST:module",
        "//verilog/preprocessor:verilog_preprocess",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/strings",
    ],
)

cc_test(
    name = "extractors_test",
    srcs = ["extractors_test.cc"],
    deps = [
        ":extractors",
        "@com_google_absl//absl/strings",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_library(
    name = "json_diagnostics",
    srcs = ["json_diagnostics.cc"],
    hdrs = ["json_diagnostics.h"],
    deps = [
        ":verilog_analyzer",
        "//common/analysis:file_analyzer",
        "//common/strings:line_column_map",
        "@com_google_absl//absl/strings",
        "@jsonhpp",
    ],
)

cc_library(
    name = "flow_tree",
    srcs = ["flow_tree.cc"],
    hdrs = ["flow_tree.h"],
    deps = [
        "//common/text:token_stream_view",
        "//verilog/parser:verilog_token_enum",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/strings",
    ],
)

cc_test(
    name = "flow_tree_test",
    srcs = ["flow_tree_test.cc"],
    deps = [
        ":flow_tree",
        "//verilog/parser:verilog_lexer",
        "//verilog/parser:verilog_token_enum",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/strings",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_library(
    name = "lint_rule_registry",
    srcs = ["lint_rule_registry.cc"],
    hdrs = ["lint_rule_registry.h"],
    deps = [
        ":descriptions",
        "//common/analysis:line_lint_rule",
        "//common/analysis:syntax_tree_lint_rule",
        "//common/analysis:text_structure_lint_rule",
        "//common/analysis:token_stream_lint_rule",
        "//common/strings:compare",
        "//common/util:container_util",
        "//common/util:logging",
        "@com_google_absl//absl/container:node_hash_map",
        "@com_google_absl//absl/strings",
    ],
)

cc_test(
    name = "json_diagnostics_test",
    srcs = ["json_diagnostics_test.cc"],
    deps = [
        ":json_diagnostics",
        ":verilog_analyzer",
        "//common/util:logging",
        "@com_google_absl//absl/strings",
        "@com_google_googletest//:gtest_main",
        "@jsonhpp",
    ],
)

cc_test(
    name = "lint_rule_registry_test",
    srcs = ["lint_rule_registry_test.cc"],
    deps = [
        ":descriptions",
        ":lint_rule_registry",
        "//common/analysis:line_lint_rule",
        "//common/analysis:lint_rule_status",
        "//common/analysis:syntax_tree_lint_rule",
        "//common/analysis:text_structure_lint_rule",
        "//common/analysis:token_stream_lint_rule",
        "//common/text:concrete_syntax_leaf",
        "//common/text:concrete_syntax_tree",
        "//common/text:syntax_tree_context",
        "//common/text:text_structure",
        "//common/text:token_info",
        "@com_google_absl//absl/strings",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_library(
    name = "verilog_analyzer",
    srcs = [
        "verilog_analyzer.cc",
        "verilog_excerpt_parse.cc",
        # paired together because of mutual recursion
    ],
    hdrs = [
        "verilog_analyzer.h",
        "verilog_excerpt_parse.h",
    ],
    deps = [
        "//common/analysis:file_analyzer",
        "//common/lexer:token_stream_adapter",
        "//common/strings:comment_utils",
        "//common/strings:mem_block",
        "//common/text:concrete_syntax_leaf",
        "//common/text:concrete_syntax_tree",
        "//common/text:symbol",
        "//common/text:text_structure",
        "//common/text:token_info",
        "//common/text:token_stream_view",
        "//common/text:visitors",
        "//common/util:container_util",
        "//common/util:logging",
        "//common/util:status_macros",
        "//verilog/parser:verilog_lexer",
        "//verilog/parser:verilog_lexical_context",
        "//verilog/parser:verilog_parser",
        "//verilog/parser:verilog_token_classifications",
        "//verilog/parser:verilog_token_enum",
        "//verilog/preprocessor:verilog_preprocess",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/strings",
    ],
)

cc_library(
    name = "verilog_equivalence",
    srcs = ["verilog_equivalence.cc"],
    hdrs = ["verilog_equivalence.h"],
    deps = [
        "//common/lexer:token_stream_adapter",
        "//common/text:token_info",
        "//common/text:token_stream_view",
        "//common/util:enum_flags",
        "//common/util:logging",
        "//verilog/parser:verilog_lexer",
        "//verilog/parser:verilog_parser",
        "//verilog/parser:verilog_token_classifications",
        "//verilog/parser:verilog_token_enum",
        "@com_google_absl//absl/strings",
    ],
)

cc_library(
    name = "verilog_linter_configuration",
    srcs = ["verilog_linter_configuration.cc"],
    hdrs = ["verilog_linter_configuration.h"],
    deps = [
        ":default_rules",
        ":lint_rule_registry",
        "//common/analysis:line_lint_rule",
        "//common/analysis:syntax_tree_lint_rule",
        "//common/analysis:text_structure_lint_rule",
        "//common/analysis:token_stream_lint_rule",
        "//common/util:container_util",
        "//common/util:enum_flags",
        "//common/util:file_util",
        "//common/util:logging",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
    ],
)

cc_library(
    name = "verilog_linter_constants",
    hdrs = ["verilog_linter_constants.h"],
)

cc_library(
    name = "verilog_linter",
    srcs = ["verilog_linter.cc"],
    hdrs = ["verilog_linter.h"],
    deps = [
        ":default_rules",
        ":lint_rule_registry",
        ":verilog_analyzer",
        ":verilog_linter_configuration",
        ":verilog_linter_constants",
        "//common/analysis:line_lint_rule",
        "//common/analysis:line_linter",
        "//common/analysis:lint_rule_status",
        "//common/analysis:lint_waiver",
        "//common/analysis:syntax_tree_lint_rule",
        "//common/analysis:syntax_tree_linter",
        "//common/analysis:text_structure_lint_rule",
        "//common/analysis:text_structure_linter",
        "//common/analysis:token_stream_lint_rule",
        "//common/analysis:token_stream_linter",
        "//common/analysis:violation_handler",
        "//common/strings:line_column_map",
        "//common/text:concrete_syntax_tree",
        "//common/text:text_structure",
        "//common/text:token_info",
        "//common/util:file_util",
        "//common/util:logging",
        "//verilog/parser:verilog_token_classifications",
        "//verilog/parser:verilog_token_enum",
        "@com_google_absl//absl/flags:flag",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
    ],
)

cc_test(
    name = "verilog_analyzer_test",
    srcs = ["verilog_analyzer_test.cc"],
    deps = [
        ":verilog_analyzer",
        "//common/analysis:file_analyzer",
        "//common/strings:display_utils",
        "//common/text:concrete_syntax_leaf",
        "//common/text:concrete_syntax_tree",
        "//common/text:constants",
        "//common/text:symbol",
        "//common/text:text_structure",
        "//common/text:token_info",
        "//common/text:token_info_test_util",
        "//common/text:token_stream_view",
        "//common/text:tree_utils",
        "//common/util:casts",
        "//common/util:logging",
        "//verilog/parser:verilog_parser",
        "//verilog/parser:verilog_token_enum",
        "@com_google_absl//absl/base",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/types:span",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_test(
    name = "verilog_linter_configuration_test",
    srcs = ["verilog_linter_configuration_test.cc"],
    deps = [
        ":default_rules",
        ":descriptions",
        ":lint_rule_registry",
        ":verilog_linter",
        ":verilog_linter_configuration",
        "//common/analysis:line_lint_rule",
        "//common/analysis:lint_rule_status",
        "//common/analysis:syntax_tree_lint_rule",
        "//common/analysis:text_structure_lint_rule",
        "//common/analysis:token_stream_lint_rule",
        "//common/strings:line_column_map",
        "//common/text:concrete_syntax_leaf",
        "//common/text:concrete_syntax_tree",
        "//common/text:syntax_tree_context",
        "//common/text:text_structure",
        "//common/text:token_info",
        "//common/text:tree_builder_test_util",
        "@com_google_absl//absl/strings",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_test(
    name = "verilog_linter_test",
    srcs = ["verilog_linter_test.cc"],
    deps = [
        ":default_rules",
        ":verilog_analyzer",
        ":verilog_linter",
        ":verilog_linter_configuration",
        "//common/analysis:violation_handler",
        "//common/util:file_util",
        "//common/util:logging",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_test(
    name = "verilog_equivalence_test",
    srcs = ["verilog_equivalence_test.cc"],
    deps = [
        ":verilog_equivalence",
        "//common/text:token_info",
        "//common/util:logging",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/types:span",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_library(
    name = "verilog_filelist",
    srcs = ["verilog_filelist.cc"],
    hdrs = ["verilog_filelist.h"],
    deps = [
        "//common/util:file_util",
        "//common/util:iterator_range",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
    ],
)

cc_test(
    name = "verilog_filelist_test",
    srcs = ["verilog_filelist_test.cc"],
    deps = [
        ":verilog_filelist",
        "//common/util:file_util",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_library(
    name = "verilog_project",
    srcs = ["verilog_project.cc"],
    hdrs = ["verilog_project.h"],
    deps = [
        ":verilog_analyzer",
        ":verilog_filelist",
        "//common/strings:mem_block",
        "//common/strings:string_memory_map",
        "//common/text:text_structure",
        "//common/util:file_util",
        "//common/util:logging",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/time",
        "@com_google_absl//absl/types:optional",
    ],
)

cc_test(
    name = "verilog_project_test",
    srcs = ["verilog_project_test.cc"],
    deps = [
        ":verilog_project",
        "//common/text:text_structure",
        "//common/util:file_util",
        "//common/util:logging",
        "//common/util:range",
        "//verilog/CST:module",
        "@com_google_absl//absl/strings",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_library(
    name = "symbol_table",
    srcs = ["symbol_table.cc"],
    hdrs = ["symbol_table.h"],
    deps = [
        ":verilog_project",
        "//common/strings:compare",
        "//common/strings:display_utils",
        "//common/text:concrete_syntax_leaf",
        "//common/text:concrete_syntax_tree",
        "//common/text:symbol",
        "//common/text:token_info",
        "//common/text:tree_context_visitor",
        "//common/text:tree_utils",
        "//common/text:visitors",
        "//common/util:enum_flags",
        "//common/util:logging",
        "//common/util:map_tree",
        "//common/util:spacer",
        "//common/util:tree_operations",
        "//common/util:value_saver",
        "//common/util:vector_tree",
        "//verilog/CST:class",
        "//verilog/CST:declaration",
        "//verilog/CST:functions",
        "//verilog/CST:macro",
        "//verilog/CST:module",
        "//verilog/CST:net",
        "//verilog/CST:package",
        "//verilog/CST:parameters",
        "//verilog/CST:port",
        "//verilog/CST:seq_block",
        "//verilog/CST:statement",
        "//verilog/CST:tasks",
        "//verilog/CST:type",
        "//verilog/CST:verilog_nonterminals",
        "//verilog/parser:verilog_parser",
        "//verilog/parser:verilog_token_enum",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
    ],
)

cc_test(
    name = "symbol_table_test",
    srcs = ["symbol_table_test.cc"],
    deps = [
        ":symbol_table",
        ":verilog_project",
        "//common/text:symbol",
        "//common/text:tree_utils",
        "//common/util:file_util",
        "//common/util:logging",
        "//common/util:range",
        "//common/util:tree_operations",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/strings",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_library(
    name = "dependencies",
    srcs = ["dependencies.cc"],
    hdrs = ["dependencies.h"],
    deps = [
        ":symbol_table",
        ":verilog_project",
        "//common/strings:compare",
        "//common/strings:display_utils",
        "//common/util:logging",
        "@com_google_absl//absl/strings",
    ],
)

cc_test(
    name = "dependencies_test",
    srcs = ["dependencies_test.cc"],
    deps = [
        ":dependencies",
        "//common/util:file_util",
        "@com_google_absl//absl/status",
        "@com_google_googletest//:gtest_main",
    ],
)
