Forráskód Böngészése

Module/Framework are mutually exclusive.

Brucey 1 éve
szülő
commit
5b24980424
2 módosított fájl, 18 hozzáadás és 0 törlés
  1. 2 0
      decl.bmx
  2. 16 0
      parser.bmx

+ 2 - 0
decl.bmx

@@ -3953,6 +3953,8 @@ End Type
 Const MODULE_STRICT:Int=1
 Const MODULE_SUPERSTRICT:Int=2
 Const MODULE_ACTUALMOD:Int=4
+Const MODULE_FRAMEWORK:Int=8
+Const MODULE_MODULE:Int=16
 
 Type TNamespaceDecl Extends TScopeDecl
 

+ 16 - 0
parser.bmx

@@ -4322,8 +4322,16 @@ End Rem
 					ImportModule ParseModPath(),attrs | MODULE_ACTUALMOD
 				EndIf
 			Case "framework"
+				If _module.attrs & MODULE_FRAMEWORK Then
+					Err "Framework already specified"
+				End If
+				If _module.attrs & MODULE_MODULE Then
+					Err "Module already specified"
+				End If
+				
 				NextToke
 				ImportModule ParseModPath(),attrs
+				_module.attrs :| MODULE_FRAMEWORK
 			Case "alias"
 				NextToke
 				Repeat
@@ -4350,6 +4358,13 @@ End Rem
 
 				Until Not CParse(",")
 			Case "module"
+				If _module.attrs & MODULE_FRAMEWORK Then
+					Err "Framework already specified"
+				End If
+				If _module.attrs & MODULE_MODULE Then
+					Err "Module already specified"
+				End If
+
 				Local m:String = ParseModuleDecl(_toke, attrs)
 
 				If m.ToLower() <> opt_modulename Then
@@ -4358,6 +4373,7 @@ End Rem
 
 				'sanitize, remove non-allowed chars
 				_module.munged = TStringHelper.Sanitize(m)
+				_module.attrs :| MODULE_MODULE
 			Case "nodebug"
 				mainFunc.attrs :| DECL_NODEBUG
 				attrs :| DECL_NODEBUG