Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

枚举

enum AssignOpKind

public enum AssignOpKind {
    | AddAssign
    | AndAssign
    | Assign
    | BitAndAssign
    | BitOrAssign
    | BitXorAssign
    | DivAssign
    | ExpAssign
    | LShiftAssign
    | ModAssign
    | MulAssign
    | OrAssign
    | RShiftAssign
    | SubAssign
    | ...
}

功能:表示赋值操作符的类型。

AddAssign

AddAssign

功能:表示 += 类型的赋值操作符。

AndAssign

AndAssign

功能:表示 &&= 类型的赋值操作符。

Assign

Assign

功能:表示 = 类型的赋值操作符。

BitAndAssign

BitAndAssign

功能:表示 &= 类型的赋值操作符。

BitOrAssign

BitOrAssign

功能:表示 |= 类型的赋值操作符。

BitXorAssign

BitXorAssign

功能:表示 ^= 类型的赋值操作符。

DivAssign

DivAssign

功能:表示 /= 类型的赋值操作符。

ExpAssign

ExpAssign

功能:表示 **= 类型的赋值操作符。

LShiftAssign

LShiftAssign

功能:表示 <<= 类型的赋值操作符。

ModAssign

ModAssign

功能:表示 %= 类型的赋值操作符。

MulAssign

MulAssign

功能:表示 *= 类型的赋值操作符。

OrAssign

OrAssign

功能:表示 ||= 类型的赋值操作符。

RShiftAssign

RShiftAssign

功能:表示 >>= 类型的赋值操作符。

SubAssign

SubAssign

功能:表示 -= 类型的赋值操作符。

enum AtomicCondition

public enum AtomicCondition {
    | LetPatternCondition(LetPattern)
    | Expression(Expr)
    | ParenConditionConstructor(ParenCondition)
    | ...
}

功能:表示原子类型的条件或 let 声明的解构匹配。

Expression(Expr)

Expression(Expr)

功能:表示式类型的条件。

LetPatternCondition(LetPattern)

LetPatternCondition(LetPattern)

功能:表示 let 声明。

ParenConditionConstructor(ParenCondition)

ParenConditionConstructor(ParenCondition)

功能:表示有括号修饰的条件。

enum AtomicTypeKind

public enum AtomicTypeKind {
    | BoolType
    | Float16Type
    | Float32Type
    | Float64Type
    | Int16Type
    | Int32Type
    | Int64Type
    | Int8Type
    | IntNativeType
    | NothingType
    | RuneType
    | ThisType
    | UInt16Type
    | UInt32Type
    | UInt64Type
    | UInt8Type
    | UIntNativeType
    | UnitType
    | ...
}

功能:表示原子类型的种类。

BoolType

BoolType

功能:表示 Bool 基本类型。

Float16Type

Float16Type

功能:表示 16 位浮点数基本类型。

Float32Type

Float32Type

功能:表示 32 位浮点数基本类型。

Float64Type

Float64Type

功能:表示 64 位浮点数基本类型。

Int16Type

Int16Type

功能:表示 16 位有符号整数基本类型。

Int32Type

Int32Type

功能:表示 32 位有符号整数基本类型。

Int64Type

Int64Type

功能:表示 64 位有符号整数基本类型。

Int8Type

Int8Type

功能:表示 8 位有符号整数基本类型。

IntNativeType

IntNativeType

功能:表示平台原生大小的有符号整数基本类型。

NothingType

NothingType

功能:表示空类型(无值类型)。

RuneType

RuneType

功能:表示 Unicode 字符基本类型。

ThisType

ThisType

功能:表示 this 类型。

UInt16Type

UInt16Type

功能:表示 16 位无符号整数基本类型。

UInt32Type

UInt32Type

功能:表示 32 位无符号整数基本类型。

UInt64Type

UInt64Type

功能:表示 64 位无符号整数基本类型。

UInt8Type

UInt8Type

功能:表示 8 位无符号整数基本类型。

UIntNativeType

UIntNativeType

功能:表示平台原生大小的无符号整数基本类型。

UnitType

UnitType

功能:表示 Unit 类型。

enum AtOpKind

public enum AtOpKind {
    | At
    | AtExcl
    | ...
}

