Verified Commit bd0f965e authored by Michael Usachenko's avatar Michael Usachenko Committed by GitLab
Browse files

feat(code-graph): graph-native operations, batched resolve, DSL ergonomics

parent 94c83abf
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -8040,6 +8040,7 @@ dependencies = [
 "internment",
 "once_cell",
 "pastey",
 "regex",
 "ruby-prism",
 "rust-lapper",
 "rustc-hash",
+0 −6
Original line number Diff line number Diff line
@@ -44,7 +44,6 @@ labkit = { git = "https://gitlab.com/gitlab-org/rust/labkit-rs.git", rev = "594f
arrow = "58.0.0"
enum-as-inner = "0.7.0"
datafusion = { version = "53.0.0", default-features = false, features = ["sql", "nested_expressions"] }
ulid = "1.1"
clap = { version = "4.5.57", features = ["derive", "env"] }
dirs = "6"
dunce = "1.0.5"
@@ -85,7 +84,6 @@ tokio-util = { version = "0.7.18", features = ["io-util"] }
tokio-rayon = "2.1.0"
ignore = "0.4.25"
rayon = "1.11.0"
miette = { version = "7.6.0", features = ["fancy"] }
walkdir = "2.5.0"
criterion = { version = "0.8.1", features = ["html_reports"] }
tracing-test = "0.2.5"
@@ -128,9 +126,6 @@ lance-graph = { version = "0.5.4", default-features = false }
rcgen = { version = "0.14.7", default-features = false, features = ["aws_lc_rs", "pem"] }
regex = "1.12.2"
sqlparser = { version = "0.61.0", features = ["visitor"] }
hex = "0.4.3"
hmac = "0.13.0"
hyper-util = { version = "0.1", features = ["client", "tokio"] }
prost = "0.14.3"
prost-build = "0.14.3"
prost-types = "0.14.3"
@@ -148,7 +143,6 @@ moka = { version = "0.12", features = ["future"] }
# Server dependencies
axum = { version = "0.8.8", features = ["macros"] }
jsonwebtoken = { version = "10.2.0", features = ["rust_crypto"] }
tower-http = { version = "0.6.8", features = ["trace"] }
rust-embed = { version = "8.11.0", features = ["interpolate-folder-path", "debug-embed"] }

# Health check dependencies
+247 −238

File changed.

Preview size limit exceeded, changes collapsed.

+231 −199

File changed.

Preview size limit exceeded, changes collapsed.

+18 −11
Original line number Diff line number Diff line
@@ -90,7 +90,7 @@ pub struct ResolutionRules {
    pub receiver: ReceiverMode,
    pub fqn_separator: &'static str,

    /// SSA variable names the walker writes as `Value::Type(class_fqn)`
    /// SSA variable names the walker writes as `Value::Type(scope_fqn)`
    /// when entering a class scope. e.g. `&["this", "self"]` for Java,
    /// `&["self"]` for Python.
    pub self_names: &'static [&'static str],
@@ -155,16 +155,23 @@ impl ResolutionRules {
        use std::collections::HashSet;

        let mut seen = HashSet::new();
        spec.scopes
            .iter()
            .filter(|s| s.creates_scope)
            .filter(|s| seen.insert(s.kind()))
            .map(|s| IsolatedScopeRule {
                node_kind: s.kind(),
                is_type_scope: s.get_def_kind().is_type_container(),
        let mut result = Vec::new();
        for s in &spec.scopes {
            if !s.creates_scope {
                continue;
            }
            let is_type_scope = s.get_def_kind().is_type_container();
            for &kind in s.kinds() {
                if seen.insert(kind) {
                    result.push(IsolatedScopeRule {
                        node_kind: kind,
                        is_type_scope,
                        name_field: "name",
            })
            .collect()
                    });
                }
            }
        }
        result
    }
}

Loading