Stdlib index
- Captured-borrow migration worklist (3.3.3)
- Owned-bind migration worklist (8.2.7)
- Return-side title audit — the ride-through enumeration
- stdlib ownership audit
- stdlib ownership dispositions (plan 1.3.1 / 4.3.1)
aot
codec
codec / csv
codec / json
collection
- ArrayList
- BPlusTree
- Cache
- Collectors
- HashMap
- HashSet
- Heap
- ImmutableList
- ImmutableMap
- ImmutableSet
- LinkedList
- RedBlackTree
- Sort
collection / ltm
concurrent
error
- Exception
- NoOptionalValueException
- NotProvidedException
- RecoverableException
- ScopedBuildFailedException
- ScopeNotActiveException
- Throwable
- UnrecoverableException
gfx
hash
ifx
io
io / file
io / net
io / net / dns
io / net / uri
lang
lang / stream
math
math / fft
math / linalg
math / npio
math / poly
math / random
math / stats
nucleo
- Columns — the Arrow-laid-out substrate
- Fused tensor expressions — Fuse
- Table — the lazy, typed dataframe
- Tape — define-by-run autograd
- Transform intrinsics — Grad, Vmap, Jit
process
reflect
search / distance
search / fuzzy
search / ngram
session
time
- Clock
- DateTimeFormatter
- Duration
- Instant
- LocalDate
- LocalDateTime
- LocalTime
- Period
- ZonedDateTime
- ZoneId
- ZoneOffset
wire
xpu
xpu / mesh
Scope
cajeta.aot.Scope publishes a named component lifetime at the code that
bounds it. Components consume it by name with @Component(scope = "Name").
Where it is placed decides the kind of scope:
| Placed on | The scope is | It ends |
|---|---|---|
| a method, or a method it overrides or implements | one activation | on return or throw |
| a class | one instance, current while a non-private instance method runs | when the instance is dropped |
public final class Worker {
@Scope("Job")
public static int32 run(int32 n) {
Progress p = Progress.__cajeta_inject();
p.done = p.done + n;
return p.done;
}
}
@Component(scope = "Job")
public class Progress {
public int32 done;
public Progress() { this.done = 0; return; }
}
Members
| Member | |
|---|---|
String value() | The published name. A consumer qualifies it by package only on a clash |
String within() | A published scope this one is always entered inside, checked on entry |
Rules
- Several methods in one package may publish one name. They must agree on
its kind and its
within. @Scopeon a field, a constructor, a record or an interface type is a compile error. On an interface method it makes every implementation an anchor."Singleton"and"Transient"are built in and cannot be published.