Lines Matching refs:shared_ptr
102 std::variant<std::shared_ptr<Expression>, std::string> receiver;
105 FieldVariable(std::shared_ptr<Expression> object, const std::string& name);
116 std::shared_ptr<Variable> variable = nullptr;
120 Field(int modifiers, std::shared_ptr<Variable> variable);
141 std::vector<std::shared_ptr<Statement>> statements;
147 void Add(std::shared_ptr<Statement> statement);
148 void Add(std::shared_ptr<Expression> expression);
152 std::shared_ptr<Expression> expression;
154 explicit ExpressionStatement(std::shared_ptr<Expression> expression);
160 std::shared_ptr<Variable> lvalue;
161 std::shared_ptr<Expression> rvalue;
164 Assignment(std::shared_ptr<Variable> lvalue, std::shared_ptr<Expression> rvalue);
165 Assignment(std::shared_ptr<Variable> lvalue, std::shared_ptr<Expression> rvalue,
172 std::variant<std::monostate, std::shared_ptr<Expression>, std::string> receiver;
174 std::vector<std::shared_ptr<Expression>> arguments;
178 MethodCall(const std::string& name, const std::vector<std::shared_ptr<Expression>>& args);
179 MethodCall(std::shared_ptr<Expression> obj, const std::string& name);
181 MethodCall(std::shared_ptr<Expression> obj, const std::string& name,
182 const std::vector<std::shared_ptr<Expression>>& args);
184 const std::vector<std::shared_ptr<Expression>>& args);
190 std::shared_ptr<Expression> lvalue;
192 std::shared_ptr<Expression> rvalue;
194 Comparison(std::shared_ptr<Expression> lvalue, const std::string& op,
195 std::shared_ptr<Expression> rvalue);
202 std::vector<std::shared_ptr<Expression>> arguments;
205 NewExpression(const std::string& name, const std::vector<std::shared_ptr<Expression>>& args);
212 std::shared_ptr<Expression> size;
214 NewArrayExpression(const std::string& type, std::shared_ptr<Expression> size);
221 std::shared_ptr<Expression> expression = nullptr;
224 Cast(const std::string& type, std::shared_ptr<Expression> expression);
230 std::shared_ptr<Variable> lvalue = nullptr;
231 std::shared_ptr<Expression> rvalue = nullptr;
233 explicit VariableDeclaration(std::shared_ptr<Variable> lvalue);
234 VariableDeclaration(std::shared_ptr<Variable> lvalue, std::shared_ptr<Expression> rvalue);
240 std::shared_ptr<Expression> expression = nullptr;
241 std::shared_ptr<StatementBlock> statements = std::make_shared<StatementBlock>();
242 std::shared_ptr<IfStatement> elseif = nullptr;
250 std::shared_ptr<Expression> expression;
252 explicit ReturnStatement(std::shared_ptr<Expression> expression);
258 std::shared_ptr<StatementBlock> statements = std::make_shared<StatementBlock>();
266 std::shared_ptr<StatementBlock> statements = std::make_shared<StatementBlock>();
275 std::shared_ptr<StatementBlock> statements = std::make_shared<StatementBlock>();
284 std::shared_ptr<Expression> expression;
285 std::vector<std::shared_ptr<Case>> cases;
287 explicit SwitchStatement(std::shared_ptr<Expression> expression);
298 std::vector<std::shared_ptr<Variable>> parameters;
300 std::shared_ptr<StatementBlock> statements = nullptr;
327 std::vector<std::shared_ptr<ClassElement>> elements;
349 extern std::shared_ptr<Expression> NULL_VALUE;
350 extern std::shared_ptr<Expression> THIS_VALUE;
351 extern std::shared_ptr<Expression> SUPER_VALUE;
352 extern std::shared_ptr<Expression> TRUE_VALUE;
353 extern std::shared_ptr<Expression> FALSE_VALUE;