mirror of
https://github.com/github/codeql.git
synced 2025-12-22 03:36:30 +01:00
Merge pull request #9805 from github/redsun82/swift-type-repr-collapse
Swift: collapse `TypeRepr` hierarchy
This commit is contained in:
@@ -7,8 +7,7 @@ _includes:
|
|||||||
_directories:
|
_directories:
|
||||||
decl: Decl$|Context$
|
decl: Decl$|Context$
|
||||||
pattern: Pattern$
|
pattern: Pattern$
|
||||||
type: Type$
|
type: Type(Repr)?$
|
||||||
typerepr: TypeRepr$
|
|
||||||
expr: Expr$
|
expr: Expr$
|
||||||
stmt: Stmt$
|
stmt: Stmt$
|
||||||
|
|
||||||
@@ -185,6 +184,7 @@ Stmt:
|
|||||||
|
|
||||||
TypeRepr:
|
TypeRepr:
|
||||||
_extends: AstNode
|
_extends: AstNode
|
||||||
|
type: Type? # type can be absent on unresolved entities
|
||||||
|
|
||||||
FunctionType:
|
FunctionType:
|
||||||
_extends: AnyFunctionType
|
_extends: AnyFunctionType
|
||||||
@@ -406,7 +406,6 @@ EnumIsCaseExpr:
|
|||||||
_extends: Expr
|
_extends: Expr
|
||||||
_children:
|
_children:
|
||||||
sub_expr: Expr
|
sub_expr: Expr
|
||||||
type_repr: TypeRepr
|
|
||||||
element: EnumElementDecl
|
element: EnumElementDecl
|
||||||
|
|
||||||
ErrorExpr:
|
ErrorExpr:
|
||||||
@@ -457,7 +456,7 @@ KeyPathDotExpr:
|
|||||||
KeyPathExpr:
|
KeyPathExpr:
|
||||||
_extends: Expr
|
_extends: Expr
|
||||||
_children:
|
_children:
|
||||||
parsed_root: Expr?
|
root: TypeRepr?
|
||||||
parsed_path: Expr?
|
parsed_path: Expr?
|
||||||
|
|
||||||
LazyInitializerExpr:
|
LazyInitializerExpr:
|
||||||
@@ -1177,87 +1176,3 @@ FloatLiteralExpr:
|
|||||||
IntegerLiteralExpr:
|
IntegerLiteralExpr:
|
||||||
_extends: NumberLiteralExpr
|
_extends: NumberLiteralExpr
|
||||||
string_value: string
|
string_value: string
|
||||||
|
|
||||||
ErrorTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
AttributedTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
IdentTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
ComponentIdentTypeRepr:
|
|
||||||
_extends: IdentTypeRepr
|
|
||||||
|
|
||||||
SimpleIdentTypeRepr:
|
|
||||||
_extends: ComponentIdentTypeRepr
|
|
||||||
|
|
||||||
GenericIdentTypeRepr:
|
|
||||||
_extends: ComponentIdentTypeRepr
|
|
||||||
|
|
||||||
CompoundIdentTypeRepr:
|
|
||||||
_extends: IdentTypeRepr
|
|
||||||
|
|
||||||
FunctionTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
ArrayTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
DictionaryTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
OptionalTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
ImplicitlyUnwrappedOptionalTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
TupleTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
CompositionTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
MetatypeTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
ProtocolTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
OpaqueReturnTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
NamedOpaqueReturnTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
ExistentialTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
PlaceholderTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
SpecifierTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
InOutTypeRepr:
|
|
||||||
_extends: SpecifierTypeRepr
|
|
||||||
|
|
||||||
SharedTypeRepr:
|
|
||||||
_extends: SpecifierTypeRepr
|
|
||||||
|
|
||||||
OwnedTypeRepr:
|
|
||||||
_extends: SpecifierTypeRepr
|
|
||||||
|
|
||||||
IsolatedTypeRepr:
|
|
||||||
_extends: SpecifierTypeRepr
|
|
||||||
|
|
||||||
CompileTimeConstTypeRepr:
|
|
||||||
_extends: SpecifierTypeRepr
|
|
||||||
|
|
||||||
FixedTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|
||||||
SilBoxTypeRepr:
|
|
||||||
_extends: TypeRepr
|
|
||||||
|
|||||||
@@ -61,8 +61,8 @@ class SwiftDispatcher {
|
|||||||
// This method gives a TRAP label for already emitted AST node.
|
// This method gives a TRAP label for already emitted AST node.
|
||||||
// If the AST node was not emitted yet, then the emission is dispatched to a corresponding
|
// If the AST node was not emitted yet, then the emission is dispatched to a corresponding
|
||||||
// visitor (see `visit(T *)` methods below).
|
// visitor (see `visit(T *)` methods below).
|
||||||
template <typename E>
|
template <typename E, typename... Args>
|
||||||
TrapLabelOf<E> fetchLabel(E* e) {
|
TrapLabelOf<E> fetchLabel(E* e, Args&&... args) {
|
||||||
assert(e && "trying to fetch a label on nullptr, maybe fetchOptionalLabel is to be used?");
|
assert(e && "trying to fetch a label on nullptr, maybe fetchOptionalLabel is to be used?");
|
||||||
// this is required so we avoid any recursive loop: a `fetchLabel` during the visit of `e` might
|
// this is required so we avoid any recursive loop: a `fetchLabel` during the visit of `e` might
|
||||||
// end up calling `fetchLabel` on `e` itself, so we want the visit of `e` to call `fetchLabel`
|
// end up calling `fetchLabel` on `e` itself, so we want the visit of `e` to call `fetchLabel`
|
||||||
@@ -73,7 +73,7 @@ class SwiftDispatcher {
|
|||||||
return *l;
|
return *l;
|
||||||
}
|
}
|
||||||
waitingForNewLabel = e;
|
waitingForNewLabel = e;
|
||||||
visit(e);
|
visit(e, std::forward<Args>(args)...);
|
||||||
// TODO when everything is moved to structured C++ classes, this should be moved to createEntry
|
// TODO when everything is moved to structured C++ classes, this should be moved to createEntry
|
||||||
if (auto l = store.get(e)) {
|
if (auto l = store.get(e)) {
|
||||||
if constexpr (!std::is_base_of_v<swift::TypeBase, E>) {
|
if constexpr (!std::is_base_of_v<swift::TypeBase, E>) {
|
||||||
@@ -168,10 +168,10 @@ class SwiftDispatcher {
|
|||||||
// return `std::optional(fetchLabel(arg))` if arg converts to true, otherwise std::nullopt
|
// return `std::optional(fetchLabel(arg))` if arg converts to true, otherwise std::nullopt
|
||||||
// universal reference `Arg&&` is used to catch both temporary and non-const references, not
|
// universal reference `Arg&&` is used to catch both temporary and non-const references, not
|
||||||
// for perfect forwarding
|
// for perfect forwarding
|
||||||
template <typename Arg>
|
template <typename Arg, typename... Args>
|
||||||
auto fetchOptionalLabel(Arg&& arg) -> std::optional<decltype(fetchLabel(arg))> {
|
auto fetchOptionalLabel(Arg&& arg, Args&&... args) -> std::optional<decltype(fetchLabel(arg))> {
|
||||||
if (arg) {
|
if (arg) {
|
||||||
return fetchLabel(arg);
|
return fetchLabel(arg, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
}
|
}
|
||||||
@@ -263,9 +263,15 @@ class SwiftDispatcher {
|
|||||||
|
|
||||||
template <typename Tag, typename T, typename... Ts>
|
template <typename Tag, typename T, typename... Ts>
|
||||||
bool fetchLabelFromUnionCase(const llvm::PointerUnion<Ts...> u, TrapLabel<Tag>& output) {
|
bool fetchLabelFromUnionCase(const llvm::PointerUnion<Ts...> u, TrapLabel<Tag>& output) {
|
||||||
if (auto e = u.template dyn_cast<T>()) {
|
// we rely on the fact that when we extract `ASTNode` instances (which only happens
|
||||||
output = fetchLabel(e);
|
// on `BraceStmt` elements), we cannot encounter a standalone `TypeRepr` there, so we skip
|
||||||
return true;
|
// this case; extracting `TypeRepr`s here would be problematic as we would not be able to
|
||||||
|
// provide the corresponding type
|
||||||
|
if constexpr (!std::is_same_v<T, swift::TypeRepr*>) {
|
||||||
|
if (auto e = u.template dyn_cast<T>()) {
|
||||||
|
output = fetchLabel(e);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -294,7 +300,7 @@ class SwiftDispatcher {
|
|||||||
virtual void visit(swift::CaseLabelItem* item) = 0;
|
virtual void visit(swift::CaseLabelItem* item) = 0;
|
||||||
virtual void visit(swift::Expr* expr) = 0;
|
virtual void visit(swift::Expr* expr) = 0;
|
||||||
virtual void visit(swift::Pattern* pattern) = 0;
|
virtual void visit(swift::Pattern* pattern) = 0;
|
||||||
virtual void visit(swift::TypeRepr* type) = 0;
|
virtual void visit(swift::TypeRepr* typeRepr, swift::Type type) = 0;
|
||||||
virtual void visit(swift::TypeBase* type) = 0;
|
virtual void visit(swift::TypeBase* type) = 0;
|
||||||
|
|
||||||
const swift::SourceManager& sourceManager;
|
const swift::SourceManager& sourceManager;
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ using SILBlockStorageTypeTag = SilBlockStorageTypeTag;
|
|||||||
using SILBoxTypeTag = SilBoxTypeTag;
|
using SILBoxTypeTag = SilBoxTypeTag;
|
||||||
using SILFunctionTypeTag = SilFunctionTypeTag;
|
using SILFunctionTypeTag = SilFunctionTypeTag;
|
||||||
using SILTokenTypeTag = SilTokenTypeTag;
|
using SILTokenTypeTag = SilTokenTypeTag;
|
||||||
using SILBoxTypeReprTag = SilBoxTypeReprTag;
|
|
||||||
|
|
||||||
#define MAP_TYPE_TO_TAG(TYPE, TAG) \
|
#define MAP_TYPE_TO_TAG(TYPE, TAG) \
|
||||||
template <> \
|
template <> \
|
||||||
@@ -60,9 +59,6 @@ MAP_TAG(Pattern);
|
|||||||
#include <swift/AST/PatternNodes.def>
|
#include <swift/AST/PatternNodes.def>
|
||||||
|
|
||||||
MAP_TAG(TypeRepr);
|
MAP_TAG(TypeRepr);
|
||||||
#define ABSTRACT_TYPEREPR(CLASS, PARENT) MAP_SUBTAG(CLASS##TypeRepr, PARENT)
|
|
||||||
#define TYPEREPR(CLASS, PARENT) ABSTRACT_TYPEREPR(CLASS, PARENT)
|
|
||||||
#include <swift/AST/TypeReprNodes.def>
|
|
||||||
|
|
||||||
MAP_TYPE_TO_TAG(TypeBase, TypeTag);
|
MAP_TYPE_TO_TAG(TypeBase, TypeTag);
|
||||||
#define ABSTRACT_TYPE(CLASS, PARENT) MAP_SUBTAG(CLASS##Type, PARENT)
|
#define ABSTRACT_TYPE(CLASS, PARENT) MAP_SUBTAG(CLASS##Type, PARENT)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
load("//swift:rules.bzl", "swift_cc_library")
|
load("//swift:rules.bzl", "swift_cc_library")
|
||||||
|
|
||||||
_dirs = ("", "decl/", "expr/", "pattern/", "stmt/", "type/", "typerepr/")
|
_dirs = ("", "decl/", "expr/", "pattern/", "stmt/", "type/")
|
||||||
|
|
||||||
genrule(
|
genrule(
|
||||||
name = "cppgen",
|
name = "cppgen",
|
||||||
|
|||||||
@@ -188,9 +188,8 @@ void ExprVisitor::visitEnumIsCaseExpr(swift::EnumIsCaseExpr* expr) {
|
|||||||
assert(expr->getCaseTypeRepr() && "EnumIsCaseExpr has CaseTypeRepr");
|
assert(expr->getCaseTypeRepr() && "EnumIsCaseExpr has CaseTypeRepr");
|
||||||
assert(expr->getEnumElement() && "EnumIsCaseExpr has EnumElement");
|
assert(expr->getEnumElement() && "EnumIsCaseExpr has EnumElement");
|
||||||
auto subExpr = dispatcher_.fetchLabel(expr->getSubExpr());
|
auto subExpr = dispatcher_.fetchLabel(expr->getSubExpr());
|
||||||
auto typeRepr = dispatcher_.fetchLabel(expr->getCaseTypeRepr());
|
|
||||||
auto enumElement = dispatcher_.fetchLabel(expr->getEnumElement());
|
auto enumElement = dispatcher_.fetchLabel(expr->getEnumElement());
|
||||||
dispatcher_.emit(EnumIsCaseExprsTrap{label, subExpr, typeRepr, enumElement});
|
dispatcher_.emit(EnumIsCaseExprsTrap{label, subExpr, enumElement});
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExprVisitor::visitMakeTemporarilyEscapableExpr(swift::MakeTemporarilyEscapableExpr* expr) {
|
void ExprVisitor::visitMakeTemporarilyEscapableExpr(swift::MakeTemporarilyEscapableExpr* expr) {
|
||||||
@@ -288,7 +287,9 @@ void ExprVisitor::visitErasureExpr(swift::ErasureExpr* expr) {
|
|||||||
|
|
||||||
codeql::TypeExpr ExprVisitor::translateTypeExpr(const swift::TypeExpr& expr) {
|
codeql::TypeExpr ExprVisitor::translateTypeExpr(const swift::TypeExpr& expr) {
|
||||||
TypeExpr entry{dispatcher_.assignNewLabel(expr)};
|
TypeExpr entry{dispatcher_.assignNewLabel(expr)};
|
||||||
entry.type_repr = dispatcher_.fetchOptionalLabel(expr.getTypeRepr());
|
if (expr.getTypeRepr() && expr.getInstanceType()) {
|
||||||
|
entry.type_repr = dispatcher_.fetchLabel(expr.getTypeRepr(), expr.getInstanceType());
|
||||||
|
}
|
||||||
return entry;
|
return entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -478,9 +479,14 @@ void ExprVisitor::visitKeyPathExpr(swift::KeyPathExpr* expr) {
|
|||||||
auto pathLabel = dispatcher_.fetchLabel(path);
|
auto pathLabel = dispatcher_.fetchLabel(path);
|
||||||
dispatcher_.emit(KeyPathExprParsedPathsTrap{label, pathLabel});
|
dispatcher_.emit(KeyPathExprParsedPathsTrap{label, pathLabel});
|
||||||
}
|
}
|
||||||
if (auto root = expr->getParsedRoot()) {
|
// TODO maybe move this logic to QL?
|
||||||
auto rootLabel = dispatcher_.fetchLabel(root);
|
if (auto rootTypeRepr = expr->getRootType()) {
|
||||||
dispatcher_.emit(KeyPathExprParsedRootsTrap{label, rootLabel});
|
auto keyPathType = expr->getType()->getAs<swift::BoundGenericClassType>();
|
||||||
|
assert(keyPathType && "KeyPathExpr must have BoundGenericClassType");
|
||||||
|
auto keyPathTypeArgs = keyPathType->getGenericArgs();
|
||||||
|
assert(keyPathTypeArgs.size() != 0 && "KeyPathExpr type must have generic args");
|
||||||
|
auto rootLabel = dispatcher_.fetchLabel(rootTypeRepr, keyPathTypeArgs[0]);
|
||||||
|
dispatcher_.emit(KeyPathExprRootsTrap{label, rootLabel});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ void PatternVisitor::visitTypedPattern(swift::TypedPattern* pattern) {
|
|||||||
assert(pattern->getSubPattern() && "expect TypedPattern to have a SubPattern");
|
assert(pattern->getSubPattern() && "expect TypedPattern to have a SubPattern");
|
||||||
dispatcher_.emit(TypedPatternsTrap{label, dispatcher_.fetchLabel(pattern->getSubPattern())});
|
dispatcher_.emit(TypedPatternsTrap{label, dispatcher_.fetchLabel(pattern->getSubPattern())});
|
||||||
if (auto typeRepr = pattern->getTypeRepr()) {
|
if (auto typeRepr = pattern->getTypeRepr()) {
|
||||||
dispatcher_.emit(
|
dispatcher_.emit(TypedPatternTypeReprsTrap{
|
||||||
TypedPatternTypeReprsTrap{label, dispatcher_.fetchLabel(pattern->getTypeRepr())});
|
label, dispatcher_.fetchLabel(pattern->getTypeRepr(), pattern->getType())});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,7 +63,8 @@ void PatternVisitor::visitIsPattern(swift::IsPattern* pattern) {
|
|||||||
dispatcher_.emit(IsPatternsTrap{label});
|
dispatcher_.emit(IsPatternsTrap{label});
|
||||||
|
|
||||||
if (auto typeRepr = pattern->getCastTypeRepr()) {
|
if (auto typeRepr = pattern->getCastTypeRepr()) {
|
||||||
dispatcher_.emit(IsPatternCastTypeReprsTrap{label, dispatcher_.fetchLabel(typeRepr)});
|
dispatcher_.emit(IsPatternCastTypeReprsTrap{
|
||||||
|
label, dispatcher_.fetchLabel(typeRepr, pattern->getCastType())});
|
||||||
}
|
}
|
||||||
if (auto subPattern = pattern->getSubPattern()) {
|
if (auto subPattern = pattern->getSubPattern()) {
|
||||||
dispatcher_.emit(IsPatternSubPatternsTrap{label, dispatcher_.fetchLabel(subPattern)});
|
dispatcher_.emit(IsPatternSubPatternsTrap{label, dispatcher_.fetchLabel(subPattern)});
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
#include "swift/extractor/visitors/ExprVisitor.h"
|
#include "swift/extractor/visitors/ExprVisitor.h"
|
||||||
#include "swift/extractor/visitors/StmtVisitor.h"
|
#include "swift/extractor/visitors/StmtVisitor.h"
|
||||||
#include "swift/extractor/visitors/TypeVisitor.h"
|
#include "swift/extractor/visitors/TypeVisitor.h"
|
||||||
#include "swift/extractor/visitors/TypeReprVisitor.h"
|
|
||||||
#include "swift/extractor/visitors/PatternVisitor.h"
|
#include "swift/extractor/visitors/PatternVisitor.h"
|
||||||
|
|
||||||
namespace codeql {
|
namespace codeql {
|
||||||
@@ -32,13 +31,14 @@ class SwiftVisitor : private SwiftDispatcher {
|
|||||||
void visit(swift::CaseLabelItem* item) override { stmtVisitor.visitCaseLabelItem(item); }
|
void visit(swift::CaseLabelItem* item) override { stmtVisitor.visitCaseLabelItem(item); }
|
||||||
void visit(swift::Expr* expr) override { exprVisitor.visit(expr); }
|
void visit(swift::Expr* expr) override { exprVisitor.visit(expr); }
|
||||||
void visit(swift::Pattern* pattern) override { patternVisitor.visit(pattern); }
|
void visit(swift::Pattern* pattern) override { patternVisitor.visit(pattern); }
|
||||||
void visit(swift::TypeRepr* type) override { typeReprVisitor.visit(type); }
|
|
||||||
void visit(swift::TypeBase* type) override { typeVisitor.visit(type); }
|
void visit(swift::TypeBase* type) override { typeVisitor.visit(type); }
|
||||||
|
void visit(swift::TypeRepr* typeRepr, swift::Type type) override {
|
||||||
|
emit(typeVisitor.translateTypeRepr(*typeRepr, type));
|
||||||
|
}
|
||||||
|
|
||||||
DeclVisitor declVisitor{*this};
|
DeclVisitor declVisitor{*this};
|
||||||
ExprVisitor exprVisitor{*this};
|
ExprVisitor exprVisitor{*this};
|
||||||
StmtVisitor stmtVisitor{*this};
|
StmtVisitor stmtVisitor{*this};
|
||||||
TypeReprVisitor typeReprVisitor{*this};
|
|
||||||
TypeVisitor typeVisitor{*this};
|
TypeVisitor typeVisitor{*this};
|
||||||
PatternVisitor patternVisitor{*this};
|
PatternVisitor patternVisitor{*this};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
#include "swift/extractor/visitors/TypeReprVisitor.h"
|
|
||||||
|
|
||||||
namespace codeql {} // namespace codeql
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include "swift/extractor/visitors/VisitorBase.h"
|
|
||||||
#include "swift/extractor/trap/generated/typerepr/TrapClasses.h"
|
|
||||||
|
|
||||||
namespace codeql {
|
|
||||||
|
|
||||||
class TypeReprVisitor : public AstVisitorBase<TypeReprVisitor> {
|
|
||||||
public:
|
|
||||||
using AstVisitorBase<TypeReprVisitor>::AstVisitorBase;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace codeql
|
|
||||||
@@ -9,6 +9,12 @@ void TypeVisitor::visit(swift::TypeBase* type) {
|
|||||||
dispatcher_.emit(TypesTrap{label, type->getString(), canonicalLabel});
|
dispatcher_.emit(TypesTrap{label, type->getString(), canonicalLabel});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
codeql::TypeRepr TypeVisitor::translateTypeRepr(const swift::TypeRepr& typeRepr, swift::Type type) {
|
||||||
|
auto entry = dispatcher_.createEntry(typeRepr);
|
||||||
|
entry.type = dispatcher_.fetchOptionalLabel(type);
|
||||||
|
return entry;
|
||||||
|
}
|
||||||
|
|
||||||
void TypeVisitor::visitProtocolType(swift::ProtocolType* type) {
|
void TypeVisitor::visitProtocolType(swift::ProtocolType* type) {
|
||||||
auto label = dispatcher_.assignNewLabel(type);
|
auto label = dispatcher_.assignNewLabel(type);
|
||||||
dispatcher_.emit(ProtocolTypesTrap{label});
|
dispatcher_.emit(ProtocolTypesTrap{label});
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ class TypeVisitor : public TypeVisitorBase<TypeVisitor> {
|
|||||||
using TypeVisitorBase<TypeVisitor>::TypeVisitorBase;
|
using TypeVisitorBase<TypeVisitor>::TypeVisitorBase;
|
||||||
|
|
||||||
void visit(swift::TypeBase* type);
|
void visit(swift::TypeBase* type);
|
||||||
|
codeql::TypeRepr translateTypeRepr(const swift::TypeRepr& typeRepr, swift::Type type);
|
||||||
|
|
||||||
void visitProtocolType(swift::ProtocolType* type);
|
void visitProtocolType(swift::ProtocolType* type);
|
||||||
void visitEnumType(swift::EnumType* type);
|
void visitEnumType(swift::EnumType* type);
|
||||||
void visitStructType(swift::StructType* type);
|
void visitStructType(swift::StructType* type);
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ module CfgScope {
|
|||||||
private class KeyPathScope extends Range_ instanceof KeyPathExpr {
|
private class KeyPathScope extends Range_ instanceof KeyPathExpr {
|
||||||
AstControlFlowTree tree;
|
AstControlFlowTree tree;
|
||||||
|
|
||||||
KeyPathScope() { tree.getAst() = this.getParsedRoot().getFullyConverted() }
|
KeyPathScope() { tree.getAst() = this }
|
||||||
|
|
||||||
final override predicate entry(ControlFlowElement first) { first(tree, first) }
|
final override predicate entry(ControlFlowElement first) { first(tree, first) }
|
||||||
|
|
||||||
@@ -836,9 +836,6 @@ module Patterns {
|
|||||||
// Note: `getSubPattern` only has a result if the `is` pattern is of the form `pattern as type`.
|
// Note: `getSubPattern` only has a result if the `is` pattern is of the form `pattern as type`.
|
||||||
i = 0 and
|
i = 0 and
|
||||||
result.asAstNode() = ast.getSubPattern().getFullyUnresolved()
|
result.asAstNode() = ast.getSubPattern().getFullyUnresolved()
|
||||||
or
|
|
||||||
i = 1 and
|
|
||||||
result.asAstNode() = ast.getCastTypeRepr()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1604,8 +1601,14 @@ module Exprs {
|
|||||||
|
|
||||||
final override ControlFlowElement getChildElement(int i) {
|
final override ControlFlowElement getChildElement(int i) {
|
||||||
result.asAstNode() = ast.getSubExpr().getFullyConverted() and i = 0
|
result.asAstNode() = ast.getSubExpr().getFullyConverted() and i = 0
|
||||||
or
|
}
|
||||||
result.asAstNode() = ast.getTypeRepr().getFullyUnresolved() and i = 1
|
}
|
||||||
|
|
||||||
|
private class IsTree extends AstStandardPostOrderTree {
|
||||||
|
override IsExpr ast;
|
||||||
|
|
||||||
|
final override ControlFlowElement getChildElement(int i) {
|
||||||
|
result.asAstNode() = ast.getSubExpr().getFullyConverted() and i = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -272,6 +272,7 @@ import codeql.swift.elements.type.SyntaxSugarType
|
|||||||
import codeql.swift.elements.type.TupleType
|
import codeql.swift.elements.type.TupleType
|
||||||
import codeql.swift.elements.type.Type
|
import codeql.swift.elements.type.Type
|
||||||
import codeql.swift.elements.type.TypeAliasType
|
import codeql.swift.elements.type.TypeAliasType
|
||||||
|
import codeql.swift.elements.type.TypeRepr
|
||||||
import codeql.swift.elements.type.TypeVariableType
|
import codeql.swift.elements.type.TypeVariableType
|
||||||
import codeql.swift.elements.type.UnarySyntaxSugarType
|
import codeql.swift.elements.type.UnarySyntaxSugarType
|
||||||
import codeql.swift.elements.type.UnboundGenericType
|
import codeql.swift.elements.type.UnboundGenericType
|
||||||
@@ -280,32 +281,3 @@ import codeql.swift.elements.type.UnownedStorageType
|
|||||||
import codeql.swift.elements.type.UnresolvedType
|
import codeql.swift.elements.type.UnresolvedType
|
||||||
import codeql.swift.elements.type.VariadicSequenceType
|
import codeql.swift.elements.type.VariadicSequenceType
|
||||||
import codeql.swift.elements.type.WeakStorageType
|
import codeql.swift.elements.type.WeakStorageType
|
||||||
import codeql.swift.elements.typerepr.ArrayTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.AttributedTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.CompileTimeConstTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.ComponentIdentTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.CompositionTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.CompoundIdentTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.DictionaryTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.ErrorTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.ExistentialTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.FixedTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.FunctionTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.GenericIdentTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.IdentTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.ImplicitlyUnwrappedOptionalTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.InOutTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.IsolatedTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.MetatypeTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.NamedOpaqueReturnTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.OpaqueReturnTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.OptionalTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.OwnedTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.PlaceholderTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.ProtocolTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.SharedTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.SilBoxTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.SimpleIdentTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.SpecifierTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.TupleTypeRepr
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|||||||
5
swift/ql/lib/codeql/swift/elements/type/TypeRepr.qll
Normal file
5
swift/ql/lib/codeql/swift/elements/type/TypeRepr.qll
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
private import codeql.swift.generated.type.TypeRepr
|
||||||
|
|
||||||
|
class TypeRepr extends TypeReprBase {
|
||||||
|
override string toString() { result = getType().toString() }
|
||||||
|
}
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
|
||||||
private import codeql.swift.generated.typerepr.ComponentIdentTypeRepr
|
|
||||||
|
|
||||||
class ComponentIdentTypeRepr extends ComponentIdentTypeReprBase { }
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
|
||||||
private import codeql.swift.generated.typerepr.CompositionTypeRepr
|
|
||||||
|
|
||||||
class CompositionTypeRepr extends CompositionTypeReprBase { }
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
|
||||||
private import codeql.swift.generated.typerepr.ErrorTypeRepr
|
|
||||||
|
|
||||||
class ErrorTypeRepr extends ErrorTypeReprBase { }
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
|
||||||
private import codeql.swift.generated.typerepr.ExistentialTypeRepr
|
|
||||||
|
|
||||||
class ExistentialTypeRepr extends ExistentialTypeReprBase { }
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
|
||||||
private import codeql.swift.generated.typerepr.FixedTypeRepr
|
|
||||||
|
|
||||||
class FixedTypeRepr extends FixedTypeReprBase { }
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
|
||||||
private import codeql.swift.generated.typerepr.IdentTypeRepr
|
|
||||||
|
|
||||||
class IdentTypeRepr extends IdentTypeReprBase { }
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
|
||||||
private import codeql.swift.generated.typerepr.NamedOpaqueReturnTypeRepr
|
|
||||||
|
|
||||||
class NamedOpaqueReturnTypeRepr extends NamedOpaqueReturnTypeReprBase { }
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
|
||||||
private import codeql.swift.generated.typerepr.OpaqueReturnTypeRepr
|
|
||||||
|
|
||||||
class OpaqueReturnTypeRepr extends OpaqueReturnTypeReprBase { }
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
|
||||||
private import codeql.swift.generated.typerepr.PlaceholderTypeRepr
|
|
||||||
|
|
||||||
class PlaceholderTypeRepr extends PlaceholderTypeReprBase { }
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
|
||||||
private import codeql.swift.generated.typerepr.SimpleIdentTypeRepr
|
|
||||||
|
|
||||||
class SimpleIdentTypeRepr extends SimpleIdentTypeReprBase { }
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
|
||||||
private import codeql.swift.generated.typerepr.SpecifierTypeRepr
|
|
||||||
|
|
||||||
class SpecifierTypeRepr extends SpecifierTypeReprBase { }
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
|
||||||
private import codeql.swift.generated.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class TypeRepr extends TypeReprBase { }
|
|
||||||
@@ -70,11 +70,9 @@ Element getAnImmediateChild(Element e) {
|
|||||||
or
|
or
|
||||||
dynamic_type_exprs(e, x)
|
dynamic_type_exprs(e, x)
|
||||||
or
|
or
|
||||||
enum_is_case_exprs(e, x, _, _)
|
enum_is_case_exprs(e, x, _)
|
||||||
or
|
or
|
||||||
enum_is_case_exprs(e, _, x, _)
|
enum_is_case_exprs(e, _, x)
|
||||||
or
|
|
||||||
enum_is_case_exprs(e, _, _, x)
|
|
||||||
or
|
or
|
||||||
explicit_cast_exprs(e, x)
|
explicit_cast_exprs(e, x)
|
||||||
or
|
or
|
||||||
@@ -102,7 +100,7 @@ Element getAnImmediateChild(Element e) {
|
|||||||
or
|
or
|
||||||
key_path_application_exprs(e, _, x)
|
key_path_application_exprs(e, _, x)
|
||||||
or
|
or
|
||||||
key_path_expr_parsed_roots(e, x)
|
key_path_expr_roots(e, x)
|
||||||
or
|
or
|
||||||
key_path_expr_parsed_paths(e, x)
|
key_path_expr_parsed_paths(e, x)
|
||||||
or
|
or
|
||||||
|
|||||||
@@ -1,28 +1,20 @@
|
|||||||
// generated by codegen/codegen.py
|
// generated by codegen/codegen.py
|
||||||
import codeql.swift.elements.decl.EnumElementDecl
|
import codeql.swift.elements.decl.EnumElementDecl
|
||||||
import codeql.swift.elements.expr.Expr
|
import codeql.swift.elements.expr.Expr
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class EnumIsCaseExprBase extends @enum_is_case_expr, Expr {
|
class EnumIsCaseExprBase extends @enum_is_case_expr, Expr {
|
||||||
override string getAPrimaryQlClass() { result = "EnumIsCaseExpr" }
|
override string getAPrimaryQlClass() { result = "EnumIsCaseExpr" }
|
||||||
|
|
||||||
Expr getSubExpr() {
|
Expr getSubExpr() {
|
||||||
exists(Expr x |
|
exists(Expr x |
|
||||||
enum_is_case_exprs(this, x, _, _) and
|
enum_is_case_exprs(this, x, _) and
|
||||||
result = x.resolve()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
TypeRepr getTypeRepr() {
|
|
||||||
exists(TypeRepr x |
|
|
||||||
enum_is_case_exprs(this, _, x, _) and
|
|
||||||
result = x.resolve()
|
result = x.resolve()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
EnumElementDecl getElement() {
|
EnumElementDecl getElement() {
|
||||||
exists(EnumElementDecl x |
|
exists(EnumElementDecl x |
|
||||||
enum_is_case_exprs(this, _, _, x) and
|
enum_is_case_exprs(this, _, x) and
|
||||||
result = x.resolve()
|
result = x.resolve()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
// generated by codegen/codegen.py
|
// generated by codegen/codegen.py
|
||||||
import codeql.swift.elements.expr.Expr
|
import codeql.swift.elements.expr.Expr
|
||||||
|
import codeql.swift.elements.type.TypeRepr
|
||||||
|
|
||||||
class KeyPathExprBase extends @key_path_expr, Expr {
|
class KeyPathExprBase extends @key_path_expr, Expr {
|
||||||
override string getAPrimaryQlClass() { result = "KeyPathExpr" }
|
override string getAPrimaryQlClass() { result = "KeyPathExpr" }
|
||||||
|
|
||||||
Expr getParsedRoot() {
|
TypeRepr getRoot() {
|
||||||
exists(Expr x |
|
exists(TypeRepr x |
|
||||||
key_path_expr_parsed_roots(this, x) and
|
key_path_expr_roots(this, x) and
|
||||||
result = x.resolve()
|
result = x.resolve()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
predicate hasParsedRoot() { exists(getParsedRoot()) }
|
predicate hasRoot() { exists(getRoot()) }
|
||||||
|
|
||||||
Expr getParsedPath() {
|
Expr getParsedPath() {
|
||||||
exists(Expr x |
|
exists(Expr x |
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// generated by codegen/codegen.py
|
// generated by codegen/codegen.py
|
||||||
import codeql.swift.elements.expr.Expr
|
import codeql.swift.elements.expr.Expr
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
import codeql.swift.elements.type.TypeRepr
|
||||||
|
|
||||||
class TypeExprBase extends @type_expr, Expr {
|
class TypeExprBase extends @type_expr, Expr {
|
||||||
override string getAPrimaryQlClass() { result = "TypeExpr" }
|
override string getAPrimaryQlClass() { result = "TypeExpr" }
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// generated by codegen/codegen.py
|
// generated by codegen/codegen.py
|
||||||
import codeql.swift.elements.pattern.Pattern
|
import codeql.swift.elements.pattern.Pattern
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
import codeql.swift.elements.type.TypeRepr
|
||||||
|
|
||||||
class IsPatternBase extends @is_pattern, Pattern {
|
class IsPatternBase extends @is_pattern, Pattern {
|
||||||
override string getAPrimaryQlClass() { result = "IsPattern" }
|
override string getAPrimaryQlClass() { result = "IsPattern" }
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// generated by codegen/codegen.py
|
// generated by codegen/codegen.py
|
||||||
import codeql.swift.elements.pattern.Pattern
|
import codeql.swift.elements.pattern.Pattern
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
import codeql.swift.elements.type.TypeRepr
|
||||||
|
|
||||||
class TypedPatternBase extends @typed_pattern, Pattern {
|
class TypedPatternBase extends @typed_pattern, Pattern {
|
||||||
override string getAPrimaryQlClass() { result = "TypedPattern" }
|
override string getAPrimaryQlClass() { result = "TypedPattern" }
|
||||||
|
|||||||
16
swift/ql/lib/codeql/swift/generated/type/TypeRepr.qll
Normal file
16
swift/ql/lib/codeql/swift/generated/type/TypeRepr.qll
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
// generated by codegen/codegen.py
|
||||||
|
import codeql.swift.elements.AstNode
|
||||||
|
import codeql.swift.elements.type.Type
|
||||||
|
|
||||||
|
class TypeReprBase extends @type_repr, AstNode {
|
||||||
|
override string getAPrimaryQlClass() { result = "TypeRepr" }
|
||||||
|
|
||||||
|
Type getType() {
|
||||||
|
exists(Type x |
|
||||||
|
type_repr_types(this, x) and
|
||||||
|
result = x.resolve()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
predicate hasType() { exists(getType()) }
|
||||||
|
}
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class ArrayTypeReprBase extends @array_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "ArrayTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class AttributedTypeReprBase extends @attributed_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "AttributedTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.SpecifierTypeRepr
|
|
||||||
|
|
||||||
class CompileTimeConstTypeReprBase extends @compile_time_const_type_repr, SpecifierTypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "CompileTimeConstTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.IdentTypeRepr
|
|
||||||
|
|
||||||
class ComponentIdentTypeReprBase extends @component_ident_type_repr, IdentTypeRepr { }
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class CompositionTypeReprBase extends @composition_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "CompositionTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.IdentTypeRepr
|
|
||||||
|
|
||||||
class CompoundIdentTypeReprBase extends @compound_ident_type_repr, IdentTypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "CompoundIdentTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class DictionaryTypeReprBase extends @dictionary_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "DictionaryTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class ErrorTypeReprBase extends @error_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "ErrorTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class ExistentialTypeReprBase extends @existential_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "ExistentialTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class FixedTypeReprBase extends @fixed_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "FixedTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class FunctionTypeReprBase extends @function_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "FunctionTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.ComponentIdentTypeRepr
|
|
||||||
|
|
||||||
class GenericIdentTypeReprBase extends @generic_ident_type_repr, ComponentIdentTypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "GenericIdentTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class IdentTypeReprBase extends @ident_type_repr, TypeRepr { }
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class ImplicitlyUnwrappedOptionalTypeReprBase extends @implicitly_unwrapped_optional_type_repr,
|
|
||||||
TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "ImplicitlyUnwrappedOptionalTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.SpecifierTypeRepr
|
|
||||||
|
|
||||||
class InOutTypeReprBase extends @in_out_type_repr, SpecifierTypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "InOutTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.SpecifierTypeRepr
|
|
||||||
|
|
||||||
class IsolatedTypeReprBase extends @isolated_type_repr, SpecifierTypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "IsolatedTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class MetatypeTypeReprBase extends @metatype_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "MetatypeTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class NamedOpaqueReturnTypeReprBase extends @named_opaque_return_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "NamedOpaqueReturnTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class OpaqueReturnTypeReprBase extends @opaque_return_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "OpaqueReturnTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class OptionalTypeReprBase extends @optional_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "OptionalTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.SpecifierTypeRepr
|
|
||||||
|
|
||||||
class OwnedTypeReprBase extends @owned_type_repr, SpecifierTypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "OwnedTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class PlaceholderTypeReprBase extends @placeholder_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "PlaceholderTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class ProtocolTypeReprBase extends @protocol_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "ProtocolTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.SpecifierTypeRepr
|
|
||||||
|
|
||||||
class SharedTypeReprBase extends @shared_type_repr, SpecifierTypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "SharedTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class SilBoxTypeReprBase extends @sil_box_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "SilBoxTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.ComponentIdentTypeRepr
|
|
||||||
|
|
||||||
class SimpleIdentTypeReprBase extends @simple_ident_type_repr, ComponentIdentTypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "SimpleIdentTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class SpecifierTypeReprBase extends @specifier_type_repr, TypeRepr { }
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.typerepr.TypeRepr
|
|
||||||
|
|
||||||
class TupleTypeReprBase extends @tuple_type_repr, TypeRepr {
|
|
||||||
override string getAPrimaryQlClass() { result = "TupleTypeRepr" }
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements.AstNode
|
|
||||||
|
|
||||||
class TypeReprBase extends @type_repr, AstNode { }
|
|
||||||
@@ -472,27 +472,15 @@ expr_types( //dir=expr
|
|||||||
| @yield_stmt
|
| @yield_stmt
|
||||||
;
|
;
|
||||||
|
|
||||||
@type_repr =
|
type_reprs( //dir=type
|
||||||
@array_type_repr
|
unique int id: @type_repr
|
||||||
| @attributed_type_repr
|
);
|
||||||
| @composition_type_repr
|
|
||||||
| @dictionary_type_repr
|
#keyset[id]
|
||||||
| @error_type_repr
|
type_repr_types( //dir=type
|
||||||
| @existential_type_repr
|
int id: @type_repr ref,
|
||||||
| @fixed_type_repr
|
int type_: @type ref
|
||||||
| @function_type_repr
|
);
|
||||||
| @ident_type_repr
|
|
||||||
| @implicitly_unwrapped_optional_type_repr
|
|
||||||
| @metatype_type_repr
|
|
||||||
| @named_opaque_return_type_repr
|
|
||||||
| @opaque_return_type_repr
|
|
||||||
| @optional_type_repr
|
|
||||||
| @placeholder_type_repr
|
|
||||||
| @protocol_type_repr
|
|
||||||
| @sil_box_type_repr
|
|
||||||
| @specifier_type_repr
|
|
||||||
| @tuple_type_repr
|
|
||||||
;
|
|
||||||
|
|
||||||
function_types( //dir=type
|
function_types( //dir=type
|
||||||
unique int id: @function_type
|
unique int id: @function_type
|
||||||
@@ -895,7 +883,6 @@ editor_placeholder_exprs( //dir=expr
|
|||||||
enum_is_case_exprs( //dir=expr
|
enum_is_case_exprs( //dir=expr
|
||||||
unique int id: @enum_is_case_expr,
|
unique int id: @enum_is_case_expr,
|
||||||
int sub_expr: @expr ref,
|
int sub_expr: @expr ref,
|
||||||
int type_repr: @type_repr ref,
|
|
||||||
int element: @enum_element_decl ref
|
int element: @enum_element_decl ref
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -999,9 +986,9 @@ key_path_exprs( //dir=expr
|
|||||||
);
|
);
|
||||||
|
|
||||||
#keyset[id]
|
#keyset[id]
|
||||||
key_path_expr_parsed_roots( //dir=expr
|
key_path_expr_roots( //dir=expr
|
||||||
int id: @key_path_expr ref,
|
int id: @key_path_expr ref,
|
||||||
int parsed_root: @expr ref
|
int root: @type_repr ref
|
||||||
);
|
);
|
||||||
|
|
||||||
#keyset[id]
|
#keyset[id]
|
||||||
@@ -2208,121 +2195,3 @@ integer_literal_exprs( //dir=expr
|
|||||||
unique int id: @integer_literal_expr,
|
unique int id: @integer_literal_expr,
|
||||||
string string_value: string ref
|
string string_value: string ref
|
||||||
);
|
);
|
||||||
|
|
||||||
error_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @error_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
attributed_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @attributed_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
@ident_type_repr =
|
|
||||||
@component_ident_type_repr
|
|
||||||
| @compound_ident_type_repr
|
|
||||||
;
|
|
||||||
|
|
||||||
@component_ident_type_repr =
|
|
||||||
@generic_ident_type_repr
|
|
||||||
| @simple_ident_type_repr
|
|
||||||
;
|
|
||||||
|
|
||||||
simple_ident_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @simple_ident_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
generic_ident_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @generic_ident_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
compound_ident_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @compound_ident_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
function_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @function_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
array_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @array_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
dictionary_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @dictionary_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
optional_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @optional_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
implicitly_unwrapped_optional_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @implicitly_unwrapped_optional_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
tuple_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @tuple_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
composition_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @composition_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
metatype_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @metatype_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
protocol_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @protocol_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
opaque_return_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @opaque_return_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
named_opaque_return_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @named_opaque_return_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
existential_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @existential_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
placeholder_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @placeholder_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
@specifier_type_repr =
|
|
||||||
@compile_time_const_type_repr
|
|
||||||
| @in_out_type_repr
|
|
||||||
| @isolated_type_repr
|
|
||||||
| @owned_type_repr
|
|
||||||
| @shared_type_repr
|
|
||||||
;
|
|
||||||
|
|
||||||
in_out_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @in_out_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
shared_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @shared_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
owned_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @owned_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
isolated_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @isolated_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
compile_time_const_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @compile_time_const_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
fixed_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @fixed_type_repr
|
|
||||||
);
|
|
||||||
|
|
||||||
sil_box_type_reprs( //dir=typerepr
|
|
||||||
unique int id: @sil_box_type_repr
|
|
||||||
);
|
|
||||||
|
|||||||
@@ -123,8 +123,6 @@
|
|||||||
| expressions.swift:54:1:54:1 | _ | DiscardAssignmentExpr |
|
| expressions.swift:54:1:54:1 | _ | DiscardAssignmentExpr |
|
||||||
| expressions.swift:54:1:54:8 | ... = ... | AssignExpr |
|
| expressions.swift:54:1:54:8 | ... = ... | AssignExpr |
|
||||||
| expressions.swift:54:5:54:8 | #keyPath(...) | KeyPathExpr |
|
| expressions.swift:54:5:54:8 | #keyPath(...) | KeyPathExpr |
|
||||||
| expressions.swift:54:6:54:6 | (no string representation) | TypeExpr |
|
|
||||||
| expressions.swift:54:6:54:8 | ... .x | UnresolvedDotExpr |
|
|
||||||
| expressions.swift:58:16:58:16 | 1234 | IntegerLiteralExpr |
|
| expressions.swift:58:16:58:16 | 1234 | IntegerLiteralExpr |
|
||||||
| expressions.swift:59:1:59:1 | unsafeFunction(pointer:) | DeclRefExpr |
|
| expressions.swift:59:1:59:1 | unsafeFunction(pointer:) | DeclRefExpr |
|
||||||
| expressions.swift:59:1:59:34 | call to unsafeFunction(pointer:) | CallExpr |
|
| expressions.swift:59:1:59:34 | call to unsafeFunction(pointer:) | CallExpr |
|
||||||
@@ -242,5 +240,3 @@
|
|||||||
| expressions.swift:154:22:154:56 | \\...[...] | KeyPathApplicationExpr |
|
| expressions.swift:154:22:154:56 | \\...[...] | KeyPathApplicationExpr |
|
||||||
| expressions.swift:154:33:154:33 | keyPathB | DeclRefExpr |
|
| expressions.swift:154:33:154:33 | keyPathB | DeclRefExpr |
|
||||||
| expressions.swift:154:52:154:55 | #keyPath(...) | KeyPathExpr |
|
| expressions.swift:154:52:154:55 | #keyPath(...) | KeyPathExpr |
|
||||||
| expressions.swift:154:53:154:53 | (no string representation) | TypeExpr |
|
|
||||||
| expressions.swift:154:53:154:55 | ... .x | UnresolvedDotExpr |
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
| enum_is_case.swift:4:1:4:17 | ... is some | getSubExpr: | enum_is_case.swift:4:1:4:17 | OptionalEvaluationExpr | getTypeRepr: | enum_is_case.swift:4:22:4:22 | SimpleIdentTypeRepr | getElement: | file://:0:0:0:0 | some |
|
| enum_is_case.swift:4:1:4:17 | ... is some | getSubExpr: | enum_is_case.swift:4:1:4:17 | OptionalEvaluationExpr | getElement: | file://:0:0:0:0 | some |
|
||||||
| enum_is_case.swift:5:1:5:32 | ... is some | getSubExpr: | enum_is_case.swift:5:1:5:32 | OptionalEvaluationExpr | getTypeRepr: | enum_is_case.swift:5:37:5:37 | SimpleIdentTypeRepr | getElement: | file://:0:0:0:0 | some |
|
| enum_is_case.swift:5:1:5:32 | ... is some | getSubExpr: | enum_is_case.swift:5:1:5:32 | OptionalEvaluationExpr | getElement: | file://:0:0:0:0 | some |
|
||||||
| enum_is_case.swift:6:1:6:1 | ... is some | getSubExpr: | enum_is_case.swift:6:1:6:1 | 42 | getTypeRepr: | enum_is_case.swift:6:7:6:10 | ...? | getElement: | file://:0:0:0:0 | some |
|
| enum_is_case.swift:6:1:6:1 | ... is some | getSubExpr: | enum_is_case.swift:6:1:6:1 | 42 | getElement: | file://:0:0:0:0 | some |
|
||||||
| enum_is_case.swift:7:1:7:1 | ... is some | getSubExpr: | enum_is_case.swift:7:1:7:1 | 42 | getTypeRepr: | enum_is_case.swift:7:7:7:11 | ...? | getElement: | file://:0:0:0:0 | some |
|
| enum_is_case.swift:7:1:7:1 | ... is some | getSubExpr: | enum_is_case.swift:7:1:7:1 | 42 | getElement: | file://:0:0:0:0 | some |
|
||||||
| enum_is_case.swift:9:1:9:19 | ... is some | getSubExpr: | enum_is_case.swift:9:1:9:19 | [...] | getTypeRepr: | enum_is_case.swift:9:24:9:28 | [...] | getElement: | file://:0:0:0:0 | some |
|
| enum_is_case.swift:9:1:9:19 | ... is some | getSubExpr: | enum_is_case.swift:9:1:9:19 | [...] | getElement: | file://:0:0:0:0 | some |
|
||||||
| enum_is_case.swift:19:1:19:18 | ... is some | getSubExpr: | enum_is_case.swift:19:1:19:18 | OptionalEvaluationExpr | getTypeRepr: | enum_is_case.swift:19:23:19:23 | SimpleIdentTypeRepr | getElement: | file://:0:0:0:0 | some |
|
| enum_is_case.swift:19:1:19:18 | ... is some | getSubExpr: | enum_is_case.swift:19:1:19:18 | OptionalEvaluationExpr | getElement: | file://:0:0:0:0 | some |
|
||||||
| enum_is_case.swift:21:1:21:5 | ... is some | getSubExpr: | enum_is_case.swift:21:1:21:5 | [...] | getTypeRepr: | enum_is_case.swift:21:10:21:12 | [...] | getElement: | file://:0:0:0:0 | some |
|
| enum_is_case.swift:21:1:21:5 | ... is some | getSubExpr: | enum_is_case.swift:21:1:21:5 | [...] | getElement: | file://:0:0:0:0 | some |
|
||||||
| enum_is_case.swift:22:1:22:10 | ... is some | getSubExpr: | enum_is_case.swift:22:1:22:10 | [...] | getTypeRepr: | enum_is_case.swift:22:15:22:25 | [... : ...] | getElement: | file://:0:0:0:0 | some |
|
| enum_is_case.swift:22:1:22:10 | ... is some | getSubExpr: | enum_is_case.swift:22:1:22:10 | [...] | getElement: | file://:0:0:0:0 | some |
|
||||||
| enum_is_case.swift:23:1:23:10 | ... is some | getSubExpr: | enum_is_case.swift:23:1:23:10 | [...] | getTypeRepr: | enum_is_case.swift:23:15:23:25 | [... : ...] | getElement: | file://:0:0:0:0 | some |
|
| enum_is_case.swift:23:1:23:10 | ... is some | getSubExpr: | enum_is_case.swift:23:1:23:10 | [...] | getElement: | file://:0:0:0:0 | some |
|
||||||
| enum_is_case.swift:24:1:24:8 | ... is some | getSubExpr: | enum_is_case.swift:24:1:24:8 | call to ... | getTypeRepr: | enum_is_case.swift:24:13:24:18 | ...<...> | getElement: | file://:0:0:0:0 | some |
|
| enum_is_case.swift:24:1:24:8 | ... is some | getSubExpr: | enum_is_case.swift:24:1:24:8 | call to ... | getElement: | file://:0:0:0:0 | some |
|
||||||
|
|||||||
@@ -2,11 +2,10 @@
|
|||||||
import codeql.swift.elements
|
import codeql.swift.elements
|
||||||
import TestUtils
|
import TestUtils
|
||||||
|
|
||||||
from EnumIsCaseExpr x, Expr getSubExpr, TypeRepr getTypeRepr, EnumElementDecl getElement
|
from EnumIsCaseExpr x, Expr getSubExpr, EnumElementDecl getElement
|
||||||
where
|
where
|
||||||
toBeTested(x) and
|
toBeTested(x) and
|
||||||
not x.isUnknown() and
|
not x.isUnknown() and
|
||||||
getSubExpr = x.getSubExpr() and
|
getSubExpr = x.getSubExpr() and
|
||||||
getTypeRepr = x.getTypeRepr() and
|
|
||||||
getElement = x.getElement()
|
getElement = x.getElement()
|
||||||
select x, "getSubExpr:", getSubExpr, "getTypeRepr:", getTypeRepr, "getElement:", getElement
|
select x, "getSubExpr:", getSubExpr, "getElement:", getElement
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
| unresolved_dot_expr.swift:5:6:5:8 | ... .x | getBase: | unresolved_dot_expr.swift:5:6:5:6 | (no string representation) | getName: | x |
|
|
||||||
| unresolved_dot_expr.swift:11:6:11:8 | ... .a | getBase: | unresolved_dot_expr.swift:11:6:11:6 | (no string representation) | getName: | a |
|
|
||||||
| unresolved_dot_expr.swift:11:6:11:10 | ... .x | getBase: | unresolved_dot_expr.swift:11:6:11:8 | ... .a | getName: | x |
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements
|
|
||||||
import TestUtils
|
|
||||||
|
|
||||||
from UnresolvedDotExpr x, Expr getBase, string getName
|
|
||||||
where
|
|
||||||
toBeTested(x) and
|
|
||||||
not x.isUnknown() and
|
|
||||||
getBase = x.getBase() and
|
|
||||||
getName = x.getName()
|
|
||||||
select x, "getBase:", getBase, "getName:", getName
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
import codeql.swift.elements
|
|
||||||
import TestUtils
|
|
||||||
|
|
||||||
from UnresolvedDotExpr x
|
|
||||||
where toBeTested(x) and not x.isUnknown()
|
|
||||||
select x, x.getType()
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
struct A {
|
|
||||||
var x: Int = 42
|
|
||||||
}
|
|
||||||
|
|
||||||
_ = \A.x
|
|
||||||
|
|
||||||
struct B {
|
|
||||||
var a: A
|
|
||||||
}
|
|
||||||
|
|
||||||
_ = \B.a.x
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// generated by codegen/codegen.py
|
|
||||||
|
|
||||||
After a swift source file is added in this directory and codegen/codegen.py is run again, test queries
|
|
||||||
will appear and this file will be deleted
|
|
||||||
@@ -281,15 +281,12 @@ cfg.swift:
|
|||||||
#-----| -> ... is ...
|
#-----| -> ... is ...
|
||||||
|
|
||||||
# 37| ... is ...
|
# 37| ... is ...
|
||||||
#-----| -> SimpleIdentTypeRepr
|
#-----| -> ... is ...
|
||||||
|
|
||||||
# 37| ... is ...
|
# 37| ... is ...
|
||||||
#-----| match -> print(_:separator:terminator:)
|
#-----| match -> print(_:separator:terminator:)
|
||||||
#-----| no-match -> case ...
|
#-----| no-match -> case ...
|
||||||
|
|
||||||
# 37| SimpleIdentTypeRepr
|
|
||||||
#-----| -> ... is ...
|
|
||||||
|
|
||||||
# 38| print(_:separator:terminator:)
|
# 38| print(_:separator:terminator:)
|
||||||
#-----| -> MyError
|
#-----| -> MyError
|
||||||
|
|
||||||
@@ -5575,15 +5572,39 @@ cfg.swift:
|
|||||||
# 456| var ... = ...
|
# 456| var ... = ...
|
||||||
#-----| -> kpGet_b_x
|
#-----| -> kpGet_b_x
|
||||||
|
|
||||||
|
# 456| var ... = ...
|
||||||
|
#-----| -> kpGet_b_x
|
||||||
|
|
||||||
# 456| kpGet_b_x
|
# 456| kpGet_b_x
|
||||||
#-----| match -> #keyPath(...)
|
#-----| match -> #keyPath(...)
|
||||||
|
|
||||||
# 456| kpGet_b_x
|
# 456| kpGet_b_x
|
||||||
#-----| -> kpGet_bs_0_x
|
#-----| -> kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 456| kpGet_b_x
|
||||||
|
#-----| -> kpGet_bs_0_x
|
||||||
|
|
||||||
# 456| #keyPath(...)
|
# 456| #keyPath(...)
|
||||||
#-----| -> var ... = ...
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 456| #keyPath(...)
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
#-----| -> exit #keyPath(...) (normal)
|
||||||
|
|
||||||
|
# 456| enter #keyPath(...)
|
||||||
|
#-----| -> #keyPath(...)
|
||||||
|
|
||||||
|
# 456| exit #keyPath(...)
|
||||||
|
|
||||||
|
# 456| exit #keyPath(...) (normal)
|
||||||
|
#-----| -> exit #keyPath(...)
|
||||||
|
|
||||||
|
# 457| var ... = ...
|
||||||
|
#-----| -> kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 457| var ... = ...
|
||||||
|
#-----| -> kpGet_bs_0_x
|
||||||
|
|
||||||
# 457| var ... = ...
|
# 457| var ... = ...
|
||||||
#-----| -> kpGet_bs_0_x
|
#-----| -> kpGet_bs_0_x
|
||||||
|
|
||||||
@@ -5593,9 +5614,42 @@ cfg.swift:
|
|||||||
# 457| kpGet_bs_0_x
|
# 457| kpGet_bs_0_x
|
||||||
#-----| -> kpGet_mayB_force_x
|
#-----| -> kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 457| kpGet_bs_0_x
|
||||||
|
#-----| match -> #keyPath(...)
|
||||||
|
|
||||||
|
# 457| kpGet_bs_0_x
|
||||||
|
#-----| -> kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 457| kpGet_bs_0_x
|
||||||
|
#-----| -> kpGet_mayB_force_x
|
||||||
|
|
||||||
# 457| #keyPath(...)
|
# 457| #keyPath(...)
|
||||||
#-----| -> var ... = ...
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 457| #keyPath(...)
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 457| #keyPath(...)
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
#-----| -> exit #keyPath(...) (normal)
|
||||||
|
|
||||||
|
# 457| enter #keyPath(...)
|
||||||
|
#-----| -> #keyPath(...)
|
||||||
|
|
||||||
|
# 457| exit #keyPath(...)
|
||||||
|
|
||||||
|
# 457| exit #keyPath(...) (normal)
|
||||||
|
#-----| -> exit #keyPath(...)
|
||||||
|
|
||||||
|
# 458| var ... = ...
|
||||||
|
#-----| -> kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 458| var ... = ...
|
||||||
|
#-----| -> kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 458| var ... = ...
|
||||||
|
#-----| -> kpGet_mayB_force_x
|
||||||
|
|
||||||
# 458| var ... = ...
|
# 458| var ... = ...
|
||||||
#-----| -> kpGet_mayB_force_x
|
#-----| -> kpGet_mayB_force_x
|
||||||
|
|
||||||
@@ -5605,9 +5659,54 @@ cfg.swift:
|
|||||||
# 458| kpGet_mayB_force_x
|
# 458| kpGet_mayB_force_x
|
||||||
#-----| -> kpGet_mayB_x
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
|
# 458| kpGet_mayB_force_x
|
||||||
|
#-----| match -> #keyPath(...)
|
||||||
|
|
||||||
|
# 458| kpGet_mayB_force_x
|
||||||
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
|
# 458| kpGet_mayB_force_x
|
||||||
|
#-----| match -> #keyPath(...)
|
||||||
|
|
||||||
|
# 458| kpGet_mayB_force_x
|
||||||
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
|
# 458| kpGet_mayB_force_x
|
||||||
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
# 458| #keyPath(...)
|
# 458| #keyPath(...)
|
||||||
#-----| -> var ... = ...
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 458| #keyPath(...)
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 458| #keyPath(...)
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 458| #keyPath(...)
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
#-----| -> exit #keyPath(...) (normal)
|
||||||
|
|
||||||
|
# 458| enter #keyPath(...)
|
||||||
|
#-----| -> #keyPath(...)
|
||||||
|
|
||||||
|
# 458| exit #keyPath(...)
|
||||||
|
|
||||||
|
# 458| exit #keyPath(...) (normal)
|
||||||
|
#-----| -> exit #keyPath(...)
|
||||||
|
|
||||||
|
# 459| var ... = ...
|
||||||
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
|
# 459| var ... = ...
|
||||||
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
|
# 459| var ... = ...
|
||||||
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
|
# 459| var ... = ...
|
||||||
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
# 459| var ... = ...
|
# 459| var ... = ...
|
||||||
#-----| -> kpGet_mayB_x
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
@@ -5617,9 +5716,63 @@ cfg.swift:
|
|||||||
# 459| kpGet_mayB_x
|
# 459| kpGet_mayB_x
|
||||||
#-----| -> apply_kpGet_b_x
|
#-----| -> apply_kpGet_b_x
|
||||||
|
|
||||||
|
# 459| kpGet_mayB_x
|
||||||
|
#-----| match -> #keyPath(...)
|
||||||
|
|
||||||
|
# 459| kpGet_mayB_x
|
||||||
|
#-----| -> apply_kpGet_b_x
|
||||||
|
|
||||||
|
# 459| kpGet_mayB_x
|
||||||
|
#-----| match -> #keyPath(...)
|
||||||
|
|
||||||
|
# 459| kpGet_mayB_x
|
||||||
|
#-----| -> apply_kpGet_b_x
|
||||||
|
|
||||||
|
# 459| kpGet_mayB_x
|
||||||
|
#-----| match -> #keyPath(...)
|
||||||
|
|
||||||
|
# 459| kpGet_mayB_x
|
||||||
|
#-----| -> apply_kpGet_b_x
|
||||||
|
|
||||||
|
# 459| kpGet_mayB_x
|
||||||
|
#-----| -> apply_kpGet_b_x
|
||||||
|
|
||||||
# 459| #keyPath(...)
|
# 459| #keyPath(...)
|
||||||
#-----| -> var ... = ...
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 459| #keyPath(...)
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 459| #keyPath(...)
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 459| #keyPath(...)
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 459| #keyPath(...)
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
#-----| -> exit #keyPath(...) (normal)
|
||||||
|
|
||||||
|
# 459| enter #keyPath(...)
|
||||||
|
#-----| -> #keyPath(...)
|
||||||
|
|
||||||
|
# 459| exit #keyPath(...)
|
||||||
|
|
||||||
|
# 459| exit #keyPath(...) (normal)
|
||||||
|
#-----| -> exit #keyPath(...)
|
||||||
|
|
||||||
|
# 461| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_b_x
|
||||||
|
|
||||||
|
# 461| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_b_x
|
||||||
|
|
||||||
|
# 461| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_b_x
|
||||||
|
|
||||||
|
# 461| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_b_x
|
||||||
|
|
||||||
# 461| var ... = ...
|
# 461| var ... = ...
|
||||||
#-----| -> apply_kpGet_b_x
|
#-----| -> apply_kpGet_b_x
|
||||||
|
|
||||||
@@ -5629,18 +5782,102 @@ cfg.swift:
|
|||||||
# 461| apply_kpGet_b_x
|
# 461| apply_kpGet_b_x
|
||||||
#-----| -> apply_kpGet_bs_0_x
|
#-----| -> apply_kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 461| apply_kpGet_b_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 461| apply_kpGet_b_x
|
||||||
|
#-----| -> apply_kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 461| apply_kpGet_b_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 461| apply_kpGet_b_x
|
||||||
|
#-----| -> apply_kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 461| apply_kpGet_b_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 461| apply_kpGet_b_x
|
||||||
|
#-----| -> apply_kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 461| apply_kpGet_b_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 461| apply_kpGet_b_x
|
||||||
|
#-----| -> apply_kpGet_bs_0_x
|
||||||
|
|
||||||
# 461| a
|
# 461| a
|
||||||
#-----| -> kpGet_b_x
|
#-----| -> kpGet_b_x
|
||||||
|
|
||||||
|
# 461| a
|
||||||
|
#-----| -> kpGet_b_x
|
||||||
|
|
||||||
|
# 461| a
|
||||||
|
#-----| -> kpGet_b_x
|
||||||
|
|
||||||
|
# 461| a
|
||||||
|
#-----| -> kpGet_b_x
|
||||||
|
|
||||||
|
# 461| a
|
||||||
|
#-----| -> kpGet_b_x
|
||||||
|
|
||||||
|
# 461| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 461| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 461| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 461| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
# 461| \...[...]
|
# 461| \...[...]
|
||||||
#-----| -> var ... = ...
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
# 461| (WritableKeyPath<A, Int>) ...
|
# 461| (WritableKeyPath<A, Int>) ...
|
||||||
#-----| -> \...[...]
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 461| (WritableKeyPath<A, Int>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 461| (WritableKeyPath<A, Int>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 461| (WritableKeyPath<A, Int>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 461| (WritableKeyPath<A, Int>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
# 461| kpGet_b_x
|
# 461| kpGet_b_x
|
||||||
#-----| -> (WritableKeyPath<A, Int>) ...
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 461| kpGet_b_x
|
||||||
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 461| kpGet_b_x
|
||||||
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 461| kpGet_b_x
|
||||||
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 461| kpGet_b_x
|
||||||
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 462| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 462| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 462| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 462| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_bs_0_x
|
||||||
|
|
||||||
# 462| var ... = ...
|
# 462| var ... = ...
|
||||||
#-----| -> apply_kpGet_bs_0_x
|
#-----| -> apply_kpGet_bs_0_x
|
||||||
|
|
||||||
@@ -5650,18 +5887,102 @@ cfg.swift:
|
|||||||
# 462| apply_kpGet_bs_0_x
|
# 462| apply_kpGet_bs_0_x
|
||||||
#-----| -> apply_kpGet_mayB_force_x
|
#-----| -> apply_kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 462| apply_kpGet_bs_0_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 462| apply_kpGet_bs_0_x
|
||||||
|
#-----| -> apply_kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 462| apply_kpGet_bs_0_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 462| apply_kpGet_bs_0_x
|
||||||
|
#-----| -> apply_kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 462| apply_kpGet_bs_0_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 462| apply_kpGet_bs_0_x
|
||||||
|
#-----| -> apply_kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 462| apply_kpGet_bs_0_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 462| apply_kpGet_bs_0_x
|
||||||
|
#-----| -> apply_kpGet_mayB_force_x
|
||||||
|
|
||||||
# 462| a
|
# 462| a
|
||||||
#-----| -> kpGet_bs_0_x
|
#-----| -> kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 462| a
|
||||||
|
#-----| -> kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 462| a
|
||||||
|
#-----| -> kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 462| a
|
||||||
|
#-----| -> kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 462| a
|
||||||
|
#-----| -> kpGet_bs_0_x
|
||||||
|
|
||||||
|
# 462| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 462| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 462| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 462| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
# 462| \...[...]
|
# 462| \...[...]
|
||||||
#-----| -> var ... = ...
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
# 462| (WritableKeyPath<A, Int>) ...
|
# 462| (WritableKeyPath<A, Int>) ...
|
||||||
#-----| -> \...[...]
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 462| (WritableKeyPath<A, Int>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 462| (WritableKeyPath<A, Int>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 462| (WritableKeyPath<A, Int>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 462| (WritableKeyPath<A, Int>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
# 462| kpGet_bs_0_x
|
# 462| kpGet_bs_0_x
|
||||||
#-----| -> (WritableKeyPath<A, Int>) ...
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 462| kpGet_bs_0_x
|
||||||
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 462| kpGet_bs_0_x
|
||||||
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 462| kpGet_bs_0_x
|
||||||
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 462| kpGet_bs_0_x
|
||||||
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 463| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 463| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 463| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 463| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_mayB_force_x
|
||||||
|
|
||||||
# 463| var ... = ...
|
# 463| var ... = ...
|
||||||
#-----| -> apply_kpGet_mayB_force_x
|
#-----| -> apply_kpGet_mayB_force_x
|
||||||
|
|
||||||
@@ -5671,18 +5992,102 @@ cfg.swift:
|
|||||||
# 463| apply_kpGet_mayB_force_x
|
# 463| apply_kpGet_mayB_force_x
|
||||||
#-----| -> apply_kpGet_mayB_x
|
#-----| -> apply_kpGet_mayB_x
|
||||||
|
|
||||||
|
# 463| apply_kpGet_mayB_force_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 463| apply_kpGet_mayB_force_x
|
||||||
|
#-----| -> apply_kpGet_mayB_x
|
||||||
|
|
||||||
|
# 463| apply_kpGet_mayB_force_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 463| apply_kpGet_mayB_force_x
|
||||||
|
#-----| -> apply_kpGet_mayB_x
|
||||||
|
|
||||||
|
# 463| apply_kpGet_mayB_force_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 463| apply_kpGet_mayB_force_x
|
||||||
|
#-----| -> apply_kpGet_mayB_x
|
||||||
|
|
||||||
|
# 463| apply_kpGet_mayB_force_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 463| apply_kpGet_mayB_force_x
|
||||||
|
#-----| -> apply_kpGet_mayB_x
|
||||||
|
|
||||||
# 463| a
|
# 463| a
|
||||||
#-----| -> kpGet_mayB_force_x
|
#-----| -> kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 463| a
|
||||||
|
#-----| -> kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 463| a
|
||||||
|
#-----| -> kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 463| a
|
||||||
|
#-----| -> kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 463| a
|
||||||
|
#-----| -> kpGet_mayB_force_x
|
||||||
|
|
||||||
|
# 463| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 463| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 463| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 463| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
# 463| \...[...]
|
# 463| \...[...]
|
||||||
#-----| -> var ... = ...
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
# 463| (WritableKeyPath<A, Int>) ...
|
# 463| (WritableKeyPath<A, Int>) ...
|
||||||
#-----| -> \...[...]
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 463| (WritableKeyPath<A, Int>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 463| (WritableKeyPath<A, Int>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 463| (WritableKeyPath<A, Int>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 463| (WritableKeyPath<A, Int>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
# 463| kpGet_mayB_force_x
|
# 463| kpGet_mayB_force_x
|
||||||
#-----| -> (WritableKeyPath<A, Int>) ...
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 463| kpGet_mayB_force_x
|
||||||
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 463| kpGet_mayB_force_x
|
||||||
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 463| kpGet_mayB_force_x
|
||||||
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 463| kpGet_mayB_force_x
|
||||||
|
#-----| -> (WritableKeyPath<A, Int>) ...
|
||||||
|
|
||||||
|
# 464| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_mayB_x
|
||||||
|
|
||||||
|
# 464| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_mayB_x
|
||||||
|
|
||||||
|
# 464| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_mayB_x
|
||||||
|
|
||||||
|
# 464| var ... = ...
|
||||||
|
#-----| -> apply_kpGet_mayB_x
|
||||||
|
|
||||||
# 464| var ... = ...
|
# 464| var ... = ...
|
||||||
#-----| -> apply_kpGet_mayB_x
|
#-----| -> apply_kpGet_mayB_x
|
||||||
|
|
||||||
@@ -5692,14 +6097,82 @@ cfg.swift:
|
|||||||
# 464| apply_kpGet_mayB_x
|
# 464| apply_kpGet_mayB_x
|
||||||
#-----| -> exit test(a:) (normal)
|
#-----| -> exit test(a:) (normal)
|
||||||
|
|
||||||
|
# 464| apply_kpGet_mayB_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 464| apply_kpGet_mayB_x
|
||||||
|
|
||||||
|
# 464| apply_kpGet_mayB_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 464| apply_kpGet_mayB_x
|
||||||
|
|
||||||
|
# 464| apply_kpGet_mayB_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 464| apply_kpGet_mayB_x
|
||||||
|
|
||||||
|
# 464| apply_kpGet_mayB_x
|
||||||
|
#-----| match -> a
|
||||||
|
|
||||||
|
# 464| apply_kpGet_mayB_x
|
||||||
|
|
||||||
# 464| a
|
# 464| a
|
||||||
#-----| -> kpGet_mayB_x
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
|
# 464| a
|
||||||
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
|
# 464| a
|
||||||
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
|
# 464| a
|
||||||
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
|
# 464| a
|
||||||
|
#-----| -> kpGet_mayB_x
|
||||||
|
|
||||||
|
# 464| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 464| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 464| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
|
# 464| \...[...]
|
||||||
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
# 464| \...[...]
|
# 464| \...[...]
|
||||||
#-----| -> var ... = ...
|
#-----| -> var ... = ...
|
||||||
|
|
||||||
# 464| (KeyPath<A, Int?>) ...
|
# 464| (KeyPath<A, Int?>) ...
|
||||||
#-----| -> \...[...]
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 464| (KeyPath<A, Int?>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 464| (KeyPath<A, Int?>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 464| (KeyPath<A, Int?>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 464| (KeyPath<A, Int?>) ...
|
||||||
|
#-----| -> \...[...]
|
||||||
|
|
||||||
|
# 464| kpGet_mayB_x
|
||||||
|
#-----| -> (KeyPath<A, Int?>) ...
|
||||||
|
|
||||||
|
# 464| kpGet_mayB_x
|
||||||
|
#-----| -> (KeyPath<A, Int?>) ...
|
||||||
|
|
||||||
|
# 464| kpGet_mayB_x
|
||||||
|
#-----| -> (KeyPath<A, Int?>) ...
|
||||||
|
|
||||||
|
# 464| kpGet_mayB_x
|
||||||
|
#-----| -> (KeyPath<A, Int?>) ...
|
||||||
|
|
||||||
# 464| kpGet_mayB_x
|
# 464| kpGet_mayB_x
|
||||||
#-----| -> (KeyPath<A, Int?>) ...
|
#-----| -> (KeyPath<A, Int?>) ...
|
||||||
|
|||||||
@@ -22,13 +22,13 @@
|
|||||||
| declarations.swift:3:7:3:7 | yield ... | YieldStmt | file://:0:0:0:0 | &... | InOutExpr |
|
| declarations.swift:3:7:3:7 | yield ... | YieldStmt | file://:0:0:0:0 | &... | InOutExpr |
|
||||||
| declarations.swift:3:7:3:7 | { ... } | BraceStmt | declarations.swift:3:7:3:7 | yield ... | YieldStmt |
|
| declarations.swift:3:7:3:7 | { ... } | BraceStmt | declarations.swift:3:7:3:7 | yield ... | YieldStmt |
|
||||||
| declarations.swift:3:7:3:14 | ... as ... | TypedPattern | declarations.swift:3:7:3:7 | next | NamedPattern |
|
| declarations.swift:3:7:3:14 | ... as ... | TypedPattern | declarations.swift:3:7:3:7 | next | NamedPattern |
|
||||||
| declarations.swift:3:7:3:14 | ... as ... | TypedPattern | declarations.swift:3:14:3:14 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:3:7:3:14 | ... as ... | TypedPattern | declarations.swift:3:14:3:14 | Int | TypeRepr |
|
||||||
| declarations.swift:4:5:4:24 | get | AccessorDecl | declarations.swift:4:9:4:24 | { ... } | BraceStmt |
|
| declarations.swift:4:5:4:24 | get | AccessorDecl | declarations.swift:4:9:4:24 | { ... } | BraceStmt |
|
||||||
| declarations.swift:4:9:4:24 | { ... } | BraceStmt | declarations.swift:4:11:4:22 | return ... | ReturnStmt |
|
| declarations.swift:4:9:4:24 | { ... } | BraceStmt | declarations.swift:4:11:4:22 | return ... | ReturnStmt |
|
||||||
| declarations.swift:4:11:4:22 | return ... | ReturnStmt | declarations.swift:4:18:4:22 | ... call to +(_:_:) ... | BinaryExpr |
|
| declarations.swift:4:11:4:22 | return ... | ReturnStmt | declarations.swift:4:18:4:22 | ... call to +(_:_:) ... | BinaryExpr |
|
||||||
| declarations.swift:4:18:4:18 | .x | MemberRefExpr | declarations.swift:4:18:4:18 | self | DeclRefExpr |
|
| declarations.swift:4:18:4:18 | .x | MemberRefExpr | declarations.swift:4:18:4:18 | self | DeclRefExpr |
|
||||||
| declarations.swift:4:18:4:22 | ... call to +(_:_:) ... | BinaryExpr | declarations.swift:4:20:4:20 | call to +(_:_:) | DotSyntaxCallExpr |
|
| declarations.swift:4:18:4:22 | ... call to +(_:_:) ... | BinaryExpr | declarations.swift:4:20:4:20 | call to +(_:_:) | DotSyntaxCallExpr |
|
||||||
| declarations.swift:4:20:4:20 | Int.Type | TypeExpr | declarations.swift:4:20:4:20 | FixedTypeRepr | FixedTypeRepr |
|
| declarations.swift:4:20:4:20 | Int.Type | TypeExpr | declarations.swift:4:20:4:20 | Int | TypeRepr |
|
||||||
| declarations.swift:4:20:4:20 | call to +(_:_:) | DotSyntaxCallExpr | declarations.swift:4:20:4:20 | +(_:_:) | DeclRefExpr |
|
| declarations.swift:4:20:4:20 | call to +(_:_:) | DotSyntaxCallExpr | declarations.swift:4:20:4:20 | +(_:_:) | DeclRefExpr |
|
||||||
| declarations.swift:5:5:5:38 | set | AccessorDecl | declarations.swift:5:9:5:9 | newValue | ParamDecl |
|
| declarations.swift:5:5:5:38 | set | AccessorDecl | declarations.swift:5:9:5:9 | newValue | ParamDecl |
|
||||||
| declarations.swift:5:5:5:38 | set | AccessorDecl | declarations.swift:5:19:5:38 | { ... } | BraceStmt |
|
| declarations.swift:5:5:5:38 | set | AccessorDecl | declarations.swift:5:19:5:38 | { ... } | BraceStmt |
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
| declarations.swift:5:21:5:36 | ... = ... | AssignExpr | declarations.swift:5:21:5:21 | .x | MemberRefExpr |
|
| declarations.swift:5:21:5:36 | ... = ... | AssignExpr | declarations.swift:5:21:5:21 | .x | MemberRefExpr |
|
||||||
| declarations.swift:5:21:5:36 | ... = ... | AssignExpr | declarations.swift:5:25:5:36 | ... call to -(_:_:) ... | BinaryExpr |
|
| declarations.swift:5:21:5:36 | ... = ... | AssignExpr | declarations.swift:5:25:5:36 | ... call to -(_:_:) ... | BinaryExpr |
|
||||||
| declarations.swift:5:25:5:36 | ... call to -(_:_:) ... | BinaryExpr | declarations.swift:5:34:5:34 | call to -(_:_:) | DotSyntaxCallExpr |
|
| declarations.swift:5:25:5:36 | ... call to -(_:_:) ... | BinaryExpr | declarations.swift:5:34:5:34 | call to -(_:_:) | DotSyntaxCallExpr |
|
||||||
| declarations.swift:5:34:5:34 | Int.Type | TypeExpr | declarations.swift:5:34:5:34 | FixedTypeRepr | FixedTypeRepr |
|
| declarations.swift:5:34:5:34 | Int.Type | TypeExpr | declarations.swift:5:34:5:34 | Int | TypeRepr |
|
||||||
| declarations.swift:5:34:5:34 | call to -(_:_:) | DotSyntaxCallExpr | declarations.swift:5:34:5:34 | -(_:_:) | DeclRefExpr |
|
| declarations.swift:5:34:5:34 | call to -(_:_:) | DotSyntaxCallExpr | declarations.swift:5:34:5:34 | -(_:_:) | DeclRefExpr |
|
||||||
| declarations.swift:9:7:9:7 | deinit | DestructorDecl | declarations.swift:9:7:9:7 | { ... } | BraceStmt |
|
| declarations.swift:9:7:9:7 | deinit | DestructorDecl | declarations.swift:9:7:9:7 | { ... } | BraceStmt |
|
||||||
| declarations.swift:9:7:9:7 | init | ConstructorDecl | declarations.swift:9:7:9:7 | { ... } | BraceStmt |
|
| declarations.swift:9:7:9:7 | init | ConstructorDecl | declarations.swift:9:7:9:7 | { ... } | BraceStmt |
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
| declarations.swift:9:17:9:17 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
| declarations.swift:9:17:9:17 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
||||||
| declarations.swift:9:17:9:17 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| declarations.swift:9:17:9:17 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| declarations.swift:9:17:9:21 | ... as ... | TypedPattern | declarations.swift:9:17:9:17 | x | NamedPattern |
|
| declarations.swift:9:17:9:21 | ... as ... | TypedPattern | declarations.swift:9:17:9:17 | x | NamedPattern |
|
||||||
| declarations.swift:9:17:9:21 | ... as ... | TypedPattern | declarations.swift:9:21:9:21 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:9:17:9:21 | ... as ... | TypedPattern | declarations.swift:9:21:9:21 | Double | TypeRepr |
|
||||||
| declarations.swift:12:5:12:18 | case ... | EnumCaseDecl | declarations.swift:12:10:12:10 | value1 | EnumElementDecl |
|
| declarations.swift:12:5:12:18 | case ... | EnumCaseDecl | declarations.swift:12:10:12:10 | value1 | EnumElementDecl |
|
||||||
| declarations.swift:12:5:12:18 | case ... | EnumCaseDecl | declarations.swift:12:18:12:18 | value2 | EnumElementDecl |
|
| declarations.swift:12:5:12:18 | case ... | EnumCaseDecl | declarations.swift:12:18:12:18 | value2 | EnumElementDecl |
|
||||||
| declarations.swift:13:5:13:26 | case ... | EnumCaseDecl | declarations.swift:13:10:13:10 | value3 | EnumElementDecl |
|
| declarations.swift:13:5:13:26 | case ... | EnumCaseDecl | declarations.swift:13:10:13:10 | value3 | EnumElementDecl |
|
||||||
@@ -75,12 +75,12 @@
|
|||||||
| declarations.swift:23:9:23:9 | mustBeSettable | ConcreteVarDecl | declarations.swift:23:31:23:31 | get | AccessorDecl |
|
| declarations.swift:23:9:23:9 | mustBeSettable | ConcreteVarDecl | declarations.swift:23:31:23:31 | get | AccessorDecl |
|
||||||
| declarations.swift:23:9:23:9 | mustBeSettable | ConcreteVarDecl | declarations.swift:23:35:23:35 | set | AccessorDecl |
|
| declarations.swift:23:9:23:9 | mustBeSettable | ConcreteVarDecl | declarations.swift:23:35:23:35 | set | AccessorDecl |
|
||||||
| declarations.swift:23:9:23:25 | ... as ... | TypedPattern | declarations.swift:23:9:23:9 | mustBeSettable | NamedPattern |
|
| declarations.swift:23:9:23:25 | ... as ... | TypedPattern | declarations.swift:23:9:23:9 | mustBeSettable | NamedPattern |
|
||||||
| declarations.swift:23:9:23:25 | ... as ... | TypedPattern | declarations.swift:23:25:23:25 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:23:9:23:25 | ... as ... | TypedPattern | declarations.swift:23:25:23:25 | Int | TypeRepr |
|
||||||
| declarations.swift:23:35:23:35 | set | AccessorDecl | declarations.swift:23:35:23:35 | newValue | ParamDecl |
|
| declarations.swift:23:35:23:35 | set | AccessorDecl | declarations.swift:23:35:23:35 | newValue | ParamDecl |
|
||||||
| declarations.swift:24:5:24:44 | var ... = ... | PatternBindingDecl | declarations.swift:24:9:24:34 | ... as ... | TypedPattern |
|
| declarations.swift:24:5:24:44 | var ... = ... | PatternBindingDecl | declarations.swift:24:9:24:34 | ... as ... | TypedPattern |
|
||||||
| declarations.swift:24:9:24:9 | doesNotNeedToBeSettable | ConcreteVarDecl | declarations.swift:24:40:24:40 | get | AccessorDecl |
|
| declarations.swift:24:9:24:9 | doesNotNeedToBeSettable | ConcreteVarDecl | declarations.swift:24:40:24:40 | get | AccessorDecl |
|
||||||
| declarations.swift:24:9:24:34 | ... as ... | TypedPattern | declarations.swift:24:9:24:9 | doesNotNeedToBeSettable | NamedPattern |
|
| declarations.swift:24:9:24:34 | ... as ... | TypedPattern | declarations.swift:24:9:24:9 | doesNotNeedToBeSettable | NamedPattern |
|
||||||
| declarations.swift:24:9:24:34 | ... as ... | TypedPattern | declarations.swift:24:34:24:34 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:24:9:24:34 | ... as ... | TypedPattern | declarations.swift:24:34:24:34 | Int | TypeRepr |
|
||||||
| declarations.swift:28:1:28:37 | a_function(a_parameter:) | ConcreteFuncDecl | declarations.swift:28:17:28:31 | a_parameter | ParamDecl |
|
| declarations.swift:28:1:28:37 | a_function(a_parameter:) | ConcreteFuncDecl | declarations.swift:28:17:28:31 | a_parameter | ParamDecl |
|
||||||
| declarations.swift:28:1:28:37 | a_function(a_parameter:) | ConcreteFuncDecl | declarations.swift:28:36:28:37 | { ... } | BraceStmt |
|
| declarations.swift:28:1:28:37 | a_function(a_parameter:) | ConcreteFuncDecl | declarations.swift:28:36:28:37 | { ... } | BraceStmt |
|
||||||
| declarations.swift:30:1:30:18 | var ... = ... | PatternBindingDecl | declarations.swift:30:5:30:5 | a_variable | NamedPattern |
|
| declarations.swift:30:1:30:18 | var ... = ... | PatternBindingDecl | declarations.swift:30:5:30:5 | a_variable | NamedPattern |
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
| declarations.swift:31:5:31:5 | a_property | ConcreteVarDecl | declarations.swift:32:3:34:3 | get | AccessorDecl |
|
| declarations.swift:31:5:31:5 | a_property | ConcreteVarDecl | declarations.swift:32:3:34:3 | get | AccessorDecl |
|
||||||
| declarations.swift:31:5:31:5 | a_property | ConcreteVarDecl | declarations.swift:35:3:35:18 | set | AccessorDecl |
|
| declarations.swift:31:5:31:5 | a_property | ConcreteVarDecl | declarations.swift:35:3:35:18 | set | AccessorDecl |
|
||||||
| declarations.swift:31:5:31:18 | ... as ... | TypedPattern | declarations.swift:31:5:31:5 | a_property | NamedPattern |
|
| declarations.swift:31:5:31:18 | ... as ... | TypedPattern | declarations.swift:31:5:31:5 | a_property | NamedPattern |
|
||||||
| declarations.swift:31:5:31:18 | ... as ... | TypedPattern | declarations.swift:31:18:31:18 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:31:5:31:18 | ... as ... | TypedPattern | declarations.swift:31:18:31:18 | String | TypeRepr |
|
||||||
| declarations.swift:32:3:34:3 | get | AccessorDecl | declarations.swift:32:7:34:3 | { ... } | BraceStmt |
|
| declarations.swift:32:3:34:3 | get | AccessorDecl | declarations.swift:32:7:34:3 | { ... } | BraceStmt |
|
||||||
| declarations.swift:32:7:34:3 | { ... } | BraceStmt | declarations.swift:33:5:33:12 | return ... | ReturnStmt |
|
| declarations.swift:32:7:34:3 | { ... } | BraceStmt | declarations.swift:33:5:33:12 | return ... | ReturnStmt |
|
||||||
| declarations.swift:33:5:33:12 | return ... | ReturnStmt | declarations.swift:33:12:33:12 | here | StringLiteralExpr |
|
| declarations.swift:33:5:33:12 | return ... | ReturnStmt | declarations.swift:33:12:33:12 | here | StringLiteralExpr |
|
||||||
@@ -118,7 +118,7 @@
|
|||||||
| declarations.swift:41:7:41:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
| declarations.swift:41:7:41:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
||||||
| declarations.swift:41:7:41:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| declarations.swift:41:7:41:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| declarations.swift:41:7:41:14 | ... as ... | TypedPattern | declarations.swift:41:7:41:7 | field | NamedPattern |
|
| declarations.swift:41:7:41:14 | ... as ... | TypedPattern | declarations.swift:41:7:41:7 | field | NamedPattern |
|
||||||
| declarations.swift:41:7:41:14 | ... as ... | TypedPattern | declarations.swift:41:14:41:14 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:41:7:41:14 | ... as ... | TypedPattern | declarations.swift:41:14:41:14 | Int | TypeRepr |
|
||||||
| declarations.swift:42:3:44:3 | init | ConstructorDecl | declarations.swift:42:10:44:3 | { ... } | BraceStmt |
|
| declarations.swift:42:3:44:3 | init | ConstructorDecl | declarations.swift:42:10:44:3 | { ... } | BraceStmt |
|
||||||
| declarations.swift:42:10:44:3 | { ... } | BraceStmt | declarations.swift:43:5:43:13 | ... = ... | AssignExpr |
|
| declarations.swift:42:10:44:3 | { ... } | BraceStmt | declarations.swift:43:5:43:13 | ... = ... | AssignExpr |
|
||||||
| declarations.swift:42:10:44:3 | { ... } | BraceStmt | declarations.swift:44:3:44:3 | return | ReturnStmt |
|
| declarations.swift:42:10:44:3 | { ... } | BraceStmt | declarations.swift:44:3:44:3 | return | ReturnStmt |
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
| declarations.swift:69:3:73:3 | var ... = ... | PatternBindingDecl | declarations.swift:69:7:69:21 | ... as ... | TypedPattern |
|
| declarations.swift:69:3:73:3 | var ... = ... | PatternBindingDecl | declarations.swift:69:7:69:21 | ... as ... | TypedPattern |
|
||||||
| declarations.swift:69:7:69:7 | wrappedValue | ConcreteVarDecl | declarations.swift:70:5:72:5 | get | AccessorDecl |
|
| declarations.swift:69:7:69:7 | wrappedValue | ConcreteVarDecl | declarations.swift:70:5:72:5 | get | AccessorDecl |
|
||||||
| declarations.swift:69:7:69:21 | ... as ... | TypedPattern | declarations.swift:69:7:69:7 | wrappedValue | NamedPattern |
|
| declarations.swift:69:7:69:21 | ... as ... | TypedPattern | declarations.swift:69:7:69:7 | wrappedValue | NamedPattern |
|
||||||
| declarations.swift:69:7:69:21 | ... as ... | TypedPattern | declarations.swift:69:21:69:21 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:69:7:69:21 | ... as ... | TypedPattern | declarations.swift:69:21:69:21 | Int | TypeRepr |
|
||||||
| declarations.swift:70:5:72:5 | get | AccessorDecl | declarations.swift:70:9:72:5 | { ... } | BraceStmt |
|
| declarations.swift:70:5:72:5 | get | AccessorDecl | declarations.swift:70:9:72:5 | { ... } | BraceStmt |
|
||||||
| declarations.swift:70:9:72:5 | { ... } | BraceStmt | declarations.swift:71:7:71:14 | return ... | ReturnStmt |
|
| declarations.swift:70:9:72:5 | { ... } | BraceStmt | declarations.swift:71:7:71:14 | return ... | ReturnStmt |
|
||||||
| declarations.swift:71:7:71:14 | return ... | ReturnStmt | declarations.swift:71:14:71:14 | 0 | IntegerLiteralExpr |
|
| declarations.swift:71:7:71:14 | return ... | ReturnStmt | declarations.swift:71:14:71:14 | 0 | IntegerLiteralExpr |
|
||||||
@@ -147,7 +147,7 @@
|
|||||||
| declarations.swift:76:19:79:1 | { ... } | BraceStmt | declarations.swift:77:16:77:23 | var ... = ... | PatternBindingDecl |
|
| declarations.swift:76:19:79:1 | { ... } | BraceStmt | declarations.swift:77:16:77:23 | var ... = ... | PatternBindingDecl |
|
||||||
| declarations.swift:76:19:79:1 | { ... } | BraceStmt | declarations.swift:77:20:77:20 | x | ConcreteVarDecl |
|
| declarations.swift:76:19:79:1 | { ... } | BraceStmt | declarations.swift:77:20:77:20 | x | ConcreteVarDecl |
|
||||||
| declarations.swift:76:19:79:1 | { ... } | BraceStmt | declarations.swift:78:3:78:10 | return ... | ReturnStmt |
|
| declarations.swift:76:19:79:1 | { ... } | BraceStmt | declarations.swift:78:3:78:10 | return ... | ReturnStmt |
|
||||||
| declarations.swift:77:4:77:4 | ZeroWrapper.Type | TypeExpr | declarations.swift:77:4:77:4 | FixedTypeRepr | FixedTypeRepr |
|
| declarations.swift:77:4:77:4 | ZeroWrapper.Type | TypeExpr | declarations.swift:77:4:77:4 | ZeroWrapper | TypeRepr |
|
||||||
| declarations.swift:77:4:77:4 | call to ... | CallExpr | declarations.swift:77:4:77:4 | call to init | ConstructorRefCallExpr |
|
| declarations.swift:77:4:77:4 | call to ... | CallExpr | declarations.swift:77:4:77:4 | call to init | ConstructorRefCallExpr |
|
||||||
| declarations.swift:77:4:77:4 | call to init | ConstructorRefCallExpr | declarations.swift:77:4:77:4 | init | DeclRefExpr |
|
| declarations.swift:77:4:77:4 | call to init | ConstructorRefCallExpr | declarations.swift:77:4:77:4 | init | DeclRefExpr |
|
||||||
| declarations.swift:77:16:77:23 | var ... = ... | PatternBindingDecl | declarations.swift:77:20:77:23 | ... as ... | TypedPattern |
|
| declarations.swift:77:16:77:23 | var ... = ... | PatternBindingDecl | declarations.swift:77:20:77:23 | ... as ... | TypedPattern |
|
||||||
@@ -156,7 +156,7 @@
|
|||||||
| declarations.swift:77:20:77:20 | x | ConcreteVarDecl | declarations.swift:77:20:77:20 | get | AccessorDecl |
|
| declarations.swift:77:20:77:20 | x | ConcreteVarDecl | declarations.swift:77:20:77:20 | get | AccessorDecl |
|
||||||
| declarations.swift:77:20:77:20 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| declarations.swift:77:20:77:20 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| declarations.swift:77:20:77:23 | ... as ... | TypedPattern | declarations.swift:77:20:77:20 | x | NamedPattern |
|
| declarations.swift:77:20:77:23 | ... as ... | TypedPattern | declarations.swift:77:20:77:20 | x | NamedPattern |
|
||||||
| declarations.swift:77:20:77:23 | ... as ... | TypedPattern | declarations.swift:77:23:77:23 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:77:20:77:23 | ... as ... | TypedPattern | declarations.swift:77:23:77:23 | Int | TypeRepr |
|
||||||
| declarations.swift:78:3:78:10 | return ... | ReturnStmt | declarations.swift:78:10:78:10 | x | DeclRefExpr |
|
| declarations.swift:78:3:78:10 | return ... | ReturnStmt | declarations.swift:78:10:78:10 | x | DeclRefExpr |
|
||||||
| declarations.swift:81:8:81:8 | init | ConstructorDecl | declarations.swift:81:8:81:8 | hasBoth | ParamDecl |
|
| declarations.swift:81:8:81:8 | init | ConstructorDecl | declarations.swift:81:8:81:8 | hasBoth | ParamDecl |
|
||||||
| declarations.swift:81:8:81:8 | init | ConstructorDecl | declarations.swift:81:8:81:8 | hasDidSet1 | ParamDecl |
|
| declarations.swift:81:8:81:8 | init | ConstructorDecl | declarations.swift:81:8:81:8 | hasDidSet1 | ParamDecl |
|
||||||
@@ -172,7 +172,7 @@
|
|||||||
| declarations.swift:82:7:82:7 | yield ... | YieldStmt | file://:0:0:0:0 | &... | InOutExpr |
|
| declarations.swift:82:7:82:7 | yield ... | YieldStmt | file://:0:0:0:0 | &... | InOutExpr |
|
||||||
| declarations.swift:82:7:82:7 | { ... } | BraceStmt | declarations.swift:82:7:82:7 | yield ... | YieldStmt |
|
| declarations.swift:82:7:82:7 | { ... } | BraceStmt | declarations.swift:82:7:82:7 | yield ... | YieldStmt |
|
||||||
| declarations.swift:82:7:82:22 | ... as ... | TypedPattern | declarations.swift:82:7:82:7 | settableField | NamedPattern |
|
| declarations.swift:82:7:82:22 | ... as ... | TypedPattern | declarations.swift:82:7:82:7 | settableField | NamedPattern |
|
||||||
| declarations.swift:82:7:82:22 | ... as ... | TypedPattern | declarations.swift:82:22:82:22 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:82:7:82:22 | ... as ... | TypedPattern | declarations.swift:82:22:82:22 | Int | TypeRepr |
|
||||||
| declarations.swift:83:5:83:11 | set | AccessorDecl | declarations.swift:83:5:83:5 | newValue | ParamDecl |
|
| declarations.swift:83:5:83:11 | set | AccessorDecl | declarations.swift:83:5:83:5 | newValue | ParamDecl |
|
||||||
| declarations.swift:83:5:83:11 | set | AccessorDecl | declarations.swift:83:9:83:11 | { ... } | BraceStmt |
|
| declarations.swift:83:5:83:11 | set | AccessorDecl | declarations.swift:83:9:83:11 | { ... } | BraceStmt |
|
||||||
| declarations.swift:84:5:86:5 | get | AccessorDecl | declarations.swift:84:9:86:5 | { ... } | BraceStmt |
|
| declarations.swift:84:5:86:5 | get | AccessorDecl | declarations.swift:84:9:86:5 | { ... } | BraceStmt |
|
||||||
@@ -181,14 +181,14 @@
|
|||||||
| declarations.swift:91:3:93:3 | var ... = ... | PatternBindingDecl | declarations.swift:91:7:91:23 | ... as ... | TypedPattern |
|
| declarations.swift:91:3:93:3 | var ... = ... | PatternBindingDecl | declarations.swift:91:7:91:23 | ... as ... | TypedPattern |
|
||||||
| declarations.swift:91:7:91:7 | readOnlyField1 | ConcreteVarDecl | declarations.swift:91:27:93:3 | get | AccessorDecl |
|
| declarations.swift:91:7:91:7 | readOnlyField1 | ConcreteVarDecl | declarations.swift:91:27:93:3 | get | AccessorDecl |
|
||||||
| declarations.swift:91:7:91:23 | ... as ... | TypedPattern | declarations.swift:91:7:91:7 | readOnlyField1 | NamedPattern |
|
| declarations.swift:91:7:91:23 | ... as ... | TypedPattern | declarations.swift:91:7:91:7 | readOnlyField1 | NamedPattern |
|
||||||
| declarations.swift:91:7:91:23 | ... as ... | TypedPattern | declarations.swift:91:23:91:23 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:91:7:91:23 | ... as ... | TypedPattern | declarations.swift:91:23:91:23 | Int | TypeRepr |
|
||||||
| declarations.swift:91:27:93:3 | get | AccessorDecl | declarations.swift:91:27:93:3 | { ... } | BraceStmt |
|
| declarations.swift:91:27:93:3 | get | AccessorDecl | declarations.swift:91:27:93:3 | { ... } | BraceStmt |
|
||||||
| declarations.swift:91:27:93:3 | { ... } | BraceStmt | declarations.swift:92:5:92:12 | return ... | ReturnStmt |
|
| declarations.swift:91:27:93:3 | { ... } | BraceStmt | declarations.swift:92:5:92:12 | return ... | ReturnStmt |
|
||||||
| declarations.swift:92:5:92:12 | return ... | ReturnStmt | declarations.swift:92:12:92:12 | 0 | IntegerLiteralExpr |
|
| declarations.swift:92:5:92:12 | return ... | ReturnStmt | declarations.swift:92:12:92:12 | 0 | IntegerLiteralExpr |
|
||||||
| declarations.swift:96:3:100:3 | var ... = ... | PatternBindingDecl | declarations.swift:96:7:96:23 | ... as ... | TypedPattern |
|
| declarations.swift:96:3:100:3 | var ... = ... | PatternBindingDecl | declarations.swift:96:7:96:23 | ... as ... | TypedPattern |
|
||||||
| declarations.swift:96:7:96:7 | readOnlyField2 | ConcreteVarDecl | declarations.swift:97:5:99:5 | get | AccessorDecl |
|
| declarations.swift:96:7:96:7 | readOnlyField2 | ConcreteVarDecl | declarations.swift:97:5:99:5 | get | AccessorDecl |
|
||||||
| declarations.swift:96:7:96:23 | ... as ... | TypedPattern | declarations.swift:96:7:96:7 | readOnlyField2 | NamedPattern |
|
| declarations.swift:96:7:96:23 | ... as ... | TypedPattern | declarations.swift:96:7:96:7 | readOnlyField2 | NamedPattern |
|
||||||
| declarations.swift:96:7:96:23 | ... as ... | TypedPattern | declarations.swift:96:23:96:23 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:96:7:96:23 | ... as ... | TypedPattern | declarations.swift:96:23:96:23 | Int | TypeRepr |
|
||||||
| declarations.swift:97:5:99:5 | get | AccessorDecl | declarations.swift:97:9:99:5 | { ... } | BraceStmt |
|
| declarations.swift:97:5:99:5 | get | AccessorDecl | declarations.swift:97:9:99:5 | { ... } | BraceStmt |
|
||||||
| declarations.swift:97:9:99:5 | { ... } | BraceStmt | declarations.swift:98:7:98:14 | return ... | ReturnStmt |
|
| declarations.swift:97:9:99:5 | { ... } | BraceStmt | declarations.swift:98:7:98:14 | return ... | ReturnStmt |
|
||||||
| declarations.swift:98:7:98:14 | return ... | ReturnStmt | declarations.swift:98:14:98:14 | 0 | IntegerLiteralExpr |
|
| declarations.swift:98:7:98:14 | return ... | ReturnStmt | declarations.swift:98:14:98:14 | 0 | IntegerLiteralExpr |
|
||||||
@@ -205,7 +205,7 @@
|
|||||||
| declarations.swift:102:7:102:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
| declarations.swift:102:7:102:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
||||||
| declarations.swift:102:7:102:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| declarations.swift:102:7:102:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| declarations.swift:102:7:102:21 | ... as ... | TypedPattern | declarations.swift:102:7:102:7 | normalField | NamedPattern |
|
| declarations.swift:102:7:102:21 | ... as ... | TypedPattern | declarations.swift:102:7:102:7 | normalField | NamedPattern |
|
||||||
| declarations.swift:102:7:102:21 | ... as ... | TypedPattern | declarations.swift:102:21:102:21 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:102:7:102:21 | ... as ... | TypedPattern | declarations.swift:102:21:102:21 | Int | TypeRepr |
|
||||||
| declarations.swift:104:3:104:3 | (unnamed function decl) | AccessorDecl | declarations.swift:104:3:104:3 | { ... } | BraceStmt |
|
| declarations.swift:104:3:104:3 | (unnamed function decl) | AccessorDecl | declarations.swift:104:3:104:3 | { ... } | BraceStmt |
|
||||||
| declarations.swift:104:3:104:3 | (unnamed function decl) | AccessorDecl | file://:0:0:0:0 | x | ParamDecl |
|
| declarations.swift:104:3:104:3 | (unnamed function decl) | AccessorDecl | file://:0:0:0:0 | x | ParamDecl |
|
||||||
| declarations.swift:104:3:104:3 | yield ... | YieldStmt | file://:0:0:0:0 | &... | InOutExpr |
|
| declarations.swift:104:3:104:3 | yield ... | YieldStmt | file://:0:0:0:0 | &... | InOutExpr |
|
||||||
@@ -244,7 +244,7 @@
|
|||||||
| declarations.swift:115:7:115:7 | { ... } | BraceStmt | file://:0:0:0:0 | call to ... | CallExpr |
|
| declarations.swift:115:7:115:7 | { ... } | BraceStmt | file://:0:0:0:0 | call to ... | CallExpr |
|
||||||
| declarations.swift:115:7:115:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| declarations.swift:115:7:115:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| declarations.swift:115:7:115:21 | ... as ... | TypedPattern | declarations.swift:115:7:115:7 | hasWillSet1 | NamedPattern |
|
| declarations.swift:115:7:115:21 | ... as ... | TypedPattern | declarations.swift:115:7:115:7 | hasWillSet1 | NamedPattern |
|
||||||
| declarations.swift:115:7:115:21 | ... as ... | TypedPattern | declarations.swift:115:21:115:21 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:115:7:115:21 | ... as ... | TypedPattern | declarations.swift:115:21:115:21 | Int | TypeRepr |
|
||||||
| declarations.swift:116:5:116:25 | willSet | AccessorDecl | declarations.swift:116:13:116:13 | newValue | ParamDecl |
|
| declarations.swift:116:5:116:25 | willSet | AccessorDecl | declarations.swift:116:13:116:13 | newValue | ParamDecl |
|
||||||
| declarations.swift:116:5:116:25 | willSet | AccessorDecl | declarations.swift:116:23:116:25 | { ... } | BraceStmt |
|
| declarations.swift:116:5:116:25 | willSet | AccessorDecl | declarations.swift:116:23:116:25 | { ... } | BraceStmt |
|
||||||
| declarations.swift:119:3:121:3 | var ... = ... | PatternBindingDecl | declarations.swift:119:7:119:21 | ... as ... | TypedPattern |
|
| declarations.swift:119:3:121:3 | var ... = ... | PatternBindingDecl | declarations.swift:119:7:119:21 | ... as ... | TypedPattern |
|
||||||
@@ -262,7 +262,7 @@
|
|||||||
| declarations.swift:119:7:119:7 | { ... } | BraceStmt | file://:0:0:0:0 | call to ... | CallExpr |
|
| declarations.swift:119:7:119:7 | { ... } | BraceStmt | file://:0:0:0:0 | call to ... | CallExpr |
|
||||||
| declarations.swift:119:7:119:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| declarations.swift:119:7:119:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| declarations.swift:119:7:119:21 | ... as ... | TypedPattern | declarations.swift:119:7:119:7 | hasWillSet2 | NamedPattern |
|
| declarations.swift:119:7:119:21 | ... as ... | TypedPattern | declarations.swift:119:7:119:7 | hasWillSet2 | NamedPattern |
|
||||||
| declarations.swift:119:7:119:21 | ... as ... | TypedPattern | declarations.swift:119:21:119:21 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:119:7:119:21 | ... as ... | TypedPattern | declarations.swift:119:21:119:21 | Int | TypeRepr |
|
||||||
| declarations.swift:120:5:120:15 | willSet | AccessorDecl | declarations.swift:120:5:120:5 | newValue | ParamDecl |
|
| declarations.swift:120:5:120:15 | willSet | AccessorDecl | declarations.swift:120:5:120:5 | newValue | ParamDecl |
|
||||||
| declarations.swift:120:5:120:15 | willSet | AccessorDecl | declarations.swift:120:13:120:15 | { ... } | BraceStmt |
|
| declarations.swift:120:5:120:15 | willSet | AccessorDecl | declarations.swift:120:13:120:15 | { ... } | BraceStmt |
|
||||||
| declarations.swift:123:3:125:3 | var ... = ... | PatternBindingDecl | declarations.swift:123:7:123:20 | ... as ... | TypedPattern |
|
| declarations.swift:123:3:125:3 | var ... = ... | PatternBindingDecl | declarations.swift:123:7:123:20 | ... as ... | TypedPattern |
|
||||||
@@ -282,7 +282,7 @@
|
|||||||
| declarations.swift:123:7:123:7 | { ... } | BraceStmt | file://:0:0:0:0 | tmp | ConcreteVarDecl |
|
| declarations.swift:123:7:123:7 | { ... } | BraceStmt | file://:0:0:0:0 | tmp | ConcreteVarDecl |
|
||||||
| declarations.swift:123:7:123:7 | { ... } | BraceStmt | file://:0:0:0:0 | var ... = ... | PatternBindingDecl |
|
| declarations.swift:123:7:123:7 | { ... } | BraceStmt | file://:0:0:0:0 | var ... = ... | PatternBindingDecl |
|
||||||
| declarations.swift:123:7:123:20 | ... as ... | TypedPattern | declarations.swift:123:7:123:7 | hasDidSet1 | NamedPattern |
|
| declarations.swift:123:7:123:20 | ... as ... | TypedPattern | declarations.swift:123:7:123:7 | hasDidSet1 | NamedPattern |
|
||||||
| declarations.swift:123:7:123:20 | ... as ... | TypedPattern | declarations.swift:123:20:123:20 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:123:7:123:20 | ... as ... | TypedPattern | declarations.swift:123:20:123:20 | Int | TypeRepr |
|
||||||
| declarations.swift:124:5:124:24 | didSet | AccessorDecl | declarations.swift:124:12:124:12 | oldValue | ParamDecl |
|
| declarations.swift:124:5:124:24 | didSet | AccessorDecl | declarations.swift:124:12:124:12 | oldValue | ParamDecl |
|
||||||
| declarations.swift:124:5:124:24 | didSet | AccessorDecl | declarations.swift:124:22:124:24 | { ... } | BraceStmt |
|
| declarations.swift:124:5:124:24 | didSet | AccessorDecl | declarations.swift:124:22:124:24 | { ... } | BraceStmt |
|
||||||
| declarations.swift:127:3:129:3 | var ... = ... | PatternBindingDecl | declarations.swift:127:7:127:20 | ... as ... | TypedPattern |
|
| declarations.swift:127:3:129:3 | var ... = ... | PatternBindingDecl | declarations.swift:127:7:127:20 | ... as ... | TypedPattern |
|
||||||
@@ -301,7 +301,7 @@
|
|||||||
| declarations.swift:127:7:127:7 | { ... } | BraceStmt | file://:0:0:0:0 | call to ... | CallExpr |
|
| declarations.swift:127:7:127:7 | { ... } | BraceStmt | file://:0:0:0:0 | call to ... | CallExpr |
|
||||||
| declarations.swift:127:7:127:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| declarations.swift:127:7:127:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| declarations.swift:127:7:127:20 | ... as ... | TypedPattern | declarations.swift:127:7:127:7 | hasDidSet2 | NamedPattern |
|
| declarations.swift:127:7:127:20 | ... as ... | TypedPattern | declarations.swift:127:7:127:7 | hasDidSet2 | NamedPattern |
|
||||||
| declarations.swift:127:7:127:20 | ... as ... | TypedPattern | declarations.swift:127:20:127:20 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:127:7:127:20 | ... as ... | TypedPattern | declarations.swift:127:20:127:20 | Int | TypeRepr |
|
||||||
| declarations.swift:128:5:128:14 | didSet | AccessorDecl | declarations.swift:128:12:128:14 | { ... } | BraceStmt |
|
| declarations.swift:128:5:128:14 | didSet | AccessorDecl | declarations.swift:128:12:128:14 | { ... } | BraceStmt |
|
||||||
| declarations.swift:131:3:135:3 | var ... = ... | PatternBindingDecl | declarations.swift:131:7:131:17 | ... as ... | TypedPattern |
|
| declarations.swift:131:3:135:3 | var ... = ... | PatternBindingDecl | declarations.swift:131:7:131:17 | ... as ... | TypedPattern |
|
||||||
| declarations.swift:131:7:131:7 | (unnamed function decl) | AccessorDecl | declarations.swift:131:7:131:7 | { ... } | BraceStmt |
|
| declarations.swift:131:7:131:7 | (unnamed function decl) | AccessorDecl | declarations.swift:131:7:131:7 | { ... } | BraceStmt |
|
||||||
@@ -320,7 +320,7 @@
|
|||||||
| declarations.swift:131:7:131:7 | { ... } | BraceStmt | file://:0:0:0:0 | call to ... | CallExpr |
|
| declarations.swift:131:7:131:7 | { ... } | BraceStmt | file://:0:0:0:0 | call to ... | CallExpr |
|
||||||
| declarations.swift:131:7:131:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| declarations.swift:131:7:131:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| declarations.swift:131:7:131:17 | ... as ... | TypedPattern | declarations.swift:131:7:131:7 | hasBoth | NamedPattern |
|
| declarations.swift:131:7:131:17 | ... as ... | TypedPattern | declarations.swift:131:7:131:7 | hasBoth | NamedPattern |
|
||||||
| declarations.swift:131:7:131:17 | ... as ... | TypedPattern | declarations.swift:131:17:131:17 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| declarations.swift:131:7:131:17 | ... as ... | TypedPattern | declarations.swift:131:17:131:17 | Int | TypeRepr |
|
||||||
| declarations.swift:132:5:132:15 | willSet | AccessorDecl | declarations.swift:132:5:132:5 | newValue | ParamDecl |
|
| declarations.swift:132:5:132:15 | willSet | AccessorDecl | declarations.swift:132:5:132:5 | newValue | ParamDecl |
|
||||||
| declarations.swift:132:5:132:15 | willSet | AccessorDecl | declarations.swift:132:13:132:15 | { ... } | BraceStmt |
|
| declarations.swift:132:5:132:15 | willSet | AccessorDecl | declarations.swift:132:13:132:15 | { ... } | BraceStmt |
|
||||||
| declarations.swift:134:5:134:14 | didSet | AccessorDecl | declarations.swift:134:12:134:14 | { ... } | BraceStmt |
|
| declarations.swift:134:5:134:14 | didSet | AccessorDecl | declarations.swift:134:12:134:14 | { ... } | BraceStmt |
|
||||||
@@ -382,7 +382,7 @@
|
|||||||
| expressions.swift:8:1:8:15 | { ... } | BraceStmt | expressions.swift:8:1:8:15 | var ... = ... | PatternBindingDecl |
|
| expressions.swift:8:1:8:15 | { ... } | BraceStmt | expressions.swift:8:1:8:15 | var ... = ... | PatternBindingDecl |
|
||||||
| expressions.swift:8:1:8:15 | { ... } | TopLevelCodeDecl | expressions.swift:8:1:8:15 | { ... } | BraceStmt |
|
| expressions.swift:8:1:8:15 | { ... } | TopLevelCodeDecl | expressions.swift:8:1:8:15 | { ... } | BraceStmt |
|
||||||
| expressions.swift:8:5:8:11 | ... as ... | TypedPattern | expressions.swift:8:5:8:5 | n | NamedPattern |
|
| expressions.swift:8:5:8:11 | ... as ... | TypedPattern | expressions.swift:8:5:8:5 | n | NamedPattern |
|
||||||
| expressions.swift:8:5:8:11 | ... as ... | TypedPattern | expressions.swift:8:8:8:11 | ...? | OptionalTypeRepr |
|
| expressions.swift:8:5:8:11 | ... as ... | TypedPattern | expressions.swift:8:8:8:11 | Int? | TypeRepr |
|
||||||
| expressions.swift:11:3:11:8 | case ... | EnumCaseDecl | expressions.swift:11:8:11:8 | failed | EnumElementDecl |
|
| expressions.swift:11:3:11:8 | case ... | EnumCaseDecl | expressions.swift:11:8:11:8 | failed | EnumElementDecl |
|
||||||
| expressions.swift:14:1:18:1 | failure(_:) | ConcreteFuncDecl | expressions.swift:14:14:14:19 | x | ParamDecl |
|
| expressions.swift:14:1:18:1 | failure(_:) | ConcreteFuncDecl | expressions.swift:14:14:14:19 | x | ParamDecl |
|
||||||
| expressions.swift:14:1:18:1 | failure(_:) | ConcreteFuncDecl | expressions.swift:14:31:18:1 | { ... } | BraceStmt |
|
| expressions.swift:14:1:18:1 | failure(_:) | ConcreteFuncDecl | expressions.swift:14:31:18:1 | { ... } | BraceStmt |
|
||||||
@@ -390,11 +390,11 @@
|
|||||||
| expressions.swift:15:3:17:3 | guard ... else { ... } | GuardStmt | expressions.swift:15:9:15:14 | StmtCondition | StmtCondition |
|
| expressions.swift:15:3:17:3 | guard ... else { ... } | GuardStmt | expressions.swift:15:9:15:14 | StmtCondition | StmtCondition |
|
||||||
| expressions.swift:15:3:17:3 | guard ... else { ... } | GuardStmt | expressions.swift:15:21:17:3 | { ... } | BraceStmt |
|
| expressions.swift:15:3:17:3 | guard ... else { ... } | GuardStmt | expressions.swift:15:21:17:3 | { ... } | BraceStmt |
|
||||||
| expressions.swift:15:9:15:14 | ... call to !=(_:_:) ... | BinaryExpr | expressions.swift:15:11:15:11 | call to !=(_:_:) | DotSyntaxCallExpr |
|
| expressions.swift:15:9:15:14 | ... call to !=(_:_:) ... | BinaryExpr | expressions.swift:15:11:15:11 | call to !=(_:_:) | DotSyntaxCallExpr |
|
||||||
| expressions.swift:15:11:15:11 | Int.Type | TypeExpr | expressions.swift:15:11:15:11 | FixedTypeRepr | FixedTypeRepr |
|
| expressions.swift:15:11:15:11 | Int.Type | TypeExpr | expressions.swift:15:11:15:11 | Int | TypeRepr |
|
||||||
| expressions.swift:15:11:15:11 | call to !=(_:_:) | DotSyntaxCallExpr | expressions.swift:15:11:15:11 | !=(_:_:) | DeclRefExpr |
|
| expressions.swift:15:11:15:11 | call to !=(_:_:) | DotSyntaxCallExpr | expressions.swift:15:11:15:11 | !=(_:_:) | DeclRefExpr |
|
||||||
| expressions.swift:15:21:17:3 | { ... } | BraceStmt | expressions.swift:16:5:16:19 | throw ... | ThrowStmt |
|
| expressions.swift:15:21:17:3 | { ... } | BraceStmt | expressions.swift:16:5:16:19 | throw ... | ThrowStmt |
|
||||||
| expressions.swift:16:5:16:19 | throw ... | ThrowStmt | expressions.swift:16:11:16:19 | (Error) ... | ErasureExpr |
|
| expressions.swift:16:5:16:19 | throw ... | ThrowStmt | expressions.swift:16:11:16:19 | (Error) ... | ErasureExpr |
|
||||||
| expressions.swift:16:11:16:11 | AnError.Type | TypeExpr | expressions.swift:16:11:16:11 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:16:11:16:11 | AnError.Type | TypeExpr | expressions.swift:16:11:16:11 | AnError | TypeRepr |
|
||||||
| expressions.swift:16:11:16:19 | (Error) ... | ErasureExpr | expressions.swift:16:11:16:19 | call to ... | DotSyntaxCallExpr |
|
| expressions.swift:16:11:16:19 | (Error) ... | ErasureExpr | expressions.swift:16:11:16:19 | call to ... | DotSyntaxCallExpr |
|
||||||
| expressions.swift:16:11:16:19 | call to ... | DotSyntaxCallExpr | expressions.swift:16:19:16:19 | failed | DeclRefExpr |
|
| expressions.swift:16:11:16:19 | call to ... | DotSyntaxCallExpr | expressions.swift:16:19:16:19 | failed | DeclRefExpr |
|
||||||
| expressions.swift:20:1:20:16 | try! ... | ForceTryExpr | expressions.swift:20:6:20:16 | call to failure(_:) | CallExpr |
|
| expressions.swift:20:1:20:16 | try! ... | ForceTryExpr | expressions.swift:20:6:20:16 | call to failure(_:) | CallExpr |
|
||||||
@@ -413,7 +413,7 @@
|
|||||||
| expressions.swift:27:1:27:19 | var ... = ... | PatternBindingDecl | expressions.swift:27:13:27:19 | call to ... | CallExpr |
|
| expressions.swift:27:1:27:19 | var ... = ... | PatternBindingDecl | expressions.swift:27:13:27:19 | call to ... | CallExpr |
|
||||||
| expressions.swift:27:1:27:19 | { ... } | BraceStmt | expressions.swift:27:1:27:19 | var ... = ... | PatternBindingDecl |
|
| expressions.swift:27:1:27:19 | { ... } | BraceStmt | expressions.swift:27:1:27:19 | var ... = ... | PatternBindingDecl |
|
||||||
| expressions.swift:27:1:27:19 | { ... } | TopLevelCodeDecl | expressions.swift:27:1:27:19 | { ... } | BraceStmt |
|
| expressions.swift:27:1:27:19 | { ... } | TopLevelCodeDecl | expressions.swift:27:1:27:19 | { ... } | BraceStmt |
|
||||||
| expressions.swift:27:13:27:13 | Klass.Type | TypeExpr | expressions.swift:27:13:27:13 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:27:13:27:13 | Klass.Type | TypeExpr | expressions.swift:27:13:27:13 | Klass | TypeRepr |
|
||||||
| expressions.swift:27:13:27:13 | call to init | ConstructorRefCallExpr | expressions.swift:27:13:27:13 | init | DeclRefExpr |
|
| expressions.swift:27:13:27:13 | call to init | ConstructorRefCallExpr | expressions.swift:27:13:27:13 | init | DeclRefExpr |
|
||||||
| expressions.swift:27:13:27:19 | call to ... | CallExpr | expressions.swift:27:13:27:13 | call to init | ConstructorRefCallExpr |
|
| expressions.swift:27:13:27:19 | call to ... | CallExpr | expressions.swift:27:13:27:13 | call to init | ConstructorRefCallExpr |
|
||||||
| expressions.swift:29:1:29:19 | var ... = ... | PatternBindingDecl | expressions.swift:29:5:29:5 | d | NamedPattern |
|
| expressions.swift:29:1:29:19 | var ... = ... | PatternBindingDecl | expressions.swift:29:5:29:5 | d | NamedPattern |
|
||||||
@@ -467,7 +467,7 @@
|
|||||||
| expressions.swift:41:10:43:1 | { ... } | ClosureExpr | expressions.swift:41:21:41:24 | y | ParamDecl |
|
| expressions.swift:41:10:43:1 | { ... } | ClosureExpr | expressions.swift:41:21:41:24 | y | ParamDecl |
|
||||||
| expressions.swift:42:5:42:16 | return ... | ReturnStmt | expressions.swift:42:12:42:16 | ... call to +(_:_:) ... | BinaryExpr |
|
| expressions.swift:42:5:42:16 | return ... | ReturnStmt | expressions.swift:42:12:42:16 | ... call to +(_:_:) ... | BinaryExpr |
|
||||||
| expressions.swift:42:12:42:16 | ... call to +(_:_:) ... | BinaryExpr | expressions.swift:42:14:42:14 | call to +(_:_:) | DotSyntaxCallExpr |
|
| expressions.swift:42:12:42:16 | ... call to +(_:_:) ... | BinaryExpr | expressions.swift:42:14:42:14 | call to +(_:_:) | DotSyntaxCallExpr |
|
||||||
| expressions.swift:42:14:42:14 | Int.Type | TypeExpr | expressions.swift:42:14:42:14 | FixedTypeRepr | FixedTypeRepr |
|
| expressions.swift:42:14:42:14 | Int.Type | TypeExpr | expressions.swift:42:14:42:14 | Int | TypeRepr |
|
||||||
| expressions.swift:42:14:42:14 | call to +(_:_:) | DotSyntaxCallExpr | expressions.swift:42:14:42:14 | +(_:_:) | DeclRefExpr |
|
| expressions.swift:42:14:42:14 | call to +(_:_:) | DotSyntaxCallExpr | expressions.swift:42:14:42:14 | +(_:_:) | DeclRefExpr |
|
||||||
| expressions.swift:44:1:46:1 | call to closured(closure:) | CallExpr | expressions.swift:44:1:44:1 | closured(closure:) | DeclRefExpr |
|
| expressions.swift:44:1:46:1 | call to closured(closure:) | CallExpr | expressions.swift:44:1:44:1 | closured(closure:) | DeclRefExpr |
|
||||||
| expressions.swift:44:1:46:1 | { ... } | BraceStmt | expressions.swift:44:1:46:1 | call to closured(closure:) | CallExpr |
|
| expressions.swift:44:1:46:1 | { ... } | BraceStmt | expressions.swift:44:1:46:1 | call to closured(closure:) | CallExpr |
|
||||||
@@ -478,7 +478,7 @@
|
|||||||
| expressions.swift:44:10:46:1 | { ... } | ClosureExpr | expressions.swift:44:15:44:15 | y | ParamDecl |
|
| expressions.swift:44:10:46:1 | { ... } | ClosureExpr | expressions.swift:44:15:44:15 | y | ParamDecl |
|
||||||
| expressions.swift:45:5:45:16 | return ... | ReturnStmt | expressions.swift:45:12:45:16 | ... call to +(_:_:) ... | BinaryExpr |
|
| expressions.swift:45:5:45:16 | return ... | ReturnStmt | expressions.swift:45:12:45:16 | ... call to +(_:_:) ... | BinaryExpr |
|
||||||
| expressions.swift:45:12:45:16 | ... call to +(_:_:) ... | BinaryExpr | expressions.swift:45:14:45:14 | call to +(_:_:) | DotSyntaxCallExpr |
|
| expressions.swift:45:12:45:16 | ... call to +(_:_:) ... | BinaryExpr | expressions.swift:45:14:45:14 | call to +(_:_:) | DotSyntaxCallExpr |
|
||||||
| expressions.swift:45:14:45:14 | Int.Type | TypeExpr | expressions.swift:45:14:45:14 | FixedTypeRepr | FixedTypeRepr |
|
| expressions.swift:45:14:45:14 | Int.Type | TypeExpr | expressions.swift:45:14:45:14 | Int | TypeRepr |
|
||||||
| expressions.swift:45:14:45:14 | call to +(_:_:) | DotSyntaxCallExpr | expressions.swift:45:14:45:14 | +(_:_:) | DeclRefExpr |
|
| expressions.swift:45:14:45:14 | call to +(_:_:) | DotSyntaxCallExpr | expressions.swift:45:14:45:14 | +(_:_:) | DeclRefExpr |
|
||||||
| expressions.swift:47:1:47:27 | call to closured(closure:) | CallExpr | expressions.swift:47:1:47:1 | closured(closure:) | DeclRefExpr |
|
| expressions.swift:47:1:47:27 | call to closured(closure:) | CallExpr | expressions.swift:47:1:47:1 | closured(closure:) | DeclRefExpr |
|
||||||
| expressions.swift:47:1:47:27 | { ... } | BraceStmt | expressions.swift:47:1:47:27 | call to closured(closure:) | CallExpr |
|
| expressions.swift:47:1:47:27 | { ... } | BraceStmt | expressions.swift:47:1:47:27 | call to closured(closure:) | CallExpr |
|
||||||
@@ -489,7 +489,7 @@
|
|||||||
| expressions.swift:47:10:47:27 | { ... } | ClosureExpr | expressions.swift:47:10:47:27 | { ... } | BraceStmt |
|
| expressions.swift:47:10:47:27 | { ... } | ClosureExpr | expressions.swift:47:10:47:27 | { ... } | BraceStmt |
|
||||||
| expressions.swift:47:12:47:24 | return ... | ReturnStmt | expressions.swift:47:19:47:24 | ... call to +(_:_:) ... | BinaryExpr |
|
| expressions.swift:47:12:47:24 | return ... | ReturnStmt | expressions.swift:47:19:47:24 | ... call to +(_:_:) ... | BinaryExpr |
|
||||||
| expressions.swift:47:19:47:24 | ... call to +(_:_:) ... | BinaryExpr | expressions.swift:47:22:47:22 | call to +(_:_:) | DotSyntaxCallExpr |
|
| expressions.swift:47:19:47:24 | ... call to +(_:_:) ... | BinaryExpr | expressions.swift:47:22:47:22 | call to +(_:_:) | DotSyntaxCallExpr |
|
||||||
| expressions.swift:47:22:47:22 | Int.Type | TypeExpr | expressions.swift:47:22:47:22 | FixedTypeRepr | FixedTypeRepr |
|
| expressions.swift:47:22:47:22 | Int.Type | TypeExpr | expressions.swift:47:22:47:22 | Int | TypeRepr |
|
||||||
| expressions.swift:47:22:47:22 | call to +(_:_:) | DotSyntaxCallExpr | expressions.swift:47:22:47:22 | +(_:_:) | DeclRefExpr |
|
| expressions.swift:47:22:47:22 | call to +(_:_:) | DotSyntaxCallExpr | expressions.swift:47:22:47:22 | +(_:_:) | DeclRefExpr |
|
||||||
| expressions.swift:48:1:48:20 | call to closured(closure:) | CallExpr | expressions.swift:48:1:48:1 | closured(closure:) | DeclRefExpr |
|
| expressions.swift:48:1:48:20 | call to closured(closure:) | CallExpr | expressions.swift:48:1:48:1 | closured(closure:) | DeclRefExpr |
|
||||||
| expressions.swift:48:1:48:20 | { ... } | BraceStmt | expressions.swift:48:1:48:20 | call to closured(closure:) | CallExpr |
|
| expressions.swift:48:1:48:20 | { ... } | BraceStmt | expressions.swift:48:1:48:20 | call to closured(closure:) | CallExpr |
|
||||||
@@ -500,7 +500,7 @@
|
|||||||
| expressions.swift:48:10:48:20 | { ... } | ClosureExpr | expressions.swift:48:10:48:20 | { ... } | BraceStmt |
|
| expressions.swift:48:10:48:20 | { ... } | ClosureExpr | expressions.swift:48:10:48:20 | { ... } | BraceStmt |
|
||||||
| expressions.swift:48:12:48:17 | ... call to +(_:_:) ... | BinaryExpr | expressions.swift:48:15:48:15 | call to +(_:_:) | DotSyntaxCallExpr |
|
| expressions.swift:48:12:48:17 | ... call to +(_:_:) ... | BinaryExpr | expressions.swift:48:15:48:15 | call to +(_:_:) | DotSyntaxCallExpr |
|
||||||
| expressions.swift:48:12:48:17 | return ... | ReturnStmt | expressions.swift:48:12:48:17 | ... call to +(_:_:) ... | BinaryExpr |
|
| expressions.swift:48:12:48:17 | return ... | ReturnStmt | expressions.swift:48:12:48:17 | ... call to +(_:_:) ... | BinaryExpr |
|
||||||
| expressions.swift:48:15:48:15 | Int.Type | TypeExpr | expressions.swift:48:15:48:15 | FixedTypeRepr | FixedTypeRepr |
|
| expressions.swift:48:15:48:15 | Int.Type | TypeExpr | expressions.swift:48:15:48:15 | Int | TypeRepr |
|
||||||
| expressions.swift:48:15:48:15 | call to +(_:_:) | DotSyntaxCallExpr | expressions.swift:48:15:48:15 | +(_:_:) | DeclRefExpr |
|
| expressions.swift:48:15:48:15 | call to +(_:_:) | DotSyntaxCallExpr | expressions.swift:48:15:48:15 | +(_:_:) | DeclRefExpr |
|
||||||
| expressions.swift:50:8:50:8 | init | ConstructorDecl | expressions.swift:50:8:50:8 | x | ParamDecl |
|
| expressions.swift:50:8:50:8 | init | ConstructorDecl | expressions.swift:50:8:50:8 | x | ParamDecl |
|
||||||
| expressions.swift:51:3:51:10 | var ... = ... | PatternBindingDecl | expressions.swift:51:7:51:10 | ... as ... | TypedPattern |
|
| expressions.swift:51:3:51:10 | var ... = ... | PatternBindingDecl | expressions.swift:51:7:51:10 | ... as ... | TypedPattern |
|
||||||
@@ -508,14 +508,12 @@
|
|||||||
| expressions.swift:51:7:51:7 | x | ConcreteVarDecl | expressions.swift:51:7:51:7 | get | AccessorDecl |
|
| expressions.swift:51:7:51:7 | x | ConcreteVarDecl | expressions.swift:51:7:51:7 | get | AccessorDecl |
|
||||||
| expressions.swift:51:7:51:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| expressions.swift:51:7:51:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| expressions.swift:51:7:51:10 | ... as ... | TypedPattern | expressions.swift:51:7:51:7 | x | NamedPattern |
|
| expressions.swift:51:7:51:10 | ... as ... | TypedPattern | expressions.swift:51:7:51:7 | x | NamedPattern |
|
||||||
| expressions.swift:51:7:51:10 | ... as ... | TypedPattern | expressions.swift:51:10:51:10 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:51:7:51:10 | ... as ... | TypedPattern | expressions.swift:51:10:51:10 | Int | TypeRepr |
|
||||||
| expressions.swift:54:1:54:8 | ... = ... | AssignExpr | expressions.swift:54:1:54:1 | _ | DiscardAssignmentExpr |
|
| expressions.swift:54:1:54:8 | ... = ... | AssignExpr | expressions.swift:54:1:54:1 | _ | DiscardAssignmentExpr |
|
||||||
| expressions.swift:54:1:54:8 | ... = ... | AssignExpr | expressions.swift:54:5:54:8 | #keyPath(...) | KeyPathExpr |
|
| expressions.swift:54:1:54:8 | ... = ... | AssignExpr | expressions.swift:54:5:54:8 | #keyPath(...) | KeyPathExpr |
|
||||||
| expressions.swift:54:1:54:8 | { ... } | BraceStmt | expressions.swift:54:1:54:8 | ... = ... | AssignExpr |
|
| expressions.swift:54:1:54:8 | { ... } | BraceStmt | expressions.swift:54:1:54:8 | ... = ... | AssignExpr |
|
||||||
| expressions.swift:54:1:54:8 | { ... } | TopLevelCodeDecl | expressions.swift:54:1:54:8 | { ... } | BraceStmt |
|
| expressions.swift:54:1:54:8 | { ... } | TopLevelCodeDecl | expressions.swift:54:1:54:8 | { ... } | BraceStmt |
|
||||||
| expressions.swift:54:5:54:8 | #keyPath(...) | KeyPathExpr | expressions.swift:54:6:54:8 | ... .x | UnresolvedDotExpr |
|
| expressions.swift:54:5:54:8 | #keyPath(...) | KeyPathExpr | expressions.swift:54:6:54:6 | S | TypeRepr |
|
||||||
| expressions.swift:54:6:54:6 | (no string representation) | TypeExpr | expressions.swift:54:6:54:6 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
|
||||||
| expressions.swift:54:6:54:8 | ... .x | UnresolvedDotExpr | expressions.swift:54:6:54:6 | (no string representation) | TypeExpr |
|
|
||||||
| expressions.swift:56:1:57:1 | unsafeFunction(pointer:) | ConcreteFuncDecl | expressions.swift:56:21:56:47 | pointer | ParamDecl |
|
| expressions.swift:56:1:57:1 | unsafeFunction(pointer:) | ConcreteFuncDecl | expressions.swift:56:21:56:47 | pointer | ParamDecl |
|
||||||
| expressions.swift:56:1:57:1 | unsafeFunction(pointer:) | ConcreteFuncDecl | expressions.swift:56:50:57:1 | { ... } | BraceStmt |
|
| expressions.swift:56:1:57:1 | unsafeFunction(pointer:) | ConcreteFuncDecl | expressions.swift:56:50:57:1 | { ... } | BraceStmt |
|
||||||
| expressions.swift:58:1:58:16 | var ... = ... | PatternBindingDecl | expressions.swift:58:5:58:5 | myNumber | NamedPattern |
|
| expressions.swift:58:1:58:16 | var ... = ... | PatternBindingDecl | expressions.swift:58:5:58:5 | myNumber | NamedPattern |
|
||||||
@@ -545,7 +543,7 @@
|
|||||||
| expressions.swift:64:5:66:5 | if ... then { ... } | IfStmt | expressions.swift:64:8:64:12 | StmtCondition | StmtCondition |
|
| expressions.swift:64:5:66:5 | if ... then { ... } | IfStmt | expressions.swift:64:8:64:12 | StmtCondition | StmtCondition |
|
||||||
| expressions.swift:64:5:66:5 | if ... then { ... } | IfStmt | expressions.swift:64:14:66:5 | { ... } | BraceStmt |
|
| expressions.swift:64:5:66:5 | if ... then { ... } | IfStmt | expressions.swift:64:14:66:5 | { ... } | BraceStmt |
|
||||||
| expressions.swift:64:8:64:12 | ... call to <(_:_:) ... | BinaryExpr | expressions.swift:64:10:64:10 | call to <(_:_:) | DotSyntaxCallExpr |
|
| expressions.swift:64:8:64:12 | ... call to <(_:_:) ... | BinaryExpr | expressions.swift:64:10:64:10 | call to <(_:_:) | DotSyntaxCallExpr |
|
||||||
| expressions.swift:64:10:64:10 | Int.Type | TypeExpr | expressions.swift:64:10:64:10 | FixedTypeRepr | FixedTypeRepr |
|
| expressions.swift:64:10:64:10 | Int.Type | TypeExpr | expressions.swift:64:10:64:10 | Int | TypeRepr |
|
||||||
| expressions.swift:64:10:64:10 | call to <(_:_:) | DotSyntaxCallExpr | expressions.swift:64:10:64:10 | <(_:_:) | DeclRefExpr |
|
| expressions.swift:64:10:64:10 | call to <(_:_:) | DotSyntaxCallExpr | expressions.swift:64:10:64:10 | <(_:_:) | DeclRefExpr |
|
||||||
| expressions.swift:64:14:66:5 | { ... } | BraceStmt | expressions.swift:65:7:65:14 | fail | FailStmt |
|
| expressions.swift:64:14:66:5 | { ... } | BraceStmt | expressions.swift:65:7:65:14 | fail | FailStmt |
|
||||||
| expressions.swift:70:7:70:7 | deinit | DestructorDecl | expressions.swift:70:7:70:7 | { ... } | BraceStmt |
|
| expressions.swift:70:7:70:7 | deinit | DestructorDecl | expressions.swift:70:7:70:7 | { ... } | BraceStmt |
|
||||||
@@ -554,7 +552,7 @@
|
|||||||
| expressions.swift:71:7:71:7 | xx | ConcreteVarDecl | expressions.swift:71:7:71:7 | get | AccessorDecl |
|
| expressions.swift:71:7:71:7 | xx | ConcreteVarDecl | expressions.swift:71:7:71:7 | get | AccessorDecl |
|
||||||
| expressions.swift:71:7:71:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| expressions.swift:71:7:71:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| expressions.swift:71:7:71:11 | ... as ... | TypedPattern | expressions.swift:71:7:71:7 | xx | NamedPattern |
|
| expressions.swift:71:7:71:11 | ... as ... | TypedPattern | expressions.swift:71:7:71:7 | xx | NamedPattern |
|
||||||
| expressions.swift:71:7:71:11 | ... as ... | TypedPattern | expressions.swift:71:11:71:11 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:71:7:71:11 | ... as ... | TypedPattern | expressions.swift:71:11:71:11 | Int | TypeRepr |
|
||||||
| expressions.swift:72:3:74:3 | init | ConstructorDecl | expressions.swift:72:8:72:11 | x | ParamDecl |
|
| expressions.swift:72:3:74:3 | init | ConstructorDecl | expressions.swift:72:8:72:11 | x | ParamDecl |
|
||||||
| expressions.swift:72:3:74:3 | init | ConstructorDecl | expressions.swift:72:16:74:3 | { ... } | BraceStmt |
|
| expressions.swift:72:3:74:3 | init | ConstructorDecl | expressions.swift:72:16:74:3 | { ... } | BraceStmt |
|
||||||
| expressions.swift:72:16:74:3 | { ... } | BraceStmt | expressions.swift:73:5:73:10 | ... = ... | AssignExpr |
|
| expressions.swift:72:16:74:3 | { ... } | BraceStmt | expressions.swift:73:5:73:10 | ... = ... | AssignExpr |
|
||||||
@@ -577,7 +575,7 @@
|
|||||||
| expressions.swift:83:1:83:23 | var ... = ... | PatternBindingDecl | expressions.swift:83:15:83:23 | call to ... | CallExpr |
|
| expressions.swift:83:1:83:23 | var ... = ... | PatternBindingDecl | expressions.swift:83:15:83:23 | call to ... | CallExpr |
|
||||||
| expressions.swift:83:1:83:23 | { ... } | BraceStmt | expressions.swift:83:1:83:23 | var ... = ... | PatternBindingDecl |
|
| expressions.swift:83:1:83:23 | { ... } | BraceStmt | expressions.swift:83:1:83:23 | var ... = ... | PatternBindingDecl |
|
||||||
| expressions.swift:83:1:83:23 | { ... } | TopLevelCodeDecl | expressions.swift:83:1:83:23 | { ... } | BraceStmt |
|
| expressions.swift:83:1:83:23 | { ... } | TopLevelCodeDecl | expressions.swift:83:1:83:23 | { ... } | BraceStmt |
|
||||||
| expressions.swift:83:15:83:15 | Derived.Type | TypeExpr | expressions.swift:83:15:83:15 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:83:15:83:15 | Derived.Type | TypeExpr | expressions.swift:83:15:83:15 | Derived | TypeRepr |
|
||||||
| expressions.swift:83:15:83:15 | call to init | ConstructorRefCallExpr | expressions.swift:83:15:83:15 | init | DeclRefExpr |
|
| expressions.swift:83:15:83:15 | call to init | ConstructorRefCallExpr | expressions.swift:83:15:83:15 | init | DeclRefExpr |
|
||||||
| expressions.swift:83:15:83:23 | call to ... | CallExpr | expressions.swift:83:15:83:15 | call to init | ConstructorRefCallExpr |
|
| expressions.swift:83:15:83:23 | call to ... | CallExpr | expressions.swift:83:15:83:15 | call to init | ConstructorRefCallExpr |
|
||||||
| expressions.swift:84:1:84:13 | ... = ... | AssignExpr | expressions.swift:84:1:84:1 | _ | DiscardAssignmentExpr |
|
| expressions.swift:84:1:84:13 | ... = ... | AssignExpr | expressions.swift:84:1:84:1 | _ | DiscardAssignmentExpr |
|
||||||
@@ -591,7 +589,7 @@
|
|||||||
| expressions.swift:86:1:86:13 | { ... } | BraceStmt | expressions.swift:86:1:86:13 | var ... = ... | PatternBindingDecl |
|
| expressions.swift:86:1:86:13 | { ... } | BraceStmt | expressions.swift:86:1:86:13 | var ... = ... | PatternBindingDecl |
|
||||||
| expressions.swift:86:1:86:13 | { ... } | TopLevelCodeDecl | expressions.swift:86:1:86:13 | { ... } | BraceStmt |
|
| expressions.swift:86:1:86:13 | { ... } | TopLevelCodeDecl | expressions.swift:86:1:86:13 | { ... } | BraceStmt |
|
||||||
| expressions.swift:86:5:86:13 | ... as ... | TypedPattern | expressions.swift:86:5:86:5 | opt | NamedPattern |
|
| expressions.swift:86:5:86:13 | ... as ... | TypedPattern | expressions.swift:86:5:86:5 | opt | NamedPattern |
|
||||||
| expressions.swift:86:5:86:13 | ... as ... | TypedPattern | expressions.swift:86:10:86:13 | ...? | OptionalTypeRepr |
|
| expressions.swift:86:5:86:13 | ... as ... | TypedPattern | expressions.swift:86:10:86:13 | Int? | TypeRepr |
|
||||||
| expressions.swift:87:1:87:4 | ...! | ForceValueExpr | expressions.swift:87:1:87:1 | opt | DeclRefExpr |
|
| expressions.swift:87:1:87:4 | ...! | ForceValueExpr | expressions.swift:87:1:87:1 | opt | DeclRefExpr |
|
||||||
| expressions.swift:87:1:87:4 | { ... } | BraceStmt | expressions.swift:87:1:87:4 | ...! | ForceValueExpr |
|
| expressions.swift:87:1:87:4 | { ... } | BraceStmt | expressions.swift:87:1:87:4 | ...! | ForceValueExpr |
|
||||||
| expressions.swift:87:1:87:4 | { ... } | TopLevelCodeDecl | expressions.swift:87:1:87:4 | { ... } | BraceStmt |
|
| expressions.swift:87:1:87:4 | { ... } | TopLevelCodeDecl | expressions.swift:87:1:87:4 | { ... } | BraceStmt |
|
||||||
@@ -606,15 +604,15 @@
|
|||||||
| expressions.swift:92:1:92:55 | var ... = ... | PatternBindingDecl | expressions.swift:92:14:92:55 | call to ... | CallExpr |
|
| expressions.swift:92:1:92:55 | var ... = ... | PatternBindingDecl | expressions.swift:92:14:92:55 | call to ... | CallExpr |
|
||||||
| expressions.swift:92:1:92:55 | { ... } | BraceStmt | expressions.swift:92:1:92:55 | var ... = ... | PatternBindingDecl |
|
| expressions.swift:92:1:92:55 | { ... } | BraceStmt | expressions.swift:92:1:92:55 | var ... = ... | PatternBindingDecl |
|
||||||
| expressions.swift:92:1:92:55 | { ... } | TopLevelCodeDecl | expressions.swift:92:1:92:55 | { ... } | BraceStmt |
|
| expressions.swift:92:1:92:55 | { ... } | TopLevelCodeDecl | expressions.swift:92:1:92:55 | { ... } | BraceStmt |
|
||||||
| expressions.swift:92:14:92:14 | Unmanaged<ToPtr>.Type | TypeExpr | expressions.swift:92:14:92:14 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:92:14:92:14 | Unmanaged<ToPtr>.Type | TypeExpr | expressions.swift:92:14:92:14 | Unmanaged<ToPtr> | TypeRepr |
|
||||||
| expressions.swift:92:14:92:24 | call to passRetained(_:) | DotSyntaxCallExpr | expressions.swift:92:24:92:24 | passRetained(_:) | DeclRefExpr |
|
| expressions.swift:92:14:92:24 | call to passRetained(_:) | DotSyntaxCallExpr | expressions.swift:92:24:92:24 | passRetained(_:) | DeclRefExpr |
|
||||||
| expressions.swift:92:14:92:44 | call to ... | CallExpr | expressions.swift:92:14:92:24 | call to passRetained(_:) | DotSyntaxCallExpr |
|
| expressions.swift:92:14:92:44 | call to ... | CallExpr | expressions.swift:92:14:92:24 | call to passRetained(_:) | DotSyntaxCallExpr |
|
||||||
| expressions.swift:92:14:92:46 | call to toOpaque() | DotSyntaxCallExpr | expressions.swift:92:46:92:46 | toOpaque() | DeclRefExpr |
|
| expressions.swift:92:14:92:46 | call to toOpaque() | DotSyntaxCallExpr | expressions.swift:92:46:92:46 | toOpaque() | DeclRefExpr |
|
||||||
| expressions.swift:92:14:92:55 | call to ... | CallExpr | expressions.swift:92:14:92:46 | call to toOpaque() | DotSyntaxCallExpr |
|
| expressions.swift:92:14:92:55 | call to ... | CallExpr | expressions.swift:92:14:92:46 | call to toOpaque() | DotSyntaxCallExpr |
|
||||||
| expressions.swift:92:37:92:37 | ToPtr.Type | TypeExpr | expressions.swift:92:37:92:37 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:92:37:92:37 | ToPtr.Type | TypeExpr | expressions.swift:92:37:92:37 | ToPtr | TypeRepr |
|
||||||
| expressions.swift:92:37:92:37 | call to init | ConstructorRefCallExpr | expressions.swift:92:37:92:37 | init | DeclRefExpr |
|
| expressions.swift:92:37:92:37 | call to init | ConstructorRefCallExpr | expressions.swift:92:37:92:37 | init | DeclRefExpr |
|
||||||
| expressions.swift:92:37:92:43 | call to ... | CallExpr | expressions.swift:92:37:92:37 | call to init | ConstructorRefCallExpr |
|
| expressions.swift:92:37:92:43 | call to ... | CallExpr | expressions.swift:92:37:92:37 | call to init | ConstructorRefCallExpr |
|
||||||
| expressions.swift:93:1:93:16 | Unmanaged<ToPtr>.Type | TypeExpr | expressions.swift:93:1:93:16 | ...<...> | GenericIdentTypeRepr |
|
| expressions.swift:93:1:93:16 | Unmanaged<ToPtr>.Type | TypeExpr | expressions.swift:93:1:93:16 | Unmanaged<ToPtr> | TypeRepr |
|
||||||
| expressions.swift:93:1:93:18 | call to fromOpaque(_:) | DotSyntaxCallExpr | expressions.swift:93:18:93:18 | fromOpaque(_:) | DeclRefExpr |
|
| expressions.swift:93:1:93:18 | call to fromOpaque(_:) | DotSyntaxCallExpr | expressions.swift:93:18:93:18 | fromOpaque(_:) | DeclRefExpr |
|
||||||
| expressions.swift:93:1:93:35 | call to ... | CallExpr | expressions.swift:93:1:93:18 | call to fromOpaque(_:) | DotSyntaxCallExpr |
|
| expressions.swift:93:1:93:35 | call to ... | CallExpr | expressions.swift:93:1:93:18 | call to fromOpaque(_:) | DotSyntaxCallExpr |
|
||||||
| expressions.swift:93:1:93:35 | { ... } | BraceStmt | expressions.swift:93:1:93:35 | call to ... | CallExpr |
|
| expressions.swift:93:1:93:35 | { ... } | BraceStmt | expressions.swift:93:1:93:35 | call to ... | CallExpr |
|
||||||
@@ -629,7 +627,7 @@
|
|||||||
| expressions.swift:96:7:96:7 | yield ... | YieldStmt | file://:0:0:0:0 | &... | InOutExpr |
|
| expressions.swift:96:7:96:7 | yield ... | YieldStmt | file://:0:0:0:0 | &... | InOutExpr |
|
||||||
| expressions.swift:96:7:96:7 | { ... } | BraceStmt | expressions.swift:96:7:96:7 | yield ... | YieldStmt |
|
| expressions.swift:96:7:96:7 | { ... } | BraceStmt | expressions.swift:96:7:96:7 | yield ... | YieldStmt |
|
||||||
| expressions.swift:96:7:96:22 | ... as ... | TypedPattern | expressions.swift:96:7:96:7 | settableField | NamedPattern |
|
| expressions.swift:96:7:96:22 | ... as ... | TypedPattern | expressions.swift:96:7:96:7 | settableField | NamedPattern |
|
||||||
| expressions.swift:96:7:96:22 | ... as ... | TypedPattern | expressions.swift:96:22:96:22 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:96:7:96:22 | ... as ... | TypedPattern | expressions.swift:96:22:96:22 | Int | TypeRepr |
|
||||||
| expressions.swift:97:5:97:11 | set | AccessorDecl | expressions.swift:97:5:97:5 | newValue | ParamDecl |
|
| expressions.swift:97:5:97:11 | set | AccessorDecl | expressions.swift:97:5:97:5 | newValue | ParamDecl |
|
||||||
| expressions.swift:97:5:97:11 | set | AccessorDecl | expressions.swift:97:9:97:11 | { ... } | BraceStmt |
|
| expressions.swift:97:5:97:11 | set | AccessorDecl | expressions.swift:97:9:97:11 | { ... } | BraceStmt |
|
||||||
| expressions.swift:98:5:100:5 | get | AccessorDecl | expressions.swift:98:9:100:5 | { ... } | BraceStmt |
|
| expressions.swift:98:5:100:5 | get | AccessorDecl | expressions.swift:98:9:100:5 | { ... } | BraceStmt |
|
||||||
@@ -638,14 +636,14 @@
|
|||||||
| expressions.swift:105:3:107:3 | var ... = ... | PatternBindingDecl | expressions.swift:105:7:105:23 | ... as ... | TypedPattern |
|
| expressions.swift:105:3:107:3 | var ... = ... | PatternBindingDecl | expressions.swift:105:7:105:23 | ... as ... | TypedPattern |
|
||||||
| expressions.swift:105:7:105:7 | readOnlyField1 | ConcreteVarDecl | expressions.swift:105:27:107:3 | get | AccessorDecl |
|
| expressions.swift:105:7:105:7 | readOnlyField1 | ConcreteVarDecl | expressions.swift:105:27:107:3 | get | AccessorDecl |
|
||||||
| expressions.swift:105:7:105:23 | ... as ... | TypedPattern | expressions.swift:105:7:105:7 | readOnlyField1 | NamedPattern |
|
| expressions.swift:105:7:105:23 | ... as ... | TypedPattern | expressions.swift:105:7:105:7 | readOnlyField1 | NamedPattern |
|
||||||
| expressions.swift:105:7:105:23 | ... as ... | TypedPattern | expressions.swift:105:23:105:23 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:105:7:105:23 | ... as ... | TypedPattern | expressions.swift:105:23:105:23 | Int | TypeRepr |
|
||||||
| expressions.swift:105:27:107:3 | get | AccessorDecl | expressions.swift:105:27:107:3 | { ... } | BraceStmt |
|
| expressions.swift:105:27:107:3 | get | AccessorDecl | expressions.swift:105:27:107:3 | { ... } | BraceStmt |
|
||||||
| expressions.swift:105:27:107:3 | { ... } | BraceStmt | expressions.swift:106:5:106:12 | return ... | ReturnStmt |
|
| expressions.swift:105:27:107:3 | { ... } | BraceStmt | expressions.swift:106:5:106:12 | return ... | ReturnStmt |
|
||||||
| expressions.swift:106:5:106:12 | return ... | ReturnStmt | expressions.swift:106:12:106:12 | 0 | IntegerLiteralExpr |
|
| expressions.swift:106:5:106:12 | return ... | ReturnStmt | expressions.swift:106:12:106:12 | 0 | IntegerLiteralExpr |
|
||||||
| expressions.swift:110:3:114:3 | var ... = ... | PatternBindingDecl | expressions.swift:110:7:110:23 | ... as ... | TypedPattern |
|
| expressions.swift:110:3:114:3 | var ... = ... | PatternBindingDecl | expressions.swift:110:7:110:23 | ... as ... | TypedPattern |
|
||||||
| expressions.swift:110:7:110:7 | readOnlyField2 | ConcreteVarDecl | expressions.swift:111:5:113:5 | get | AccessorDecl |
|
| expressions.swift:110:7:110:7 | readOnlyField2 | ConcreteVarDecl | expressions.swift:111:5:113:5 | get | AccessorDecl |
|
||||||
| expressions.swift:110:7:110:23 | ... as ... | TypedPattern | expressions.swift:110:7:110:7 | readOnlyField2 | NamedPattern |
|
| expressions.swift:110:7:110:23 | ... as ... | TypedPattern | expressions.swift:110:7:110:7 | readOnlyField2 | NamedPattern |
|
||||||
| expressions.swift:110:7:110:23 | ... as ... | TypedPattern | expressions.swift:110:23:110:23 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:110:7:110:23 | ... as ... | TypedPattern | expressions.swift:110:23:110:23 | Int | TypeRepr |
|
||||||
| expressions.swift:111:5:113:5 | get | AccessorDecl | expressions.swift:111:9:113:5 | { ... } | BraceStmt |
|
| expressions.swift:111:5:113:5 | get | AccessorDecl | expressions.swift:111:9:113:5 | { ... } | BraceStmt |
|
||||||
| expressions.swift:111:9:113:5 | { ... } | BraceStmt | expressions.swift:112:7:112:14 | return ... | ReturnStmt |
|
| expressions.swift:111:9:113:5 | { ... } | BraceStmt | expressions.swift:112:7:112:14 | return ... | ReturnStmt |
|
||||||
| expressions.swift:112:7:112:14 | return ... | ReturnStmt | expressions.swift:112:14:112:14 | 0 | IntegerLiteralExpr |
|
| expressions.swift:112:7:112:14 | return ... | ReturnStmt | expressions.swift:112:14:112:14 | 0 | IntegerLiteralExpr |
|
||||||
@@ -662,7 +660,7 @@
|
|||||||
| expressions.swift:116:7:116:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
| expressions.swift:116:7:116:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
||||||
| expressions.swift:116:7:116:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| expressions.swift:116:7:116:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| expressions.swift:116:7:116:21 | ... as ... | TypedPattern | expressions.swift:116:7:116:7 | normalField | NamedPattern |
|
| expressions.swift:116:7:116:21 | ... as ... | TypedPattern | expressions.swift:116:7:116:7 | normalField | NamedPattern |
|
||||||
| expressions.swift:116:7:116:21 | ... as ... | TypedPattern | expressions.swift:116:21:116:21 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:116:7:116:21 | ... as ... | TypedPattern | expressions.swift:116:21:116:21 | Int | TypeRepr |
|
||||||
| expressions.swift:118:3:118:3 | (unnamed function decl) | AccessorDecl | expressions.swift:118:3:118:3 | { ... } | BraceStmt |
|
| expressions.swift:118:3:118:3 | (unnamed function decl) | AccessorDecl | expressions.swift:118:3:118:3 | { ... } | BraceStmt |
|
||||||
| expressions.swift:118:3:118:3 | (unnamed function decl) | AccessorDecl | file://:0:0:0:0 | x | ParamDecl |
|
| expressions.swift:118:3:118:3 | (unnamed function decl) | AccessorDecl | file://:0:0:0:0 | x | ParamDecl |
|
||||||
| expressions.swift:118:3:118:3 | yield ... | YieldStmt | file://:0:0:0:0 | &... | InOutExpr |
|
| expressions.swift:118:3:118:3 | yield ... | YieldStmt | file://:0:0:0:0 | &... | InOutExpr |
|
||||||
@@ -743,7 +741,7 @@
|
|||||||
| expressions.swift:142:7:142:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
| expressions.swift:142:7:142:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
||||||
| expressions.swift:142:7:142:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| expressions.swift:142:7:142:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| expressions.swift:142:7:142:11 | ... as ... | TypedPattern | expressions.swift:142:7:142:7 | x | NamedPattern |
|
| expressions.swift:142:7:142:11 | ... as ... | TypedPattern | expressions.swift:142:7:142:7 | x | NamedPattern |
|
||||||
| expressions.swift:142:7:142:11 | ... as ... | TypedPattern | expressions.swift:142:11:142:11 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:142:7:142:11 | ... as ... | TypedPattern | expressions.swift:142:11:142:11 | Int | TypeRepr |
|
||||||
| expressions.swift:145:8:145:8 | init | ConstructorDecl | expressions.swift:145:8:145:8 | b | ParamDecl |
|
| expressions.swift:145:8:145:8 | init | ConstructorDecl | expressions.swift:145:8:145:8 | b | ParamDecl |
|
||||||
| expressions.swift:145:8:145:8 | init | ConstructorDecl | expressions.swift:145:8:145:8 | bs | ParamDecl |
|
| expressions.swift:145:8:145:8 | init | ConstructorDecl | expressions.swift:145:8:145:8 | bs | ParamDecl |
|
||||||
| expressions.swift:145:8:145:8 | init | ConstructorDecl | expressions.swift:145:8:145:8 | mayB | ParamDecl |
|
| expressions.swift:145:8:145:8 | init | ConstructorDecl | expressions.swift:145:8:145:8 | mayB | ParamDecl |
|
||||||
@@ -760,7 +758,7 @@
|
|||||||
| expressions.swift:146:7:146:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
| expressions.swift:146:7:146:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
||||||
| expressions.swift:146:7:146:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| expressions.swift:146:7:146:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| expressions.swift:146:7:146:11 | ... as ... | TypedPattern | expressions.swift:146:7:146:7 | b | NamedPattern |
|
| expressions.swift:146:7:146:11 | ... as ... | TypedPattern | expressions.swift:146:7:146:7 | b | NamedPattern |
|
||||||
| expressions.swift:146:7:146:11 | ... as ... | TypedPattern | expressions.swift:146:11:146:11 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| expressions.swift:146:7:146:11 | ... as ... | TypedPattern | expressions.swift:146:11:146:11 | B | TypeRepr |
|
||||||
| expressions.swift:147:3:147:14 | var ... = ... | PatternBindingDecl | expressions.swift:147:7:147:14 | ... as ... | TypedPattern |
|
| expressions.swift:147:3:147:14 | var ... = ... | PatternBindingDecl | expressions.swift:147:7:147:14 | ... as ... | TypedPattern |
|
||||||
| expressions.swift:147:7:147:7 | (unnamed function decl) | AccessorDecl | expressions.swift:147:7:147:7 | { ... } | BraceStmt |
|
| expressions.swift:147:7:147:7 | (unnamed function decl) | AccessorDecl | expressions.swift:147:7:147:7 | { ... } | BraceStmt |
|
||||||
| expressions.swift:147:7:147:7 | bs | ConcreteVarDecl | expressions.swift:147:7:147:7 | (unnamed function decl) | AccessorDecl |
|
| expressions.swift:147:7:147:7 | bs | ConcreteVarDecl | expressions.swift:147:7:147:7 | (unnamed function decl) | AccessorDecl |
|
||||||
@@ -774,7 +772,7 @@
|
|||||||
| expressions.swift:147:7:147:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
| expressions.swift:147:7:147:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
||||||
| expressions.swift:147:7:147:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| expressions.swift:147:7:147:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| expressions.swift:147:7:147:14 | ... as ... | TypedPattern | expressions.swift:147:7:147:7 | bs | NamedPattern |
|
| expressions.swift:147:7:147:14 | ... as ... | TypedPattern | expressions.swift:147:7:147:7 | bs | NamedPattern |
|
||||||
| expressions.swift:147:7:147:14 | ... as ... | TypedPattern | expressions.swift:147:12:147:14 | [...] | ArrayTypeRepr |
|
| expressions.swift:147:7:147:14 | ... as ... | TypedPattern | expressions.swift:147:12:147:14 | [B] | TypeRepr |
|
||||||
| expressions.swift:148:3:148:15 | var ... = ... | PatternBindingDecl | expressions.swift:148:7:148:15 | ... as ... | TypedPattern |
|
| expressions.swift:148:3:148:15 | var ... = ... | PatternBindingDecl | expressions.swift:148:7:148:15 | ... as ... | TypedPattern |
|
||||||
| expressions.swift:148:3:148:15 | var ... = ... | PatternBindingDecl | file://:0:0:0:0 | nil | NilLiteralExpr |
|
| expressions.swift:148:3:148:15 | var ... = ... | PatternBindingDecl | file://:0:0:0:0 | nil | NilLiteralExpr |
|
||||||
| expressions.swift:148:7:148:7 | (unnamed function decl) | AccessorDecl | expressions.swift:148:7:148:7 | { ... } | BraceStmt |
|
| expressions.swift:148:7:148:7 | (unnamed function decl) | AccessorDecl | expressions.swift:148:7:148:7 | { ... } | BraceStmt |
|
||||||
@@ -789,7 +787,7 @@
|
|||||||
| expressions.swift:148:7:148:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
| expressions.swift:148:7:148:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
||||||
| expressions.swift:148:7:148:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| expressions.swift:148:7:148:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| expressions.swift:148:7:148:15 | ... as ... | TypedPattern | expressions.swift:148:7:148:7 | mayB | NamedPattern |
|
| expressions.swift:148:7:148:15 | ... as ... | TypedPattern | expressions.swift:148:7:148:7 | mayB | NamedPattern |
|
||||||
| expressions.swift:148:7:148:15 | ... as ... | TypedPattern | expressions.swift:148:14:148:15 | ...? | OptionalTypeRepr |
|
| expressions.swift:148:7:148:15 | ... as ... | TypedPattern | expressions.swift:148:14:148:15 | B? | TypeRepr |
|
||||||
| expressions.swift:151:1:155:1 | test(a:keyPathInt:keyPathB:) | ConcreteFuncDecl | expressions.swift:151:11:151:15 | a | ParamDecl |
|
| expressions.swift:151:1:155:1 | test(a:keyPathInt:keyPathB:) | ConcreteFuncDecl | expressions.swift:151:11:151:15 | a | ParamDecl |
|
||||||
| expressions.swift:151:1:155:1 | test(a:keyPathInt:keyPathB:) | ConcreteFuncDecl | expressions.swift:151:18:151:53 | keyPathInt | ParamDecl |
|
| expressions.swift:151:1:155:1 | test(a:keyPathInt:keyPathB:) | ConcreteFuncDecl | expressions.swift:151:18:151:53 | keyPathInt | ParamDecl |
|
||||||
| expressions.swift:151:1:155:1 | test(a:keyPathInt:keyPathB:) | ConcreteFuncDecl | expressions.swift:151:56:151:87 | keyPathB | ParamDecl |
|
| expressions.swift:151:1:155:1 | test(a:keyPathInt:keyPathB:) | ConcreteFuncDecl | expressions.swift:151:56:151:87 | keyPathB | ParamDecl |
|
||||||
@@ -814,9 +812,7 @@
|
|||||||
| expressions.swift:154:22:154:41 | \\...[...] | KeyPathApplicationExpr | expressions.swift:154:33:154:33 | keyPathB | DeclRefExpr |
|
| expressions.swift:154:22:154:41 | \\...[...] | KeyPathApplicationExpr | expressions.swift:154:33:154:33 | keyPathB | DeclRefExpr |
|
||||||
| expressions.swift:154:22:154:56 | \\...[...] | KeyPathApplicationExpr | expressions.swift:154:22:154:41 | \\...[...] | KeyPathApplicationExpr |
|
| expressions.swift:154:22:154:56 | \\...[...] | KeyPathApplicationExpr | expressions.swift:154:22:154:41 | \\...[...] | KeyPathApplicationExpr |
|
||||||
| expressions.swift:154:22:154:56 | \\...[...] | KeyPathApplicationExpr | expressions.swift:154:52:154:55 | #keyPath(...) | KeyPathExpr |
|
| expressions.swift:154:22:154:56 | \\...[...] | KeyPathApplicationExpr | expressions.swift:154:52:154:55 | #keyPath(...) | KeyPathExpr |
|
||||||
| expressions.swift:154:52:154:55 | #keyPath(...) | KeyPathExpr | expressions.swift:154:53:154:55 | ... .x | UnresolvedDotExpr |
|
| expressions.swift:154:52:154:55 | #keyPath(...) | KeyPathExpr | expressions.swift:154:53:154:53 | B | TypeRepr |
|
||||||
| expressions.swift:154:53:154:53 | (no string representation) | TypeExpr | expressions.swift:154:53:154:53 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
|
||||||
| expressions.swift:154:53:154:55 | ... .x | UnresolvedDotExpr | expressions.swift:154:53:154:53 | (no string representation) | TypeExpr |
|
|
||||||
| patterns.swift:1:1:7:1 | basic_patterns() | ConcreteFuncDecl | patterns.swift:1:23:7:1 | { ... } | BraceStmt |
|
| patterns.swift:1:1:7:1 | basic_patterns() | ConcreteFuncDecl | patterns.swift:1:23:7:1 | { ... } | BraceStmt |
|
||||||
| patterns.swift:1:23:7:1 | { ... } | BraceStmt | patterns.swift:2:5:2:18 | var ... = ... | PatternBindingDecl |
|
| patterns.swift:1:23:7:1 | { ... } | BraceStmt | patterns.swift:2:5:2:18 | var ... = ... | PatternBindingDecl |
|
||||||
| patterns.swift:1:23:7:1 | { ... } | BraceStmt | patterns.swift:2:9:2:9 | an_int | ConcreteVarDecl |
|
| patterns.swift:1:23:7:1 | { ... } | BraceStmt | patterns.swift:2:9:2:9 | an_int | ConcreteVarDecl |
|
||||||
@@ -833,7 +829,7 @@
|
|||||||
| patterns.swift:3:5:3:28 | var ... = ... | PatternBindingDecl | patterns.swift:3:9:3:19 | ... as ... | TypedPattern |
|
| patterns.swift:3:5:3:28 | var ... = ... | PatternBindingDecl | patterns.swift:3:9:3:19 | ... as ... | TypedPattern |
|
||||||
| patterns.swift:3:5:3:28 | var ... = ... | PatternBindingDecl | patterns.swift:3:28:3:28 | here | StringLiteralExpr |
|
| patterns.swift:3:5:3:28 | var ... = ... | PatternBindingDecl | patterns.swift:3:28:3:28 | here | StringLiteralExpr |
|
||||||
| patterns.swift:3:9:3:19 | ... as ... | TypedPattern | patterns.swift:3:9:3:9 | a_string | NamedPattern |
|
| patterns.swift:3:9:3:19 | ... as ... | TypedPattern | patterns.swift:3:9:3:9 | a_string | NamedPattern |
|
||||||
| patterns.swift:3:9:3:19 | ... as ... | TypedPattern | patterns.swift:3:19:3:19 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| patterns.swift:3:9:3:19 | ... as ... | TypedPattern | patterns.swift:3:19:3:19 | String | TypeRepr |
|
||||||
| patterns.swift:4:5:4:29 | var ... = ... | PatternBindingDecl | patterns.swift:4:9:4:17 | (...) | TuplePattern |
|
| patterns.swift:4:5:4:29 | var ... = ... | PatternBindingDecl | patterns.swift:4:9:4:17 | (...) | TuplePattern |
|
||||||
| patterns.swift:4:5:4:29 | var ... = ... | PatternBindingDecl | patterns.swift:4:21:4:29 | (...) | TupleExpr |
|
| patterns.swift:4:5:4:29 | var ... = ... | PatternBindingDecl | patterns.swift:4:21:4:29 | (...) | TupleExpr |
|
||||||
| patterns.swift:4:9:4:17 | (...) | TuplePattern | patterns.swift:4:10:4:10 | x | NamedPattern |
|
| patterns.swift:4:9:4:17 | (...) | TuplePattern | patterns.swift:4:10:4:10 | x | NamedPattern |
|
||||||
@@ -900,8 +896,8 @@
|
|||||||
| patterns.swift:24:5:24:19 | var ... = ... | PatternBindingDecl | patterns.swift:24:9:24:12 | ... as ... | TypedPattern |
|
| patterns.swift:24:5:24:19 | var ... = ... | PatternBindingDecl | patterns.swift:24:9:24:12 | ... as ... | TypedPattern |
|
||||||
| patterns.swift:24:5:24:19 | var ... = ... | PatternBindingDecl | patterns.swift:24:18:24:19 | call to ... | DotSyntaxCallExpr |
|
| patterns.swift:24:5:24:19 | var ... = ... | PatternBindingDecl | patterns.swift:24:18:24:19 | call to ... | DotSyntaxCallExpr |
|
||||||
| patterns.swift:24:9:24:12 | ... as ... | TypedPattern | patterns.swift:24:9:24:9 | v | NamedPattern |
|
| patterns.swift:24:9:24:12 | ... as ... | TypedPattern | patterns.swift:24:9:24:9 | v | NamedPattern |
|
||||||
| patterns.swift:24:9:24:12 | ... as ... | TypedPattern | patterns.swift:24:12:24:12 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| patterns.swift:24:9:24:12 | ... as ... | TypedPattern | patterns.swift:24:12:24:12 | Foo | TypeRepr |
|
||||||
| patterns.swift:24:18:24:18 | Foo.Type | TypeExpr | patterns.swift:24:18:24:18 | FixedTypeRepr | FixedTypeRepr |
|
| patterns.swift:24:18:24:18 | Foo.Type | TypeExpr | patterns.swift:24:18:24:18 | Foo | TypeRepr |
|
||||||
| patterns.swift:24:18:24:19 | call to ... | DotSyntaxCallExpr | patterns.swift:24:19:24:19 | bar | DeclRefExpr |
|
| patterns.swift:24:18:24:19 | call to ... | DotSyntaxCallExpr | patterns.swift:24:19:24:19 | bar | DeclRefExpr |
|
||||||
| patterns.swift:26:5:29:5 | switch v { ... } | SwitchStmt | patterns.swift:26:12:26:12 | v | DeclRefExpr |
|
| patterns.swift:26:5:29:5 | switch v { ... } | SwitchStmt | patterns.swift:26:12:26:12 | v | DeclRefExpr |
|
||||||
| patterns.swift:26:5:29:5 | switch v { ... } | SwitchStmt | patterns.swift:27:5:27:16 | case ... | CaseStmt |
|
| patterns.swift:26:5:29:5 | switch v { ... } | SwitchStmt | patterns.swift:27:5:27:16 | case ... | CaseStmt |
|
||||||
@@ -921,7 +917,7 @@
|
|||||||
| patterns.swift:31:5:31:19 | var ... = ... | PatternBindingDecl | patterns.swift:31:9:31:15 | ... as ... | TypedPattern |
|
| patterns.swift:31:5:31:19 | var ... = ... | PatternBindingDecl | patterns.swift:31:9:31:15 | ... as ... | TypedPattern |
|
||||||
| patterns.swift:31:5:31:19 | var ... = ... | PatternBindingDecl | patterns.swift:31:19:31:19 | nil | NilLiteralExpr |
|
| patterns.swift:31:5:31:19 | var ... = ... | PatternBindingDecl | patterns.swift:31:19:31:19 | nil | NilLiteralExpr |
|
||||||
| patterns.swift:31:9:31:15 | ... as ... | TypedPattern | patterns.swift:31:9:31:9 | w | NamedPattern |
|
| patterns.swift:31:9:31:15 | ... as ... | TypedPattern | patterns.swift:31:9:31:9 | w | NamedPattern |
|
||||||
| patterns.swift:31:9:31:15 | ... as ... | TypedPattern | patterns.swift:31:12:31:15 | ...? | OptionalTypeRepr |
|
| patterns.swift:31:9:31:15 | ... as ... | TypedPattern | patterns.swift:31:12:31:15 | Int? | TypeRepr |
|
||||||
| patterns.swift:33:5:36:5 | switch w { ... } | SwitchStmt | patterns.swift:33:12:33:12 | w | DeclRefExpr |
|
| patterns.swift:33:5:36:5 | switch w { ... } | SwitchStmt | patterns.swift:33:12:33:12 | w | DeclRefExpr |
|
||||||
| patterns.swift:33:5:36:5 | switch w { ... } | SwitchStmt | patterns.swift:34:5:34:18 | case ... | CaseStmt |
|
| patterns.swift:33:5:36:5 | switch w { ... } | SwitchStmt | patterns.swift:34:5:34:18 | case ... | CaseStmt |
|
||||||
| patterns.swift:33:5:36:5 | switch w { ... } | SwitchStmt | patterns.swift:35:5:35:13 | case ... | CaseStmt |
|
| patterns.swift:33:5:36:5 | switch w { ... } | SwitchStmt | patterns.swift:35:5:35:13 | case ... | CaseStmt |
|
||||||
@@ -938,7 +934,7 @@
|
|||||||
| patterns.swift:38:5:38:18 | var ... = ... | PatternBindingDecl | patterns.swift:38:9:38:12 | ... as ... | TypedPattern |
|
| patterns.swift:38:5:38:18 | var ... = ... | PatternBindingDecl | patterns.swift:38:9:38:12 | ... as ... | TypedPattern |
|
||||||
| patterns.swift:38:5:38:18 | var ... = ... | PatternBindingDecl | patterns.swift:38:18:38:18 | (Any) ... | ErasureExpr |
|
| patterns.swift:38:5:38:18 | var ... = ... | PatternBindingDecl | patterns.swift:38:18:38:18 | (Any) ... | ErasureExpr |
|
||||||
| patterns.swift:38:9:38:12 | ... as ... | TypedPattern | patterns.swift:38:9:38:9 | a | NamedPattern |
|
| patterns.swift:38:9:38:12 | ... as ... | TypedPattern | patterns.swift:38:9:38:9 | a | NamedPattern |
|
||||||
| patterns.swift:38:9:38:12 | ... as ... | TypedPattern | patterns.swift:38:12:38:12 | CompositionTypeRepr | CompositionTypeRepr |
|
| patterns.swift:38:9:38:12 | ... as ... | TypedPattern | patterns.swift:38:12:38:12 | Any | TypeRepr |
|
||||||
| patterns.swift:38:18:38:18 | (Any) ... | ErasureExpr | patterns.swift:38:18:38:18 | any | StringLiteralExpr |
|
| patterns.swift:38:18:38:18 | (Any) ... | ErasureExpr | patterns.swift:38:18:38:18 | any | StringLiteralExpr |
|
||||||
| patterns.swift:40:5:44:5 | switch a { ... } | SwitchStmt | patterns.swift:40:12:40:12 | a | DeclRefExpr |
|
| patterns.swift:40:5:44:5 | switch a { ... } | SwitchStmt | patterns.swift:40:12:40:12 | a | DeclRefExpr |
|
||||||
| patterns.swift:40:5:44:5 | switch a { ... } | SwitchStmt | patterns.swift:41:5:41:18 | case ... | CaseStmt |
|
| patterns.swift:40:5:44:5 | switch a { ... } | SwitchStmt | patterns.swift:41:5:41:18 | case ... | CaseStmt |
|
||||||
@@ -947,14 +943,14 @@
|
|||||||
| patterns.swift:41:5:41:18 | case ... | CaseStmt | patterns.swift:41:10:41:13 | ... is ... | CaseLabelItem |
|
| patterns.swift:41:5:41:18 | case ... | CaseStmt | patterns.swift:41:10:41:13 | ... is ... | CaseLabelItem |
|
||||||
| patterns.swift:41:5:41:18 | case ... | CaseStmt | patterns.swift:41:18:41:18 | { ... } | BraceStmt |
|
| patterns.swift:41:5:41:18 | case ... | CaseStmt | patterns.swift:41:18:41:18 | { ... } | BraceStmt |
|
||||||
| patterns.swift:41:10:41:13 | ... is ... | CaseLabelItem | patterns.swift:41:10:41:13 | ... is ... | IsPattern |
|
| patterns.swift:41:10:41:13 | ... is ... | CaseLabelItem | patterns.swift:41:10:41:13 | ... is ... | IsPattern |
|
||||||
| patterns.swift:41:10:41:13 | ... is ... | IsPattern | patterns.swift:41:13:41:13 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| patterns.swift:41:10:41:13 | ... is ... | IsPattern | patterns.swift:41:13:41:13 | Int | TypeRepr |
|
||||||
| patterns.swift:41:18:41:18 | { ... } | BraceStmt | patterns.swift:41:18:41:18 | is pattern | StringLiteralExpr |
|
| patterns.swift:41:18:41:18 | { ... } | BraceStmt | patterns.swift:41:18:41:18 | is pattern | StringLiteralExpr |
|
||||||
| patterns.swift:42:5:42:27 | case ... | CaseStmt | patterns.swift:42:10:42:19 | let ... | CaseLabelItem |
|
| patterns.swift:42:5:42:27 | case ... | CaseStmt | patterns.swift:42:10:42:19 | let ... | CaseLabelItem |
|
||||||
| patterns.swift:42:5:42:27 | case ... | CaseStmt | patterns.swift:42:27:42:27 | { ... } | BraceStmt |
|
| patterns.swift:42:5:42:27 | case ... | CaseStmt | patterns.swift:42:27:42:27 | { ... } | BraceStmt |
|
||||||
| patterns.swift:42:10:42:19 | let ... | BindingPattern | patterns.swift:42:14:42:19 | ... is ... | IsPattern |
|
| patterns.swift:42:10:42:19 | let ... | BindingPattern | patterns.swift:42:14:42:19 | ... is ... | IsPattern |
|
||||||
| patterns.swift:42:10:42:19 | let ... | CaseLabelItem | patterns.swift:42:10:42:19 | let ... | BindingPattern |
|
| patterns.swift:42:10:42:19 | let ... | CaseLabelItem | patterns.swift:42:10:42:19 | let ... | BindingPattern |
|
||||||
| patterns.swift:42:14:42:19 | ... is ... | IsPattern | patterns.swift:42:14:42:14 | x | NamedPattern |
|
| patterns.swift:42:14:42:19 | ... is ... | IsPattern | patterns.swift:42:14:42:14 | x | NamedPattern |
|
||||||
| patterns.swift:42:14:42:19 | ... is ... | IsPattern | patterns.swift:42:19:42:19 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| patterns.swift:42:14:42:19 | ... is ... | IsPattern | patterns.swift:42:19:42:19 | String | TypeRepr |
|
||||||
| patterns.swift:42:27:42:27 | { ... } | BraceStmt | patterns.swift:42:27:42:27 | as pattern | StringLiteralExpr |
|
| patterns.swift:42:27:42:27 | { ... } | BraceStmt | patterns.swift:42:27:42:27 | as pattern | StringLiteralExpr |
|
||||||
| patterns.swift:43:5:43:13 | case ... | CaseStmt | patterns.swift:43:10:43:10 | _ | CaseLabelItem |
|
| patterns.swift:43:5:43:13 | case ... | CaseStmt | patterns.swift:43:10:43:10 | _ | CaseLabelItem |
|
||||||
| patterns.swift:43:5:43:13 | case ... | CaseStmt | patterns.swift:43:13:43:13 | { ... } | BraceStmt |
|
| patterns.swift:43:5:43:13 | case ... | CaseStmt | patterns.swift:43:13:43:13 | { ... } | BraceStmt |
|
||||||
@@ -986,14 +982,14 @@
|
|||||||
| statements.swift:2:3:8:3 | for ... in ... { ... } | ForEachStmt | statements.swift:2:20:2:24 | ... call to ...(_:_:) ... | BinaryExpr |
|
| statements.swift:2:3:8:3 | for ... in ... { ... } | ForEachStmt | statements.swift:2:20:2:24 | ... call to ...(_:_:) ... | BinaryExpr |
|
||||||
| statements.swift:2:3:8:3 | for ... in ... { ... } | ForEachStmt | statements.swift:2:26:8:3 | { ... } | BraceStmt |
|
| statements.swift:2:3:8:3 | for ... in ... { ... } | ForEachStmt | statements.swift:2:26:8:3 | { ... } | BraceStmt |
|
||||||
| statements.swift:2:20:2:24 | ... call to ...(_:_:) ... | BinaryExpr | statements.swift:2:21:2:21 | call to ...(_:_:) | DotSyntaxCallExpr |
|
| statements.swift:2:20:2:24 | ... call to ...(_:_:) ... | BinaryExpr | statements.swift:2:21:2:21 | call to ...(_:_:) | DotSyntaxCallExpr |
|
||||||
| statements.swift:2:21:2:21 | Int.Type | TypeExpr | statements.swift:2:21:2:21 | FixedTypeRepr | FixedTypeRepr |
|
| statements.swift:2:21:2:21 | Int.Type | TypeExpr | statements.swift:2:21:2:21 | Int | TypeRepr |
|
||||||
| statements.swift:2:21:2:21 | call to ...(_:_:) | DotSyntaxCallExpr | statements.swift:2:21:2:21 | ...(_:_:) | DeclRefExpr |
|
| statements.swift:2:21:2:21 | call to ...(_:_:) | DotSyntaxCallExpr | statements.swift:2:21:2:21 | ...(_:_:) | DeclRefExpr |
|
||||||
| statements.swift:2:26:8:3 | { ... } | BraceStmt | statements.swift:3:5:7:5 | if ... then { ... } else { ... } | IfStmt |
|
| statements.swift:2:26:8:3 | { ... } | BraceStmt | statements.swift:3:5:7:5 | if ... then { ... } else { ... } | IfStmt |
|
||||||
| statements.swift:3:5:7:5 | if ... then { ... } else { ... } | IfStmt | statements.swift:3:8:3:13 | StmtCondition | StmtCondition |
|
| statements.swift:3:5:7:5 | if ... then { ... } else { ... } | IfStmt | statements.swift:3:8:3:13 | StmtCondition | StmtCondition |
|
||||||
| statements.swift:3:5:7:5 | if ... then { ... } else { ... } | IfStmt | statements.swift:3:15:5:5 | { ... } | BraceStmt |
|
| statements.swift:3:5:7:5 | if ... then { ... } else { ... } | IfStmt | statements.swift:3:15:5:5 | { ... } | BraceStmt |
|
||||||
| statements.swift:3:5:7:5 | if ... then { ... } else { ... } | IfStmt | statements.swift:5:12:7:5 | { ... } | BraceStmt |
|
| statements.swift:3:5:7:5 | if ... then { ... } else { ... } | IfStmt | statements.swift:5:12:7:5 | { ... } | BraceStmt |
|
||||||
| statements.swift:3:8:3:13 | ... call to ==(_:_:) ... | BinaryExpr | statements.swift:3:10:3:10 | call to ==(_:_:) | DotSyntaxCallExpr |
|
| statements.swift:3:8:3:13 | ... call to ==(_:_:) ... | BinaryExpr | statements.swift:3:10:3:10 | call to ==(_:_:) | DotSyntaxCallExpr |
|
||||||
| statements.swift:3:10:3:10 | Int.Type | TypeExpr | statements.swift:3:10:3:10 | FixedTypeRepr | FixedTypeRepr |
|
| statements.swift:3:10:3:10 | Int.Type | TypeExpr | statements.swift:3:10:3:10 | Int | TypeRepr |
|
||||||
| statements.swift:3:10:3:10 | call to ==(_:_:) | DotSyntaxCallExpr | statements.swift:3:10:3:10 | ==(_:_:) | DeclRefExpr |
|
| statements.swift:3:10:3:10 | call to ==(_:_:) | DotSyntaxCallExpr | statements.swift:3:10:3:10 | ==(_:_:) | DeclRefExpr |
|
||||||
| statements.swift:3:15:5:5 | { ... } | BraceStmt | statements.swift:4:9:4:9 | break | BreakStmt |
|
| statements.swift:3:15:5:5 | { ... } | BraceStmt | statements.swift:4:9:4:9 | break | BreakStmt |
|
||||||
| statements.swift:5:12:7:5 | { ... } | BraceStmt | statements.swift:6:9:6:9 | continue | ContinueStmt |
|
| statements.swift:5:12:7:5 | { ... } | BraceStmt | statements.swift:6:9:6:9 | continue | ContinueStmt |
|
||||||
@@ -1004,14 +1000,14 @@
|
|||||||
| statements.swift:10:17:10:24 | (...) | ParenExpr | statements.swift:10:18:10:22 | ... call to <(_:_:) ... | BinaryExpr |
|
| statements.swift:10:17:10:24 | (...) | ParenExpr | statements.swift:10:18:10:22 | ... call to <(_:_:) ... | BinaryExpr |
|
||||||
| statements.swift:10:18:10:18 | (Int) ... | LoadExpr | statements.swift:10:18:10:18 | i | DeclRefExpr |
|
| statements.swift:10:18:10:18 | (Int) ... | LoadExpr | statements.swift:10:18:10:18 | i | DeclRefExpr |
|
||||||
| statements.swift:10:18:10:22 | ... call to <(_:_:) ... | BinaryExpr | statements.swift:10:20:10:20 | call to <(_:_:) | DotSyntaxCallExpr |
|
| statements.swift:10:18:10:22 | ... call to <(_:_:) ... | BinaryExpr | statements.swift:10:20:10:20 | call to <(_:_:) | DotSyntaxCallExpr |
|
||||||
| statements.swift:10:20:10:20 | Int.Type | TypeExpr | statements.swift:10:20:10:20 | FixedTypeRepr | FixedTypeRepr |
|
| statements.swift:10:20:10:20 | Int.Type | TypeExpr | statements.swift:10:20:10:20 | Int | TypeRepr |
|
||||||
| statements.swift:10:20:10:20 | call to <(_:_:) | DotSyntaxCallExpr | statements.swift:10:20:10:20 | <(_:_:) | DeclRefExpr |
|
| statements.swift:10:20:10:20 | call to <(_:_:) | DotSyntaxCallExpr | statements.swift:10:20:10:20 | <(_:_:) | DeclRefExpr |
|
||||||
| statements.swift:10:26:12:3 | { ... } | BraceStmt | statements.swift:11:5:11:13 | ... = ... | AssignExpr |
|
| statements.swift:10:26:12:3 | { ... } | BraceStmt | statements.swift:11:5:11:13 | ... = ... | AssignExpr |
|
||||||
| statements.swift:11:5:11:13 | ... = ... | AssignExpr | statements.swift:11:5:11:5 | i | DeclRefExpr |
|
| statements.swift:11:5:11:13 | ... = ... | AssignExpr | statements.swift:11:5:11:5 | i | DeclRefExpr |
|
||||||
| statements.swift:11:5:11:13 | ... = ... | AssignExpr | statements.swift:11:9:11:13 | ... call to +(_:_:) ... | BinaryExpr |
|
| statements.swift:11:5:11:13 | ... = ... | AssignExpr | statements.swift:11:9:11:13 | ... call to +(_:_:) ... | BinaryExpr |
|
||||||
| statements.swift:11:9:11:9 | (Int) ... | LoadExpr | statements.swift:11:9:11:9 | i | DeclRefExpr |
|
| statements.swift:11:9:11:9 | (Int) ... | LoadExpr | statements.swift:11:9:11:9 | i | DeclRefExpr |
|
||||||
| statements.swift:11:9:11:13 | ... call to +(_:_:) ... | BinaryExpr | statements.swift:11:11:11:11 | call to +(_:_:) | DotSyntaxCallExpr |
|
| statements.swift:11:9:11:13 | ... call to +(_:_:) ... | BinaryExpr | statements.swift:11:11:11:11 | call to +(_:_:) | DotSyntaxCallExpr |
|
||||||
| statements.swift:11:11:11:11 | Int.Type | TypeExpr | statements.swift:11:11:11:11 | FixedTypeRepr | FixedTypeRepr |
|
| statements.swift:11:11:11:11 | Int.Type | TypeExpr | statements.swift:11:11:11:11 | Int | TypeRepr |
|
||||||
| statements.swift:11:11:11:11 | call to +(_:_:) | DotSyntaxCallExpr | statements.swift:11:11:11:11 | +(_:_:) | DeclRefExpr |
|
| statements.swift:11:11:11:11 | call to +(_:_:) | DotSyntaxCallExpr | statements.swift:11:11:11:11 | +(_:_:) | DeclRefExpr |
|
||||||
| statements.swift:14:3:14:7 | ... = ... | AssignExpr | statements.swift:14:3:14:3 | i | DeclRefExpr |
|
| statements.swift:14:3:14:7 | ... = ... | AssignExpr | statements.swift:14:3:14:3 | i | DeclRefExpr |
|
||||||
| statements.swift:14:3:14:7 | ... = ... | AssignExpr | statements.swift:14:7:14:7 | 0 | IntegerLiteralExpr |
|
| statements.swift:14:3:14:7 | ... = ... | AssignExpr | statements.swift:14:7:14:7 | 0 | IntegerLiteralExpr |
|
||||||
@@ -1022,12 +1018,12 @@
|
|||||||
| statements.swift:16:5:16:13 | ... = ... | AssignExpr | statements.swift:16:9:16:13 | ... call to +(_:_:) ... | BinaryExpr |
|
| statements.swift:16:5:16:13 | ... = ... | AssignExpr | statements.swift:16:9:16:13 | ... call to +(_:_:) ... | BinaryExpr |
|
||||||
| statements.swift:16:9:16:9 | (Int) ... | LoadExpr | statements.swift:16:9:16:9 | i | DeclRefExpr |
|
| statements.swift:16:9:16:9 | (Int) ... | LoadExpr | statements.swift:16:9:16:9 | i | DeclRefExpr |
|
||||||
| statements.swift:16:9:16:13 | ... call to +(_:_:) ... | BinaryExpr | statements.swift:16:11:16:11 | call to +(_:_:) | DotSyntaxCallExpr |
|
| statements.swift:16:9:16:13 | ... call to +(_:_:) ... | BinaryExpr | statements.swift:16:11:16:11 | call to +(_:_:) | DotSyntaxCallExpr |
|
||||||
| statements.swift:16:11:16:11 | Int.Type | TypeExpr | statements.swift:16:11:16:11 | FixedTypeRepr | FixedTypeRepr |
|
| statements.swift:16:11:16:11 | Int.Type | TypeExpr | statements.swift:16:11:16:11 | Int | TypeRepr |
|
||||||
| statements.swift:16:11:16:11 | call to +(_:_:) | DotSyntaxCallExpr | statements.swift:16:11:16:11 | +(_:_:) | DeclRefExpr |
|
| statements.swift:16:11:16:11 | call to +(_:_:) | DotSyntaxCallExpr | statements.swift:16:11:16:11 | +(_:_:) | DeclRefExpr |
|
||||||
| statements.swift:17:11:17:18 | (...) | ParenExpr | statements.swift:17:12:17:16 | ... call to <(_:_:) ... | BinaryExpr |
|
| statements.swift:17:11:17:18 | (...) | ParenExpr | statements.swift:17:12:17:16 | ... call to <(_:_:) ... | BinaryExpr |
|
||||||
| statements.swift:17:12:17:12 | (Int) ... | LoadExpr | statements.swift:17:12:17:12 | i | DeclRefExpr |
|
| statements.swift:17:12:17:12 | (Int) ... | LoadExpr | statements.swift:17:12:17:12 | i | DeclRefExpr |
|
||||||
| statements.swift:17:12:17:16 | ... call to <(_:_:) ... | BinaryExpr | statements.swift:17:14:17:14 | call to <(_:_:) | DotSyntaxCallExpr |
|
| statements.swift:17:12:17:16 | ... call to <(_:_:) ... | BinaryExpr | statements.swift:17:14:17:14 | call to <(_:_:) | DotSyntaxCallExpr |
|
||||||
| statements.swift:17:14:17:14 | Int.Type | TypeExpr | statements.swift:17:14:17:14 | FixedTypeRepr | FixedTypeRepr |
|
| statements.swift:17:14:17:14 | Int.Type | TypeExpr | statements.swift:17:14:17:14 | Int | TypeRepr |
|
||||||
| statements.swift:17:14:17:14 | call to <(_:_:) | DotSyntaxCallExpr | statements.swift:17:14:17:14 | <(_:_:) | DeclRefExpr |
|
| statements.swift:17:14:17:14 | call to <(_:_:) | DotSyntaxCallExpr | statements.swift:17:14:17:14 | <(_:_:) | DeclRefExpr |
|
||||||
| statements.swift:19:3:23:3 | do { ... } catch { ... } | DoCatchStmt | statements.swift:19:6:21:3 | { ... } | BraceStmt |
|
| statements.swift:19:3:23:3 | do { ... } catch { ... } | DoCatchStmt | statements.swift:19:6:21:3 | { ... } | BraceStmt |
|
||||||
| statements.swift:19:3:23:3 | do { ... } catch { ... } | DoCatchStmt | statements.swift:21:5:23:3 | case ... | CaseStmt |
|
| statements.swift:19:3:23:3 | do { ... } catch { ... } | DoCatchStmt | statements.swift:21:5:23:3 | case ... | CaseStmt |
|
||||||
@@ -1074,11 +1070,11 @@
|
|||||||
| statements.swift:39:3:41:3 | guard ... else { ... } | GuardStmt | statements.swift:39:9:39:14 | StmtCondition | StmtCondition |
|
| statements.swift:39:3:41:3 | guard ... else { ... } | GuardStmt | statements.swift:39:9:39:14 | StmtCondition | StmtCondition |
|
||||||
| statements.swift:39:3:41:3 | guard ... else { ... } | GuardStmt | statements.swift:39:21:41:3 | { ... } | BraceStmt |
|
| statements.swift:39:3:41:3 | guard ... else { ... } | GuardStmt | statements.swift:39:21:41:3 | { ... } | BraceStmt |
|
||||||
| statements.swift:39:9:39:14 | ... call to !=(_:_:) ... | BinaryExpr | statements.swift:39:11:39:11 | call to !=(_:_:) | DotSyntaxCallExpr |
|
| statements.swift:39:9:39:14 | ... call to !=(_:_:) ... | BinaryExpr | statements.swift:39:11:39:11 | call to !=(_:_:) | DotSyntaxCallExpr |
|
||||||
| statements.swift:39:11:39:11 | Int.Type | TypeExpr | statements.swift:39:11:39:11 | FixedTypeRepr | FixedTypeRepr |
|
| statements.swift:39:11:39:11 | Int.Type | TypeExpr | statements.swift:39:11:39:11 | Int | TypeRepr |
|
||||||
| statements.swift:39:11:39:11 | call to !=(_:_:) | DotSyntaxCallExpr | statements.swift:39:11:39:11 | !=(_:_:) | DeclRefExpr |
|
| statements.swift:39:11:39:11 | call to !=(_:_:) | DotSyntaxCallExpr | statements.swift:39:11:39:11 | !=(_:_:) | DeclRefExpr |
|
||||||
| statements.swift:39:21:41:3 | { ... } | BraceStmt | statements.swift:40:5:40:19 | throw ... | ThrowStmt |
|
| statements.swift:39:21:41:3 | { ... } | BraceStmt | statements.swift:40:5:40:19 | throw ... | ThrowStmt |
|
||||||
| statements.swift:40:5:40:19 | throw ... | ThrowStmt | statements.swift:40:11:40:19 | (Error) ... | ErasureExpr |
|
| statements.swift:40:5:40:19 | throw ... | ThrowStmt | statements.swift:40:11:40:19 | (Error) ... | ErasureExpr |
|
||||||
| statements.swift:40:11:40:11 | AnError.Type | TypeExpr | statements.swift:40:11:40:11 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| statements.swift:40:11:40:11 | AnError.Type | TypeExpr | statements.swift:40:11:40:11 | AnError | TypeRepr |
|
||||||
| statements.swift:40:11:40:19 | (Error) ... | ErasureExpr | statements.swift:40:11:40:19 | call to ... | DotSyntaxCallExpr |
|
| statements.swift:40:11:40:19 | (Error) ... | ErasureExpr | statements.swift:40:11:40:19 | call to ... | DotSyntaxCallExpr |
|
||||||
| statements.swift:40:11:40:19 | call to ... | DotSyntaxCallExpr | statements.swift:40:19:40:19 | failed | DeclRefExpr |
|
| statements.swift:40:11:40:19 | call to ... | DotSyntaxCallExpr | statements.swift:40:19:40:19 | failed | DeclRefExpr |
|
||||||
| statements.swift:44:1:46:1 | defer { ... } | DeferStmt | statements.swift:44:7:46:1 | { ... } | BraceStmt |
|
| statements.swift:44:1:46:1 | defer { ... } | DeferStmt | statements.swift:44:7:46:1 | { ... } | BraceStmt |
|
||||||
@@ -1143,7 +1139,7 @@
|
|||||||
| statements.swift:64:1:64:15 | { ... } | BraceStmt | statements.swift:64:1:64:15 | var ... = ... | PatternBindingDecl |
|
| statements.swift:64:1:64:15 | { ... } | BraceStmt | statements.swift:64:1:64:15 | var ... = ... | PatternBindingDecl |
|
||||||
| statements.swift:64:1:64:15 | { ... } | TopLevelCodeDecl | statements.swift:64:1:64:15 | { ... } | BraceStmt |
|
| statements.swift:64:1:64:15 | { ... } | TopLevelCodeDecl | statements.swift:64:1:64:15 | { ... } | BraceStmt |
|
||||||
| statements.swift:64:5:64:11 | ... as ... | TypedPattern | statements.swift:64:5:64:5 | x | NamedPattern |
|
| statements.swift:64:5:64:11 | ... as ... | TypedPattern | statements.swift:64:5:64:5 | x | NamedPattern |
|
||||||
| statements.swift:64:5:64:11 | ... as ... | TypedPattern | statements.swift:64:8:64:11 | ...? | OptionalTypeRepr |
|
| statements.swift:64:5:64:11 | ... as ... | TypedPattern | statements.swift:64:8:64:11 | Int? | TypeRepr |
|
||||||
| statements.swift:64:15:64:15 | (Int?) ... | InjectIntoOptionalExpr | statements.swift:64:15:64:15 | 4 | IntegerLiteralExpr |
|
| statements.swift:64:15:64:15 | (Int?) ... | InjectIntoOptionalExpr | statements.swift:64:15:64:15 | 4 | IntegerLiteralExpr |
|
||||||
| statements.swift:65:1:66:1 | if ... then { ... } | IfStmt | statements.swift:65:4:65:19 | StmtCondition | StmtCondition |
|
| statements.swift:65:1:66:1 | if ... then { ... } | IfStmt | statements.swift:65:4:65:19 | StmtCondition | StmtCondition |
|
||||||
| statements.swift:65:1:66:1 | if ... then { ... } | IfStmt | statements.swift:65:21:66:1 | { ... } | BraceStmt |
|
| statements.swift:65:1:66:1 | if ... then { ... } | IfStmt | statements.swift:65:21:66:1 | { ... } | BraceStmt |
|
||||||
@@ -1172,9 +1168,9 @@
|
|||||||
| statements.swift:71:1:72:1 | { ... } | TopLevelCodeDecl | statements.swift:71:1:72:1 | { ... } | BraceStmt |
|
| statements.swift:71:1:72:1 | { ... } | TopLevelCodeDecl | statements.swift:71:1:72:1 | { ... } | BraceStmt |
|
||||||
| statements.swift:71:29:71:38 | ... call to %(_:_:) ... | BinaryExpr | statements.swift:71:36:71:36 | call to %(_:_:) | DotSyntaxCallExpr |
|
| statements.swift:71:29:71:38 | ... call to %(_:_:) ... | BinaryExpr | statements.swift:71:36:71:36 | call to %(_:_:) | DotSyntaxCallExpr |
|
||||||
| statements.swift:71:29:71:43 | ... call to ==(_:_:) ... | BinaryExpr | statements.swift:71:40:71:40 | call to ==(_:_:) | DotSyntaxCallExpr |
|
| statements.swift:71:29:71:43 | ... call to ==(_:_:) ... | BinaryExpr | statements.swift:71:40:71:40 | call to ==(_:_:) | DotSyntaxCallExpr |
|
||||||
| statements.swift:71:36:71:36 | Int.Type | TypeExpr | statements.swift:71:36:71:36 | FixedTypeRepr | FixedTypeRepr |
|
| statements.swift:71:36:71:36 | Int.Type | TypeExpr | statements.swift:71:36:71:36 | Int | TypeRepr |
|
||||||
| statements.swift:71:36:71:36 | call to %(_:_:) | DotSyntaxCallExpr | statements.swift:71:36:71:36 | %(_:_:) | DeclRefExpr |
|
| statements.swift:71:36:71:36 | call to %(_:_:) | DotSyntaxCallExpr | statements.swift:71:36:71:36 | %(_:_:) | DeclRefExpr |
|
||||||
| statements.swift:71:40:71:40 | Int.Type | TypeExpr | statements.swift:71:40:71:40 | FixedTypeRepr | FixedTypeRepr |
|
| statements.swift:71:40:71:40 | Int.Type | TypeExpr | statements.swift:71:40:71:40 | Int | TypeRepr |
|
||||||
| statements.swift:71:40:71:40 | call to ==(_:_:) | DotSyntaxCallExpr | statements.swift:71:40:71:40 | ==(_:_:) | DeclRefExpr |
|
| statements.swift:71:40:71:40 | call to ==(_:_:) | DotSyntaxCallExpr | statements.swift:71:40:71:40 | ==(_:_:) | DeclRefExpr |
|
||||||
| statements.swift:74:8:74:8 | init | ConstructorDecl | statements.swift:74:8:74:8 | x | ParamDecl |
|
| statements.swift:74:8:74:8 | init | ConstructorDecl | statements.swift:74:8:74:8 | x | ParamDecl |
|
||||||
| statements.swift:75:3:75:11 | var ... = ... | PatternBindingDecl | statements.swift:75:7:75:11 | ... as ... | TypedPattern |
|
| statements.swift:75:3:75:11 | var ... = ... | PatternBindingDecl | statements.swift:75:7:75:11 | ... as ... | TypedPattern |
|
||||||
@@ -1190,7 +1186,7 @@
|
|||||||
| statements.swift:75:7:75:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
| statements.swift:75:7:75:7 | { ... } | BraceStmt | file://:0:0:0:0 | return ... | ReturnStmt |
|
||||||
| statements.swift:75:7:75:7 | { ... } | BraceStmt | statements.swift:75:7:75:7 | yield ... | YieldStmt |
|
| statements.swift:75:7:75:7 | { ... } | BraceStmt | statements.swift:75:7:75:7 | yield ... | YieldStmt |
|
||||||
| statements.swift:75:7:75:11 | ... as ... | TypedPattern | statements.swift:75:7:75:7 | x | NamedPattern |
|
| statements.swift:75:7:75:11 | ... as ... | TypedPattern | statements.swift:75:7:75:7 | x | NamedPattern |
|
||||||
| statements.swift:75:7:75:11 | ... as ... | TypedPattern | statements.swift:75:11:75:11 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| statements.swift:75:7:75:11 | ... as ... | TypedPattern | statements.swift:75:11:75:11 | Int | TypeRepr |
|
||||||
| statements.swift:76:3:84:3 | var ... = ... | PatternBindingDecl | statements.swift:76:7:76:19 | ... as ... | TypedPattern |
|
| statements.swift:76:3:84:3 | var ... = ... | PatternBindingDecl | statements.swift:76:7:76:19 | ... as ... | TypedPattern |
|
||||||
| statements.swift:76:7:76:7 | hasModify | ConcreteVarDecl | statements.swift:76:7:76:7 | set | AccessorDecl |
|
| statements.swift:76:7:76:7 | hasModify | ConcreteVarDecl | statements.swift:76:7:76:7 | set | AccessorDecl |
|
||||||
| statements.swift:76:7:76:7 | hasModify | ConcreteVarDecl | statements.swift:77:5:79:5 | (unnamed function decl) | AccessorDecl |
|
| statements.swift:76:7:76:7 | hasModify | ConcreteVarDecl | statements.swift:77:5:79:5 | (unnamed function decl) | AccessorDecl |
|
||||||
@@ -1199,7 +1195,7 @@
|
|||||||
| statements.swift:76:7:76:7 | set | AccessorDecl | statements.swift:76:7:76:7 | { ... } | BraceStmt |
|
| statements.swift:76:7:76:7 | set | AccessorDecl | statements.swift:76:7:76:7 | { ... } | BraceStmt |
|
||||||
| statements.swift:76:7:76:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
| statements.swift:76:7:76:7 | { ... } | BraceStmt | file://:0:0:0:0 | ... = ... | AssignExpr |
|
||||||
| statements.swift:76:7:76:19 | ... as ... | TypedPattern | statements.swift:76:7:76:7 | hasModify | NamedPattern |
|
| statements.swift:76:7:76:19 | ... as ... | TypedPattern | statements.swift:76:7:76:7 | hasModify | NamedPattern |
|
||||||
| statements.swift:76:7:76:19 | ... as ... | TypedPattern | statements.swift:76:19:76:19 | SimpleIdentTypeRepr | SimpleIdentTypeRepr |
|
| statements.swift:76:7:76:19 | ... as ... | TypedPattern | statements.swift:76:19:76:19 | Int | TypeRepr |
|
||||||
| statements.swift:77:5:79:5 | (unnamed function decl) | AccessorDecl | statements.swift:77:13:79:5 | { ... } | BraceStmt |
|
| statements.swift:77:5:79:5 | (unnamed function decl) | AccessorDecl | statements.swift:77:13:79:5 | { ... } | BraceStmt |
|
||||||
| statements.swift:77:13:79:5 | { ... } | BraceStmt | statements.swift:78:7:78:14 | yield ... | YieldStmt |
|
| statements.swift:77:13:79:5 | { ... } | BraceStmt | statements.swift:78:7:78:14 | yield ... | YieldStmt |
|
||||||
| statements.swift:78:7:78:14 | yield ... | YieldStmt | statements.swift:78:13:78:14 | &... | InOutExpr |
|
| statements.swift:78:7:78:14 | yield ... | YieldStmt | statements.swift:78:13:78:14 | &... | InOutExpr |
|
||||||
|
|||||||
Reference in New Issue
Block a user