Analyzer::Dart::Serverpod
Inherits Analyzer < FileHelper < Reference < Object
Serverpod is an RPC-style backend framework. Server endpoints are
Dart classes that extend Endpoint (or StreamingEndpoint); each
public method takes a Session as its first parameter and is
exposed to clients as a callable RPC. The class name's Endpoint
suffix is dropped and the first character is lowercased to derive
the endpoint name (OrderEndpoint → order).
Serverpod dispatches every call as a POST to /<endpointName>
with the method name and arguments encoded in the body. We surface
each method as POST /<endpointName>/<methodName> so individual
RPCs are visible in the output, with the non-Session arguments
reported as JSON body params.
Constants
Serverpod's argument lists carry Dart generics (Future<List<Foo>>) and
call expressions, and nothing else nests: this splitter sees method
signatures, never string literals, so quote handling stays off.
Nest::Paren | Nest::Angle with per_kind: false is the whole of the
old body's depth model — one counter incremented by < and ( alike
and decremented by > and ), with [] and {} inert. Those are two
orthogonal choices in Rules (nest picks which characters count,
per_kind picks how many counters exist), which is why this reads as a
plain preset despite earlier surveys in this series calling the
combination inexpressible.
Method.<verb> constants accepted by Route's methods: set.
Class methods
Instance methods
Instance-side view of the same declaration. The per-file rescues live on
this base class, which has no way to name the analyzer that is running
inside them, so a skipped file could not be attributed to a tech.
Deriving it from analyzer_for keeps the name written exactly once.