summaryrefslogtreecommitdiff
path: root/vala/valaattribute.vala
diff options
context:
space:
mode:
authorJuerg Billeter <j@bitron.ch>2008-03-31 19:18:24 +0000
committerJürg Billeter <juergbi@src.gnome.org>2008-03-31 19:18:24 +0000
commit8ab64099fed01995da1e0bcb45a6c7645aa65ea8 (patch)
tree8fd55f2a2ee41d85feeb04aebf67b7f090dd46b7 /vala/valaattribute.vala
parent6cc22c6901067882ef7952f65dbe8307f799fa3b (diff)
downloadvala-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.vala50
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;
}
}
}