Files
saselang-bible/examples/033-imports-et-resolution-des-noms-examples.md
2026-09-12 18:12:13 +02:00

100 lines
1.4 KiB
Markdown

# Exemples / DO-DON'T — Chapitre 33 — Imports et résolution des noms
> Document compagnon. Les exemples illustrent les règles du chapitre ; la formulation normative reste dans le chapitre lui-même.
## Exemples extraits du chapitre
### Exemple 1
```text
import type saselang.compiler.lexer.Token;
import func saselang.compiler.lexer.tokenize;
import const saselang.compiler.config.MaxDepth;
import var saselang.runtime.state.CurrentMode;
```
### Exemple 2
```text
class
struct
enum
interface
union
```
### Exemple 3
```text
import type foo.Token;
```
### Exemple 4
```text
import type foo.Token as FooToken;
```
### Exemple 5
```text
src/foo/A.saseltype
src/foo/B.saseltype
```
### Exemple 6
```text
import type foo.A;
```
### Exemple 7
```text
namespace foo;
```
### Exemple 8
```text
charger le fichier immédiatement
exécuter le fichier
initialiser le fichier
compiler ce fichier avant le fichier courant
```
### Exemple 9
```text
A imports B
B imports A
```
### Exemple 10
```text
A imports B
B imports C
C imports A
```
### Exemple 11
```text
cycle de références de classes
autorisé
cycle d'appels
autorisé
cycle d'héritage
ERROR
cycle de layout by-value
ERROR
```
## DO / DON'T / WHY / compiler error / edge cases
À consolider progressivement avant la baseline publique V3 et à transformer, lorsque pertinent, en tests de conformité de la toolchain.