Skip to content

[ASTGen] Small cleanups #70258

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 6 additions & 14 deletions lib/ASTGen/Sources/ASTGen/ASTGen.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,6 @@ import ParseBridging

import struct SwiftDiagnostics.Diagnostic

extension UnsafePointer {
public var raw: UnsafeMutableRawPointer {
UnsafeMutableRawPointer(mutating: self)
}
}

enum ASTNode {
case decl(BridgedDecl)
case stmt(BridgedStmt)
Expand Down Expand Up @@ -102,7 +96,7 @@ struct ASTGenVisitor {
self.legacyParse = legacyParser
}

public func generate(sourceFile node: SourceFileSyntax) -> [BridgedDecl] {
func generate(sourceFile node: SourceFileSyntax) -> [BridgedDecl] {
var out = [BridgedDecl]()

for element in node.statements {
Expand All @@ -129,8 +123,6 @@ struct ASTGenVisitor {
endLoc: loc
)
out.append(topLevelDecl.asDecl)
default:
fatalError("Top level nodes must be decls, stmts, or exprs.")
}
}

Expand Down Expand Up @@ -241,15 +233,15 @@ extension ASTGenVisitor {
// Misc visits.
// TODO: Some of these are called within a single file/method; we may want to move them to the respective files.
extension ASTGenVisitor {
public func generate(memberBlockItem node: MemberBlockItemSyntax) -> BridgedDecl {
func generate(memberBlockItem node: MemberBlockItemSyntax) -> BridgedDecl {
generate(decl: node.decl)
}

public func generate(initializerClause node: InitializerClauseSyntax) -> BridgedExpr {
func generate(initializerClause node: InitializerClauseSyntax) -> BridgedExpr {
generate(expr: node.value)
}

public func generate(conditionElement node: ConditionElementSyntax) -> ASTNode {
func generate(conditionElement node: ConditionElementSyntax) -> ASTNode {
// FIXME: returning ASTNode is wrong, non-expression conditions are not ASTNode.
switch node.condition {
case .availability(_):
Expand All @@ -264,7 +256,7 @@ extension ASTGenVisitor {
fatalError("unimplemented")
}

public func generate(codeBlockItem node: CodeBlockItemSyntax) -> ASTNode {
func generate(codeBlockItem node: CodeBlockItemSyntax) -> ASTNode {
switch node.item {
case .decl(let node):
return .decl(self.generate(decl: node))
Expand All @@ -275,7 +267,7 @@ extension ASTGenVisitor {
}
}

public func generate(arrayElement node: ArrayElementSyntax) -> BridgedExpr {
func generate(arrayElement node: ArrayElementSyntax) -> BridgedExpr {
generate(expr: node.expression)
}

Expand Down
14 changes: 7 additions & 7 deletions lib/ASTGen/Sources/ASTGen/Decls.swift
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ extension ASTGenVisitor {
return self.generateWithLegacy(node)
}

public func generate(typeAliasDecl node: TypeAliasDeclSyntax) -> BridgedTypeAliasDecl {
func generate(typeAliasDecl node: TypeAliasDeclSyntax) -> BridgedTypeAliasDecl {
let (name, nameLoc) = self.generateIdentifierAndSourceLoc(node.name)

return .createParsed(
Expand All @@ -88,7 +88,7 @@ extension ASTGenVisitor {
)
}

public func generate(enumDecl node: EnumDeclSyntax) -> BridgedNominalTypeDecl {
func generate(enumDecl node: EnumDeclSyntax) -> BridgedNominalTypeDecl {
let (name, nameLoc) = self.generateIdentifierAndSourceLoc(node.name)

let decl = BridgedEnumDecl.createParsed(
Expand All @@ -113,7 +113,7 @@ extension ASTGenVisitor {
return decl
}

public func generate(structDecl node: StructDeclSyntax) -> BridgedNominalTypeDecl {
func generate(structDecl node: StructDeclSyntax) -> BridgedNominalTypeDecl {
let (name, nameLoc) = self.generateIdentifierAndSourceLoc(node.name)

let decl = BridgedStructDecl.createParsed(
Expand All @@ -138,7 +138,7 @@ extension ASTGenVisitor {
return decl
}

public func generate(classDecl node: ClassDeclSyntax) -> BridgedNominalTypeDecl {
func generate(classDecl node: ClassDeclSyntax) -> BridgedNominalTypeDecl {
let (name, nameLoc) = self.generateIdentifierAndSourceLoc(node.name)

let decl = BridgedClassDecl.createParsed(
Expand All @@ -164,7 +164,7 @@ extension ASTGenVisitor {
return decl
}

public func generate(actorDecl node: ActorDeclSyntax) -> BridgedNominalTypeDecl {
func generate(actorDecl node: ActorDeclSyntax) -> BridgedNominalTypeDecl {
let (name, nameLoc) = self.generateIdentifierAndSourceLoc(node.name)

let decl = BridgedClassDecl.createParsed(
Expand Down Expand Up @@ -288,7 +288,7 @@ extension ASTGenVisitor {
// MARK: - AbstractStorageDecl

extension ASTGenVisitor {
public func generate(variableDecl node: VariableDeclSyntax) -> BridgedPatternBindingDecl {
func generate(variableDecl node: VariableDeclSyntax) -> BridgedPatternBindingDecl {
let pattern = generate(pattern: node.bindings.first!.pattern)
let initializer = generate(initializerClause: node.bindings.first!.initializer!)

Expand All @@ -310,7 +310,7 @@ extension ASTGenVisitor {
// MARK: - AbstractFunctionDecl

extension ASTGenVisitor {
public func generate(functionDecl node: FunctionDeclSyntax) -> BridgedFuncDecl {
func generate(functionDecl node: FunctionDeclSyntax) -> BridgedFuncDecl {
// FIXME: Compute this location
let staticLoc: BridgedSourceLoc = nil

Expand Down
34 changes: 17 additions & 17 deletions lib/ASTGen/Sources/ASTGen/Exprs.swift
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ extension ASTGenVisitor {
preconditionFailure("isExprMigrated() mismatch")
}

public func generate(arrowExpr node: ArrowExprSyntax) -> BridgedArrowExpr {
func generate(arrowExpr node: ArrowExprSyntax) -> BridgedArrowExpr {
let asyncLoc: BridgedSourceLoc
let throwsLoc: BridgedSourceLoc
let thrownTypeExpr: BridgedNullableExpr
Expand Down Expand Up @@ -231,15 +231,15 @@ extension ASTGenVisitor {
)
}

public func generate(assignmentExpr node: AssignmentExprSyntax) -> BridgedAssignExpr {
func generate(assignmentExpr node: AssignmentExprSyntax) -> BridgedAssignExpr {
return .createParsed(self.ctx, equalsLoc: self.generateSourceLoc(node.equal))
}

public func generate(binaryOperatorExpr node: BinaryOperatorExprSyntax) -> BridgedUnresolvedDeclRefExpr {
func generate(binaryOperatorExpr node: BinaryOperatorExprSyntax) -> BridgedUnresolvedDeclRefExpr {
return createOperatorRefExpr(token: node.operator, kind: .binaryOperator)
}

public func generate(closureExpr node: ClosureExprSyntax) -> BridgedClosureExpr {
func generate(closureExpr node: ClosureExprSyntax) -> BridgedClosureExpr {
let body = BridgedBraceStmt.createParsed(
self.ctx,
lBraceLoc: self.generateSourceLoc(node.leftBrace),
Expand All @@ -251,7 +251,7 @@ extension ASTGenVisitor {
return .createParsed(self.ctx, declContext: self.declContext, body: body)
}

public func generate(functionCallExpr node: FunctionCallExprSyntax) -> BridgedCallExpr {
func generate(functionCallExpr node: FunctionCallExprSyntax) -> BridgedCallExpr {
if !node.arguments.isEmpty || node.trailingClosure == nil {
if node.leftParen == nil {
self.diagnose(
Expand Down Expand Up @@ -333,7 +333,7 @@ extension ASTGenVisitor {
}
}

public func generate(declReferenceExpr node: DeclReferenceExprSyntax) -> BridgedUnresolvedDeclRefExpr {
func generate(declReferenceExpr node: DeclReferenceExprSyntax) -> BridgedUnresolvedDeclRefExpr {
let nameAndLoc = createDeclNameRef(declReferenceExpr: node)
return .createParsed(
self.ctx,
Expand All @@ -343,11 +343,11 @@ extension ASTGenVisitor {
)
}

public func generate(discardAssignmentExpr node: DiscardAssignmentExprSyntax) -> BridgedDiscardAssignmentExpr {
func generate(discardAssignmentExpr node: DiscardAssignmentExprSyntax) -> BridgedDiscardAssignmentExpr {
return .createParsed(self.ctx, loc: self.generateSourceLoc(node.wildcard))
}

public func generate(memberAccessExpr node: MemberAccessExprSyntax) -> BridgedExpr {
func generate(memberAccessExpr node: MemberAccessExprSyntax) -> BridgedExpr {
let nameAndLoc = createDeclNameRef(declReferenceExpr: node.declName)

if let base = node.base {
Expand All @@ -368,7 +368,7 @@ extension ASTGenVisitor {
}
}

public func generate(ifExpr node: IfExprSyntax) -> BridgedSingleValueStmtExpr {
func generate(ifExpr node: IfExprSyntax) -> BridgedSingleValueStmtExpr {
let stmt = makeIfStmt(node).asStmt

// Wrap in a SingleValueStmtExpr to embed as an expression.
Expand All @@ -380,7 +380,7 @@ extension ASTGenVisitor {
)
}

public func generate(postfixOperatorExpr node: PostfixOperatorExprSyntax) -> BridgedPostfixUnaryExpr {
func generate(postfixOperatorExpr node: PostfixOperatorExprSyntax) -> BridgedPostfixUnaryExpr {
return .createParsed(
self.ctx,
operator: self.createOperatorRefExpr(
Expand All @@ -391,7 +391,7 @@ extension ASTGenVisitor {
)
}

public func generate(prefixOperatorExpr node: PrefixOperatorExprSyntax) -> BridgedPrefixUnaryExpr {
func generate(prefixOperatorExpr node: PrefixOperatorExprSyntax) -> BridgedPrefixUnaryExpr {
return .createParsed(
self.ctx,
operator: self.createOperatorRefExpr(
Expand All @@ -402,7 +402,7 @@ extension ASTGenVisitor {
)
}

public func generate(sequenceExpr node: SequenceExprSyntax) -> BridgedExpr {
func generate(sequenceExpr node: SequenceExprSyntax) -> BridgedExpr {
assert(
!node.elements.count.isMultiple(of: 2),
"SequenceExpr must have odd number of elements"
Expand Down Expand Up @@ -458,18 +458,18 @@ extension ASTGenVisitor {
).asExpr
}

public func generate(tupleExpr node: TupleExprSyntax) -> BridgedTupleExpr {
func generate(tupleExpr node: TupleExprSyntax) -> BridgedTupleExpr {
return self.generate(labeledExprList: node.elements, leftParen: node.leftParen, rightParen: node.rightParen)
}

public func generate(typeExpr node: TypeExprSyntax) -> BridgedTypeExpr {
func generate(typeExpr node: TypeExprSyntax) -> BridgedTypeExpr {
return .createParsed(
self.ctx,
type: self.generate(type: node.type)
)
}

public func generate(unresolvedAsExpr node: UnresolvedAsExprSyntax, typeExpr typeNode: TypeExprSyntax) -> BridgedExpr {
func generate(unresolvedAsExpr node: UnresolvedAsExprSyntax, typeExpr typeNode: TypeExprSyntax) -> BridgedExpr {
let type = self.generate(type: typeNode.type)
let asLoc = self.generateSourceLoc(node.asKeyword)

Expand Down Expand Up @@ -499,15 +499,15 @@ extension ASTGenVisitor {
}
}

public func generate(unresolvedIsExpr node: UnresolvedIsExprSyntax, typeExpr typeNode: TypeExprSyntax) -> BridgedIsExpr {
func generate(unresolvedIsExpr node: UnresolvedIsExprSyntax, typeExpr typeNode: TypeExprSyntax) -> BridgedIsExpr {
return .createParsed(
self.ctx,
isLoc: self.generateSourceLoc(node.isKeyword),
type: self.generate(type: typeNode.type)
)
}

public func generate(unresolvedTernaryExpr node: UnresolvedTernaryExprSyntax) -> BridgedTernaryExpr {
func generate(unresolvedTernaryExpr node: UnresolvedTernaryExprSyntax) -> BridgedTernaryExpr {
return .createParsed(
self.ctx,
questionLoc: self.generateSourceLoc(node.questionMark),
Expand Down
8 changes: 4 additions & 4 deletions lib/ASTGen/Sources/ASTGen/Literals.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import ASTBridging
import SwiftSyntax

extension ASTGenVisitor {
public func generate(stringLiteralExpr node: StringLiteralExprSyntax) -> BridgedStringLiteralExpr {
func generate(stringLiteralExpr node: StringLiteralExprSyntax) -> BridgedStringLiteralExpr {
let openDelimiterOrQuoteLoc = self.generateSourceLoc(node.openingPounds ?? node.openingQuote)

// FIXME: Handle interpolated strings.
Expand All @@ -25,7 +25,7 @@ extension ASTGenVisitor {
}
}

public func generate(integerLiteralExpr node: IntegerLiteralExprSyntax) -> BridgedIntegerLiteralExpr {
func generate(integerLiteralExpr node: IntegerLiteralExprSyntax) -> BridgedIntegerLiteralExpr {
// FIXME: Avoid 'String' instantiation
// FIXME: Strip '_'.
var segment = node.literal.text
Expand All @@ -38,7 +38,7 @@ extension ASTGenVisitor {
}
}

public func generate(booleanLiteralExpr node: BooleanLiteralExprSyntax) -> BridgedBooleanLiteralExpr {
func generate(booleanLiteralExpr node: BooleanLiteralExprSyntax) -> BridgedBooleanLiteralExpr {
let value = node.literal.tokenKind == .keyword(.true)
return .createParsed(
ctx,
Expand All @@ -47,7 +47,7 @@ extension ASTGenVisitor {
)
}

public func generate(arrayExpr node: ArrayExprSyntax) -> BridgedArrayExpr {
func generate(arrayExpr node: ArrayExprSyntax) -> BridgedArrayExpr {
let expressions = node.elements.lazy.map(self.generate)

let commaLocations = node.elements.compactMap(in: self) {
Expand Down
6 changes: 3 additions & 3 deletions lib/ASTGen/Sources/ASTGen/Stmts.swift
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ extension ASTGenVisitor {
return self.generateWithLegacy(node)
}

public func generate(codeBlock node: CodeBlockSyntax) -> BridgedBraceStmt {
func generate(codeBlock node: CodeBlockSyntax) -> BridgedBraceStmt {
BridgedBraceStmt.createParsed(
self.ctx,
lBraceLoc: self.generateSourceLoc(node.leftBrace),
Expand Down Expand Up @@ -86,7 +86,7 @@ extension ASTGenVisitor {
)
}

public func generate(expressionStmt node: ExpressionStmtSyntax) -> BridgedStmt {
func generate(expressionStmt node: ExpressionStmtSyntax) -> BridgedStmt {
switch Syntax(node.expression).as(SyntaxEnum.self) {
case .ifExpr(let e):
return makeIfStmt(e).asStmt
Expand All @@ -95,7 +95,7 @@ extension ASTGenVisitor {
}
}

public func generate(returnStmt node: ReturnStmtSyntax) -> BridgedReturnStmt {
func generate(returnStmt node: ReturnStmtSyntax) -> BridgedReturnStmt {
.createParsed(
self.ctx,
returnKeywordLoc: self.generateSourceLoc(node.returnKeyword),
Expand Down
Loading