//------------------------------------------------------------ /// <summary> /// NewExpression: /// "new" TypePath FunctionCallExpression /// </summary> /// <returns></returns> IExpression parseNewExpression() { // "new" System.Diagnostics.Debug.Assert(currentToken().Value == Token.Kind.KeyNew); nextToken(); // TypePath TypePath typePath = parseTypePath(); if (typePath == null) { return(null); } // FunctionCallExpression FunctionCallExpression funcCallExpr = parseFunctionCallExpression(); if (funcCallExpr == null) { return(null); } return(new NewExpression(typePath, funcCallExpr)); }
//------------------------------------------------------------ // コンストラクタ。 public NewExpression(TypePath aTypePath, FunctionCallExpression aFuncCallExpr) { mTypePath = aTypePath; mFuncCallExpr = aFuncCallExpr; }