1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2021 Google Inc. 3cb93a386Sopenharmony_ci * 4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be 5cb93a386Sopenharmony_ci * found in the LICENSE file. 6cb93a386Sopenharmony_ci */ 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_ci#include "include/sksl/SkSLErrorReporter.h" 9cb93a386Sopenharmony_ci#include "src/sksl/SkSLContext.h" 10cb93a386Sopenharmony_ci#include "src/sksl/ir/SkSLExpression.h" 11cb93a386Sopenharmony_ci 12cb93a386Sopenharmony_cinamespace SkSL { 13cb93a386Sopenharmony_ci 14cb93a386Sopenharmony_cibool Expression::isIncomplete(const Context& context) const { 15cb93a386Sopenharmony_ci switch (this->kind()) { 16cb93a386Sopenharmony_ci case Kind::kFunctionReference: 17cb93a386Sopenharmony_ci case Kind::kExternalFunctionReference: 18cb93a386Sopenharmony_ci context.fErrors->error(fLine, "expected '(' to begin function call"); 19cb93a386Sopenharmony_ci return true; 20cb93a386Sopenharmony_ci 21cb93a386Sopenharmony_ci case Kind::kMethodReference: 22cb93a386Sopenharmony_ci context.fErrors->error(fLine, "expected '(' to begin method call"); 23cb93a386Sopenharmony_ci return true; 24cb93a386Sopenharmony_ci 25cb93a386Sopenharmony_ci case Kind::kTypeReference: 26cb93a386Sopenharmony_ci context.fErrors->error(fLine, "expected '(' to begin constructor invocation"); 27cb93a386Sopenharmony_ci return true; 28cb93a386Sopenharmony_ci 29cb93a386Sopenharmony_ci default: 30cb93a386Sopenharmony_ci return false; 31cb93a386Sopenharmony_ci } 32cb93a386Sopenharmony_ci} 33cb93a386Sopenharmony_ci 34cb93a386Sopenharmony_ci} // namespace SkSL 35