1.4 KiB
1.4 KiB
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
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
class
struct
enum
interface
union
Exemple 3
import type foo.Token;
Exemple 4
import type foo.Token as FooToken;
Exemple 5
src/foo/A.saseltype
src/foo/B.saseltype
Exemple 6
import type foo.A;
Exemple 7
namespace foo;
Exemple 8
charger le fichier immédiatement
exécuter le fichier
initialiser le fichier
compiler ce fichier avant le fichier courant
Exemple 9
A imports B
B imports A
Exemple 10
A imports B
B imports C
C imports A
Exemple 11
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.