[vala] Support null source references in more places



commit ff63c4b8017beef13d61743c5f6d1edeb997f387
Author: Evan Nemerson <evan coeus-group com>
Date:   Tue May 4 16:44:15 2010 -0700

    Support null source references in more places
    
    Fixes bug 617713.

 vala/valablock.vala           |    2 +-
 vala/valabreakstatement.vala  |    2 +-
 vala/valacodewriter.vala      |   16 +++++++++-------
 vala/valaconstructor.vala     |    2 +-
 vala/valaswitchsection.vala   |    2 +-
 vala/valaswitchstatement.vala |    2 +-
 6 files changed, 14 insertions(+), 12 deletions(-)
---
diff --git a/vala/valablock.vala b/vala/valablock.vala
index 85a74cd..5b570a7 100644
--- a/vala/valablock.vala
+++ b/vala/valablock.vala
@@ -42,7 +42,7 @@ public class Vala.Block : Symbol, Statement {
 	 *
 	 * @param source reference to source code
 	 */
-	public Block (SourceReference source_reference) {
+	public Block (SourceReference? source_reference) {
 		base (null, source_reference);
 	}
 	
diff --git a/vala/valabreakstatement.vala b/vala/valabreakstatement.vala
index 9ac82a7..97e93df 100644
--- a/vala/valabreakstatement.vala
+++ b/vala/valabreakstatement.vala
@@ -32,7 +32,7 @@ public class Vala.BreakStatement : CodeNode, Statement {
 	 * @param source reference to source code
 	 * @return       newly created break statement
 	 */
-	public BreakStatement (SourceReference source) {
+	public BreakStatement (SourceReference? source) {
 		source_reference = source;
 	}
 	
diff --git a/vala/valacodewriter.vala b/vala/valacodewriter.vala
index 99ef1c1..6adb5bc 100644
--- a/vala/valacodewriter.vala
+++ b/vala/valacodewriter.vala
@@ -104,13 +104,15 @@ public class Vala.CodeWriter : CodeVisitor {
 		write_indent ();
 		write_string ("[CCode (cprefix = \"%s\", lower_case_cprefix = \"%s\"".printf (ns.get_cprefix (), ns.get_lower_case_cprefix ()));
 
-		if (ns.source_reference.file.gir_namespace != null) {
-			write_string (", ");
-			write_string ("gir_namespace = \"%s\"".printf (ns.source_reference.file.gir_namespace));
-		}
-		if (ns.source_reference.file.gir_version != null) {
-			write_string(", ");
-			write_string ("gir_version = \"%s\"".printf (ns.source_reference.file.gir_version));
+		if (ns.source_reference != null) {
+			if (ns.source_reference.file.gir_namespace != null) {
+				write_string (", ");
+				write_string ("gir_namespace = \"%s\"".printf (ns.source_reference.file.gir_namespace));
+			}
+			if (ns.source_reference.file.gir_version != null) {
+				write_string(", ");
+				write_string ("gir_version = \"%s\"".printf (ns.source_reference.file.gir_version));
+			}
 		}
 
 		write_string (")]");
diff --git a/vala/valaconstructor.vala b/vala/valaconstructor.vala
index 7f89a8f..02bc199 100644
--- a/vala/valaconstructor.vala
+++ b/vala/valaconstructor.vala
@@ -47,7 +47,7 @@ public class Vala.Constructor : Symbol {
 	 * @param source reference to source code
 	 * @return       newly created constructor
 	 */
-	public Constructor (SourceReference source) {
+	public Constructor (SourceReference? source) {
 		base (null, source);
 	}
 
diff --git a/vala/valaswitchsection.vala b/vala/valaswitchsection.vala
index 5247f37..944035c 100644
--- a/vala/valaswitchsection.vala
+++ b/vala/valaswitchsection.vala
@@ -34,7 +34,7 @@ public class Vala.SwitchSection : Block {
 	 * @param source_reference reference to source code
 	 * @return                 newly created switch section
 	 */
-	public SwitchSection (SourceReference source_reference) {
+	public SwitchSection (SourceReference? source_reference) {
 		base (source_reference);
 	}
 	
diff --git a/vala/valaswitchstatement.vala b/vala/valaswitchstatement.vala
index 976e7d4..be38a29 100644
--- a/vala/valaswitchstatement.vala
+++ b/vala/valaswitchstatement.vala
@@ -49,7 +49,7 @@ public class Vala.SwitchStatement : CodeNode, Statement {
 	 * @param source_reference reference to source code
 	 * @return                 newly created switch statement
 	 */
-	public SwitchStatement (Expression expression, SourceReference source_reference) {
+	public SwitchStatement (Expression expression, SourceReference? source_reference) {
 		this.source_reference = source_reference;
 		this.expression = expression;
 	}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]