功能:表示注解的操作符类型。

At

At

功能:表示 @ 类型的注解操作符。

AtExcl

AtExcl

功能:表示 @! 类型的注解操作符。

enum BinaryOpKind

public enum BinaryOpKind {
    | Add
    | And
    | BitAnd
    | BitOr
    | BitXor
    | Coalescing
    | Composition
    | Div
    | Equal
    | Exp
    | Ge
    | Gt
    | Le
    | LShift
    | Lt
    | Mod
    | Mul
    | NotEq
    | Or
    | Pipeline
    | RShift
    | Sub
    | ...
}

功能:表示二元表达式的操作符类型。

Add

Add

功能:表示 + 类型的二元操作符。

And

And

功能:表示逻辑与 && 类型的二元操作符。

BitAnd

BitAnd

功能:表示按位与 & 类型的二元操作符。

BitOr

BitOr

功能:表示按位或 | 类型的二元操作符。

BitXor

BitXor

功能:表示按位异或 ^ 类型的二元操作符。

Coalescing

Coalescing

功能:表示空值合并 ?? 类型的二元操作符。

Composition

Composition

功能:表示函数组合 ~> 类型的二元操作符。

Div

Div

功能:表示除法 / 类型的二元操作符。

Equal

Equal

功能:表示相等比较 == 类型的二元操作符。

Exp

Exp

功能:表示指数运算 ** 类型的二元操作符。

Ge

Ge

功能:表示大于等于 >= 类型的二元操作符。

Gt

Gt

功能:表示大于 > 类型的二元操作符。

Le

Le

功能:表示小于等于 <= 类型的二元操作符。

LShift

LShift

功能:表示左移位 << 类型的二元操作符。

Lt

Lt

功能:表示小于 < 类型的二元操作符。

Mod

Mod

功能:表示取模 % 类型的二元操作符。

Mul

Mul

功能:表示乘法 * 类型的二元操作符。

NotEq

NotEq

功能:表示不等于 != 类型的二元操作符。

Or

Or

功能:表示逻辑或 || 类型的二元操作符。

Pipeline

Pipeline

功能:表示管道操作 |> 类型的二元操作符。

RShift

RShift

功能:表示右移位 >> 类型的二元操作符。

Sub

Sub

功能:表示减法 - 类型的二元操作符。

enum CommentKind

public enum CommentKind {
    | Block
    | Document
    | Line
    | ...
}

功能:表示语法树节点注释信息的类型。

Block

Block

功能:表示注释信息 /* */ 的块注释类型。

Document

Document

功能:表示注释信息 /** */ 的文档注释类型。

Line

Line

功能:表示注释信息 // 的行注释类型。

enum DiagnosticInfo

public enum DiagnosticInfo {
    | Error(String, String)
    | Warning(String, String)
    | ...
}

功能:表示语法树诊断信息的类型。

Error(String, String)

Error(String, String)

功能:构造一个 (String, String) 类型的 DiagnosticInfo 实例,表示语法分析发现的错误。

Warning(String, String)

Warning(String, String)

功能:构造一个 (String, String) 类型的 DiagnosticInfo 实例,表示语法分析发现的告警。

enum FuncKind

public enum FuncKind {
    | Constructor
    | Finalizer
    | Foreign
    | Normal
    | Operator
    | PrimaryConstructor
    | ...
}

功能:表示声明函数的类型。

Constructor

Constructor

功能:表示一个构造函数,通常用于初始化对象。如 init(srcVal: Expr, targetTypeAnnotation: TypeAnnotation)

Finalizer

Finalizer

功能:表示一个终结器函数,负责在对象被垃圾回收之前执行清理操作。如 ~init()

Foreign

Foreign

功能:表示一个外部函数,通常用于调用外部库中的函数。如 foreign func CjStdSyncStateInit(capacity: Int64): CPointer<UInt8>

Normal

Normal

功能:表示一个普通函数,通常用于执行一系列语句。如 public func hasInterpolation(): Bool

Operator

Operator

功能:表示一个操作符函数,通常用于重载操作符。如 public operator func !=(right: TokenKind): Bool

PrimaryConstructor

PrimaryConstructor

功能:表示一个主构造函数,通常用于初始化对象。如 User(val name: String, var age: Int)

