Skip to content

Commit 7bb7950

Browse files
committed
Vala: tag fields having initializer
Signed-off-by: Masatake YAMATO <[email protected]>
1 parent 64d925b commit 7bb7950

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
X input.vala /^namespace X {$/;" n
22
X.MyObject input.vala /^public class X.MyObject {$/;" c
33
a input.vala /^ int a;$/;" f class:X.MyObject typeref:typename:int
4+
b input.vala /^ int b = 1;$/;" f class:X.MyObject typeref:typename:int
5+
c input.vala /^ int c = 2;$/;" f class:X.MyObject typeref:typename:int
6+
d input.vala /^ int d;$/;" f class:X.MyObject typeref:typename:int

Units/parser-vala.r/qnamed-class.d/input.vala

+3
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,7 @@ namespace X {
33

44
public class X.MyObject {
55
int a;
6+
int b = 1;
7+
int c = 2;
8+
int d;
69
}

parsers/vala.c

+10-1
Original file line numberDiff line numberDiff line change
@@ -736,8 +736,17 @@ static void parseClassBody (tokenInfo *const token, int classCorkIndex)
736736
}
737737

738738
int kind;
739-
if (tokenIsTypeVal (token, ';'))
739+
if (tokenIsTypeVal (token, ';')
740+
|| tokenIsTypeVal (token, '='))
741+
{
740742
kind = K_FIELD;
743+
if (tokenIsTypeVal (token, '='))
744+
{
745+
bool s = tokenTypePairSetState (&valaTokenInfoClass, '<', false);
746+
tokenSkipToTypeOverPairs (token, ';');
747+
tokenTypePairSetState (&valaTokenInfoClass, '<', s);
748+
}
749+
}
741750
else if (tokenIsTypeVal (token, '{'))
742751
kind = K_PROP;
743752
else

0 commit comments

Comments
 (0)