Line data Source code
1 : /* valacodegenerator.vala
2 : *
3 : * Copyright (C) 2007-2011 Jürg Billeter
4 : *
5 : * This library is free software; you can redistribute it and/or
6 : * modify it under the terms of the GNU Lesser General Public
7 : * License as published by the Free Software Foundation; either
8 : * version 2.1 of the License, or (at your option) any later version.
9 :
10 : * This library is distributed in the hope that it will be useful,
11 : * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 : * Lesser General Public License for more details.
14 :
15 : * You should have received a copy of the GNU Lesser General Public
16 : * License along with this library; if not, write to the Free Software
17 : * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 : *
19 : * Author:
20 : * Jürg Billeter <j@bitron.ch>
21 : */
22 :
23 : /**
24 : * Abstract code visitor generating code.
25 : */
26 2934 : public abstract class Vala.CodeGenerator : CodeVisitor {
27 : /**
28 : * Generate and emit C code for the specified code context.
29 : *
30 : * @param context a code context
31 : */
32 887 : public virtual void emit (CodeContext context) {
33 : }
34 :
35 29813 : public abstract TargetValue load_local (LocalVariable local, Expression? expr = null);
36 :
37 17723 : public abstract void store_local (LocalVariable local, TargetValue value, bool initializer, SourceReference? source_reference = null);
38 :
39 31612 : public abstract TargetValue load_parameter (Parameter param, Expression? expr = null);
40 :
41 392 : public abstract void store_parameter (Parameter param, TargetValue value, bool capturing_parameter = false, SourceReference? source_reference = null);
42 :
43 9256 : public abstract TargetValue load_field (Field field, TargetValue? instance, Expression? expr = null);
44 :
45 2936 : public abstract void store_field (Field field, TargetValue? instance, TargetValue value, bool initializer, SourceReference? source_reference = null);
46 : }
|