enum ImportKind

public enum ImportKind {
    | Alias 
    | All 
    | Multi 
    | Single 
    | ...
}

功能:表示导入语句的类型。

Alias

Alias

功能:表示别名导入,如 import a.b as c

All

All

功能:表示全导入,如 import a.b.*

Multi

Multi

功能:表示多导入,如 import a.{b, c, d}

Single

Single

功能:表示单导入,如 import a.b

enum IncOrDecOpKind

public enum IncOrDecOpKind {
    | Decr
    | Incr
    | ...
}

功能:表示自增自减表达式的操作符类型。

Decr

Decr

功能:表示 -- 类型的操作符。

Incr

Incr

功能:表示 ++ 类型的操作符。

enum LitConstKind

public enum LitConstKind {
    | BoolLiteral
    | FloatLiteral
    | IntergerLiteral
    | RuneLiteral
    | StringLiteral
    | UnitLiteral
    | ...
}

功能:表示字面量表达式的类型。

BoolLiteral

BoolLiteral

功能:表示布尔类型字面量,如 true

FloatLiteral

FloatLiteral

功能:表示浮点数类型字面量,如 1.0

IntergerLiteral

IntergerLiteral

功能:表示整形字面量,如 1

RuneLiteral

RuneLiteral

功能:表示字符字面量,如 r'a'

StringLiteral

StringLiteral

功能:表示字符串字面量,如 "hello"

UnitLiteral

UnitLiteral

功能:表示 Unit 类型的字面量,如 ()

enum LitConstStrKind

public enum LitConstStrKind {
    | JStringLiteral
    | MultiLineString
    | MultiLineRawString
    | StringLiteral
    | ...
}

功能:表示字符串字面量表达式的类型。

JStringLiteral

JStringLiteral

功能:表示 JavaString 类型的字符串字面量,如 J"xx"

MultiLineRawString

MultiLineRawString

功能:表示多行原始字符串字面量,如 #"aaa"#

MultiLineString

MultiLineString

功能:表示多行字符串字面量,如 """aaa"""

StringLiteral

StringLiteral

功能:表示单行字符串字面量,如 'xx'

enum MacroExpandInput

public enum MacroExpandInput {
    | WithoutParens(Decl)
    | WithParens(Tokens)
    | ...
}

功能:表示宏展开的输入形式,区分不同的宏调用语法形式。

WithoutParens(Decl)

WithoutParens(Decl)

功能:表示无括号形式的宏输入,直接以声明作为宏参数。

WithParens(Tokens)

WithParens(Tokens)

功能:表示带括号形式的宏输入,括号内包含标记序列作为宏参数。

enum ModifierKind

public enum ModifierKind {
    | Abstract
    | Internal
    | Mut
    | Open
    | Operator
    | Override
    | Private
    | Protected
    | Public
    | Redef
    | Sealed
    | Static
    | Unsafe
    | Const
    | ...
}

功能:表示修饰符的类型。

Abstract

Abstract

功能:表示 abstract 类型的修饰符。

Const

Const

功能:表示 const 类型的修饰符。

Internal

Internal

功能:表示 internal 类型的修饰符。

Mut

Mut

功能:表示 mut 类型的修饰符。

Open

Open

功能:表示 open 类型的修饰符。

Operator

Operator

功能:表示 operator 类型的修饰符。

Override

Override

功能:表示 override 类型的修饰符。

Private

Private

功能:表示 private 类型的修饰符。

Protected

Protected

功能:表示 protected 类型的修饰符。

Public

Public

功能:表示 public 类型的修饰符。

Redef

Redef

功能:表示 redef 类型的修饰符。

Sealed

Sealed

功能:表示 sealed 类型的修饰符。

Static

Static

功能:表示 static 类型的修饰符。

Unsafe

Unsafe

功能:表示 unsafe 类型的修饰符。

operator func !=(ModifierKind)

public operator func !=(rhs: ModifierKind): Bool

功能:判断当前修饰符类型是否与传入的修饰符类型不相等。

参数:

返回值:

  • Bool - 如果两个修饰符类型不相等,则返回 true;否则返回 false

示例:

import stdx.syntax.*

