Merge branch 'trail-retrun' of https://github.com/Tryibion/FlaxEngine into Tryibion-trail-retrun
This commit is contained in:
@@ -172,6 +172,12 @@ public:
|
||||
return str.Length();
|
||||
}
|
||||
|
||||
// Test trailing return type
|
||||
API_FUNCTION() auto TestTrailingReturn(int32 number) -> float
|
||||
{
|
||||
return static_cast<float>(number);
|
||||
}
|
||||
|
||||
int32 TestInterfaceMethod(const String& str) override
|
||||
{
|
||||
return str.Length();
|
||||
|
||||
@@ -831,6 +831,7 @@ namespace Flax.Build.Bindings
|
||||
}
|
||||
|
||||
// Read return type
|
||||
// Handle if "auto" later
|
||||
desc.ReturnType = ParseType(ref context);
|
||||
|
||||
// Read name
|
||||
@@ -841,15 +842,21 @@ namespace Flax.Build.Bindings
|
||||
// Read parameters
|
||||
desc.Parameters.AddRange(ParseFunctionParameters(ref context));
|
||||
|
||||
// Read ';' or 'const' or 'override' or '= 0' or '{'
|
||||
// Read ';' or 'const' or 'override' or '= 0' or '{' or '-'
|
||||
while (true)
|
||||
{
|
||||
var token = context.Tokenizer.ExpectAnyTokens(new[] { TokenType.SemiColon, TokenType.LeftCurlyBrace, TokenType.Equal, TokenType.Identifier });
|
||||
var token = context.Tokenizer.ExpectAnyTokens(new[] { TokenType.SemiColon, TokenType.LeftCurlyBrace, TokenType.Equal, TokenType.Sub, TokenType.Identifier });
|
||||
if (token.Type == TokenType.Equal)
|
||||
{
|
||||
context.Tokenizer.SkipUntil(TokenType.SemiColon);
|
||||
break;
|
||||
}
|
||||
// Support auto FunctionName() -> Type
|
||||
else if (token.Type == TokenType.Sub && desc.ReturnType.ToString() == "auto")
|
||||
{
|
||||
context.Tokenizer.SkipUntil(TokenType.GreaterThan);
|
||||
desc.ReturnType = ParseType(ref context);
|
||||
}
|
||||
else if (token.Type == TokenType.Identifier)
|
||||
{
|
||||
switch (token.Value)
|
||||
|
||||
Reference in New Issue
Block a user