Exemplo n.º 1
0
        public override LLVMRegister VisitMemberFunctionDeclarationStatement([NotNull] ClepsParser.MemberFunctionDeclarationStatementContext context)
        {
            bool isStatic = context.STATIC() != null;

            ClepsParser.TypenameAndVoidContext returnTypeContext = context.functionDeclarationStatement().FunctionReturnType;
            ClepsType clepsReturnType = ClepsType.GetBasicOrVoidType(returnTypeContext);

            ClepsParser.FunctionParametersListContext parametersContext = context.functionDeclarationStatement().functionParametersList();
            string functionName = context.functionDeclarationStatement().FunctionName.GetText();

            return(VisitFunctionDeclarationBody(context, clepsReturnType, parametersContext, functionName, isStatic));
        }
Exemplo n.º 2
0
        public override int VisitMemberFunctionDeclarationStatement([NotNull] ClepsParser.MemberFunctionDeclarationStatementContext context)
        {
            bool   isStatic = context.STATIC() != null;
            var    functionDeclarationContext = context.functionDeclarationStatement();
            string functionName = functionDeclarationContext.FunctionName.Name.Text;

            ClepsParser.TypenameAndVoidContext functionReturnContext = functionDeclarationContext.FunctionReturnType;
            ClepsType clepsReturnType = ClepsType.GetBasicOrVoidType(functionReturnContext);

            ClepsParser.FunctionParametersListContext parameterContext = functionDeclarationContext.functionParametersList();
            var ret = GenerateMemberFunction(context, isStatic, functionName, clepsReturnType, parameterContext);

            return(ret);
        }