grammar: adds syntax for explicit extern calls and updates c_src
[nit.git] / src / parser / parser_abs.nit
index 57d9706..6aff820 100644 (file)
@@ -320,6 +320,8 @@ class AAssignOp super Prod end
 class AClosureDef super Prod end
 class AClosureId super Prod end
 class AModuleName super Prod end
+class AExternCalls super Prod end
+class AExternCall super Prod end
 class AQualified super Prod end
 class ADoc super Prod end
 
@@ -457,6 +459,7 @@ class AExternMethPropdef
     readable var _n_methid: AMethid
     readable var _n_signature: ASignature
     readable var _n_extern: nullable TString = null
+    readable var _n_extern_calls: nullable AExternCalls = null
 end
 class AConcreteMethPropdef
        super APropdef
@@ -1041,6 +1044,51 @@ class AModuleName
     readable var _n_path: List[TId] = new List[TId]
     readable var _n_id: TId
 end
+class AExternCalls
+       super AExternCalls
+    readable var _n_kwimport: TKwimport
+    readable var _n_extern_calls: List[AExternCall] = new List[AExternCall]
+end
+class AExternCall
+       super AExternCall
+end
+class ASuperExternCall
+       super AExternCall
+    readable var _n_kwsuper: TKwsuper
+end
+class ALocalPropExternCall
+       super AExternCall
+    readable var _n_methid: AMethid
+end
+class AFullPropExternCall
+       super AExternCall
+    readable var _n_classid: TClassid
+    readable var _n_quad: nullable TQuad = null
+    readable var _n_methid: AMethid
+end
+class AInitPropExternCall
+       super AExternCall
+    readable var _n_classid: TClassid
+end
+class ACastAsExternCall
+       super AExternCall
+    readable var _n_from_type: AType
+    readable var _n_kwas: TKwas
+    readable var _n_to_type: AType
+end
+class AAsNullableExternCall
+       super AExternCall
+    readable var _n_type: AType
+    readable var _n_kwas: TKwas
+    readable var _n_kwnullable: TKwnullable
+end
+class AAsNotNullableExternCall
+       super AExternCall
+    readable var _n_type: AType
+    readable var _n_kwas: TKwas
+    readable var _n_kwnot: TKwnot
+    readable var _n_kwnullable: TKwnullable
+end
 class AQualified
        super AQualified
     readable var _n_id: List[TId] = new List[TId]