diff options
author | Juerg Billeter <j@bitron.ch> | 2008-03-31 19:18:24 +0000 |
---|---|---|
committer | Jürg Billeter <juergbi@src.gnome.org> | 2008-03-31 19:18:24 +0000 |
commit | 8ab64099fed01995da1e0bcb45a6c7645aa65ea8 (patch) | |
tree | 8fd55f2a2ee41d85feeb04aebf67b7f090dd46b7 /vala/valaattribute.vala | |
parent | 6cc22c6901067882ef7952f65dbe8307f799fa3b (diff) | |
download | vala-8ab64099fed01995da1e0bcb45a6c7645aa65ea8.tar.gz |
Merge Literal and LiteralExpression
2008-03-31 Juerg Billeter <j@bitron.ch>
* vala/Makefile.am, vala/parser.y, vala/vala.h,
vala/valaattribute.vala, vala/valabooleanliteral.vala,
vala/valacharacterliteral.vala, vala/valacodecontext.vala,
vala/valacodegenerator.vala, vala/valacodevisitor.vala,
vala/valaintegerliteral.vala, vala/valaliteral.vala,
vala/valanullliteral.vala, vala/valarealliteral.vala,
vala/valasemanticanalyzer.vala, vala/valastringliteral.vala,
gobject/valaccodeelementaccessbinding.vala,
gobject/valaccodegenerator.vala:
Merge Literal and LiteralExpression
svn path=/trunk/; revision=1165
Diffstat (limited to 'vala/valaattribute.vala')
-rw-r--r-- | vala/valaattribute.vala | 50 |
1 files changed, 21 insertions, 29 deletions
diff --git a/vala/valaattribute.vala b/vala/valaattribute.vala index cb3b4623e..45f0033b3 100644 --- a/vala/valaattribute.vala +++ b/vala/valaattribute.vala @@ -83,11 +83,9 @@ public class Vala.Attribute : CodeNode { // FIXME: use hash table foreach (NamedArgument arg in args) { if (arg.name == name) { - if (arg.argument is LiteralExpression) { - var lit = ((LiteralExpression) arg.argument).literal; - if (lit is StringLiteral) { - return ((StringLiteral) lit).eval (); - } + var lit = arg.argument as StringLiteral; + if (lit != null) { + return lit.eval (); } } } @@ -105,11 +103,9 @@ public class Vala.Attribute : CodeNode { // FIXME: use hash table foreach (NamedArgument arg in args) { if (arg.name == name) { - if (arg.argument is LiteralExpression) { - var lit = ((LiteralExpression) arg.argument).literal; - if (lit is IntegerLiteral) { - return ((IntegerLiteral) lit).value.to_int (); - } + var lit = arg.argument as IntegerLiteral; + if (lit != null) { + return lit.value.to_int (); } } } @@ -127,23 +123,21 @@ public class Vala.Attribute : CodeNode { // FIXME: use hash table foreach (NamedArgument arg in args) { if (arg.name == name) { - if (arg.argument is LiteralExpression) { - var lit = ((LiteralExpression) arg.argument).literal; - if (lit is RealLiteral) { - return ((RealLiteral) lit).value.to_double (); - } else if (lit is IntegerLiteral) { - return ((IntegerLiteral) lit).value.to_int (); - } + if (arg.argument is RealLiteral) { + var lit = (RealLiteral) arg.argument; + return lit.value.to_double (); + } else if (arg.argument is IntegerLiteral) { + var lit = (IntegerLiteral) arg.argument; + return lit.value.to_int (); } else if (arg.argument is UnaryExpression) { var unary = (UnaryExpression) arg.argument; if (unary.operator == UnaryOperator.MINUS) { - if (unary.inner is LiteralExpression) { - var lit = ((LiteralExpression) unary.inner).literal; - if (lit is RealLiteral) { - return -((RealLiteral) lit).value.to_double (); - } else if (lit is IntegerLiteral) { - return -((IntegerLiteral) lit).value.to_int (); - } + if (unary.inner is RealLiteral) { + var lit = (RealLiteral) unary.inner; + return -lit.value.to_double (); + } else if (unary.inner is IntegerLiteral) { + var lit = (IntegerLiteral) unary.inner; + return -lit.value.to_int (); } } } @@ -163,11 +157,9 @@ public class Vala.Attribute : CodeNode { // FIXME: use hash table foreach (NamedArgument arg in args) { if (arg.name == name) { - if (arg.argument is LiteralExpression) { - var lit = ((LiteralExpression) arg.argument).literal; - if (lit is BooleanLiteral) { - return ((BooleanLiteral) lit).value; - } + var lit = arg.argument as BooleanLiteral; + if (lit != null) { + return lit.value; } } } |