import { ASTNode } from "../../ast_node"; import { ExternalReferenceType, FunctionCallKind } from "../../constants"; import { ErrorDefinition } from "../declaration/error_definition"; import { EventDefinition } from "../declaration/event_definition"; import { FunctionDefinition } from "../declaration/function_definition"; import { VariableDeclaration } from "../declaration/variable_declaration"; import { Expression } from "./expression"; export type CallableDefinition = FunctionDefinition | EventDefinition | ErrorDefinition | VariableDeclaration; export declare class FunctionCall extends Expression { /** * Type of call: `functionCall`, `typeConversion` or `structConstructorCall`. */ kind: FunctionCallKind; /** * In the case that this is a struct constructor call, * this is the field name corresponding to every argument. * The field is `undefined` otherwise. */ fieldNames?: string[]; /** * Expression that defines the callee * For example `msg.sender.foo` in `msg.sender.foo()` * or `someContract.foo` in `someContract.foo()`. */ vExpression: Expression; /** * Call arguments, e.g array with `1` and `2` expressions in `foo(1, 2)` */ vArguments: Expression[]; constructor(id: number, src: string, typeString: string, typeIdentifier: string | undefined, kind: FunctionCallKind, expression: Expression, args: Expression[], fieldNames?: string[], raw?: any); get children(): readonly ASTNode[]; /** * Identifier of the function name, e.g. `sha3(...)` */ get vIdentifier(): string; /** * Is either empty and in this case the `Identifier` is the function name * or if there is `MemberAccess` then the `memberName` is the second part of the `p1.p2`, * e.g. the `memberName` from `someUintArray.push(123)` is `push`. */ get vMemberName(): string | undefined; /** * Solidity builtin or user-defined function */ get vFunctionCallType(): ExternalReferenceType; /** * Called function or event definition reference */ get vReferencedDeclaration(): CallableDefinition | undefined; /** * `identifier.memberName` or if `memberName` is empty it is `identifier` */ get vFunctionName(): string; /** * When expression is `.value(5)(...)` * returns `` without `gas()`, `value()` call modifiers * or `{gas: X, value: Y}` options. * * While loop is here due to `.gas()`, `.value()` modifiers * and call options can be nested. */ get vCallee(): Expression; } //# sourceMappingURL=function_call.d.ts.map