|
@@ -135,6 +135,7 @@ struct qlow::sem::Method : public SemanticObject
|
|
llvm::Function* llvmNode;
|
|
llvm::Function* llvmNode;
|
|
|
|
|
|
inline Method(Scope& parentScope, std::shared_ptr<Type> returnType) :
|
|
inline Method(Scope& parentScope, std::shared_ptr<Type> returnType) :
|
|
|
|
+ containingType{ nullptr },
|
|
returnType{ std::move(returnType) },
|
|
returnType{ std::move(returnType) },
|
|
scope{ parentScope, this },
|
|
scope{ parentScope, this },
|
|
thisExpression{ std::make_unique<ThisExpression>(this) },
|
|
thisExpression{ std::make_unique<ThisExpression>(this) },
|
|
@@ -143,6 +144,7 @@ struct qlow::sem::Method : public SemanticObject
|
|
}
|
|
}
|
|
|
|
|
|
inline Method(ast::MethodDefinition* astNode, Scope& parentScope) :
|
|
inline Method(ast::MethodDefinition* astNode, Scope& parentScope) :
|
|
|
|
+ containingType{ nullptr },
|
|
astNode{ astNode },
|
|
astNode{ astNode },
|
|
name{ astNode->name },
|
|
name{ astNode->name },
|
|
scope{ parentScope, this },
|
|
scope{ parentScope, this },
|
|
@@ -382,6 +384,7 @@ struct qlow::sem::FieldAccessExpression : public Expression
|
|
inline FieldAccessExpression(std::unique_ptr<Expression> target,
|
|
inline FieldAccessExpression(std::unique_ptr<Expression> target,
|
|
Field* accessed ) :
|
|
Field* accessed ) :
|
|
Expression{ accessed->type },
|
|
Expression{ accessed->type },
|
|
|
|
+ target{ std::move(target) },
|
|
accessed{ accessed }
|
|
accessed{ accessed }
|
|
{
|
|
{
|
|
}
|
|
}
|