void AUTOVARIABLE(out pBaseLangObject outObj, pBaseLangObject parent, Encapsulation e = Encapsulation.NA) { var obj = new Variable(parent, la.col, la.line); obj.encapsulation = e; outObj = obj; pBaseLangObject blo; Expect(60); obj.varType = new VarTypeObject(VarType.Auto); IDENT(out blo, outObj); obj.Name = (Ident)blo; BODY_ASSIGNMENT(out blo, outObj); obj.addChild(blo); }
void NEWVARIABLE(out pBaseLangObject outObj, pBaseLangObject parent, Encapsulation e = Encapsulation.NA) { var obj = new Variable(parent, la.col, la.line); obj.encapsulation = e; outObj = obj; pBaseLangObject blo; VarType v; if (StartOf(2)) { VARTYPE(out v); obj.varType = new VarTypeObject(v); } else if (StartOf(12)) { bool isStrict = false; if (la.kind == 49) { Get(); isStrict = true; } IDENTACCESS(out blo, obj); obj.varType = new VarTypeObject((Ident)blo, isStrict); if (la.kind == 21) { Template te; TEMPLATE(out te, outObj); obj.varType.TemplateObject = te; } } else SynErr(93); IDENT(out blo, outObj); obj.Name = (Ident)blo; if (la.kind == 7 || la.kind == 8 || la.kind == 9) { BODY_ASSIGNMENT(out blo, outObj); obj.addChild(blo); } }