main() {
    // 创建 ModifierKind
    let publicKind = ModifierKind.Public
    let internalKind = ModifierKind.Internal

    println("publicKind == publicKind: ${publicKind == publicKind}")
    println("publicKind == internalKind: ${publicKind == internalKind}")
}

运行结果:

publicKind == publicKind: true
publicKind == internalKind: false

operator func ==(ModifierKind)

public operator func ==(rhs: ModifierKind): Bool

功能:判断当前修饰符类型是否与传入的修饰符类型相等。

参数:

返回值:

  • Bool - 如果两个修饰符类型相等,则返回 true;否则返回 false

示例:

import stdx.syntax.*

main() {
    // 创建 ModifierKind
    let publicKind = ModifierKind.Public
    let internalKind = ModifierKind.Internal

    println("publicKind != publicKind: ${publicKind != publicKind}")
    println("publicKind != internalKind: ${publicKind != internalKind}")
}

运行结果:

publicKind != publicKind: false
publicKind != internalKind: true

enum PostActionMode

public enum PostActionMode {
    | Continue
    | Stop
    | ...
}

功能:控制 ASTVisitor 在访问节点完成后的行为策略。

Continue

Continue

功能:func postAction 的默认策略,继续遍历。

Stop

Stop

功能:立即停止整个遍历过程。

enum PreActionMode

public enum PreActionMode {
    | Continue
    | Skip
    | Stop
    | ...
}

功能:控制 ASTVisitor 在访问节点前的行为策略。

Continue

Continue

功能:func preAction 的默认策略,继续访问当前节点及其所有子节点。

Skip

Skip

功能:跳过当前节点的子节点。

Stop

Stop

功能:立即停止整个遍历过程。

enum PrefixTypeOpKind

public enum PrefixTypeOpKind {
    | Quest
    | ...
}

功能:表示前缀类型中的前缀操作符类型。

Quest

Quest

功能:表示 ? 类型的前缀操作符。

enum QuoteExprContent

public enum QuoteExprContent{
    | TokenPart(QuoteToken)
    | QuoteInterpolation(QuoteInterpolationExpr)
    | ...
}

功能:表示 quote 表达式中由 () 括起的内容类型。

QuoteInterpolation(QuoteInterpolationExpr)

QuoteInterpolation(QuoteInterpolationExpr)

功能:表示 QuoteInterpolationExpr 类型的 quote 表达式部分。

TokenPart(QuoteToken)

TokenPart(QuoteToken)

功能:表示 QuoteToken 类型的 quote 表达式部分。

enum RangeKind

public enum RangeKind {
    | ClosedRangeOp
    | RangeOp
    | ...
}

功能:表示区间表达式的操作符类型。

ClosedRangeOp

ClosedRangeOp

功能:表示 := 类型的区间操作符。

RangeOp

RangeOp

功能:表示 : 类型的区间操作符。

enum StrLiteralPart

public enum StrLiteralPart {
    | LitConstPart(LitConstExpr)
    | StrInterpolation(StrInterpolationContent)
    | ...
}

功能:表示字符串常量的不同部分,分为字面量常量部分和字符串插值部分。

LitConstPart(LitConstExpr)

LitConstPart(LitConstExpr)

功能:构造一个 LitConstExpr 类型的 StrLiteralPart 实例,表示字面量常量部分。

StrInterpolation(StrInterpolationContent)

StrInterpolation(StrInterpolationContent)

功能:构造一个 StrInterpolationContent 类型的 StrLiteralPart 实例,表示字符串插值部分。

enum UnaryOpKind

public enum UnaryOpKind {
    | Not
    | Sub
    | ...
}

功能:表示一元表达式的操作符类型。

Not

Not

功能:表示 ! 类型的一元操作符。

Sub

Sub

功能:表示 - 类型的一元操作符。

enum VarKind

public enum VarKind {
    | Const
    | Let
    | Var
    | ...
}

功能:表示变量声明表达式的类型。

Const

Const

功能:表示声明一个字面量,如 const PI = 3.14159

Let

Let

功能:表示声明一个不可变变量,如 let a = 1a 的值为 1 且不可变。

Var

Var

功能:表示声明一个不可变变量,如 var a = 1a 的值为 1,可被重新赋值。