1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
#pragma once
#include "Function.h"
namespace storm {
namespace bs {
STORM_PKG(lang.bs);
/**
* Initializer function for variables. Used for both global variables and member variables.
*/
class VariableInitializer : public BSRawFn {
STORM_CLASS;
public:
// Create. Note: the node is expected to be a lang.bs.SExpr.
STORM_CTOR VariableInitializer(SrcPos pos, Value type, Scope scope, MAYBE(syntax::Node *) initExpr);
// Generate the body.
virtual FnBody *STORM_FN createBody();
private:
// Scope.
Scope scope;
// Initialization expression.
MAYBE(syntax::Node *) initExpr;
};
}
}
|