Fixed: AS3 native functions outside class allowed

This commit is contained in:
Jindra Petřík
2025-05-31 15:55:24 +02:00
parent 894b152bbd
commit fc61380bed
3 changed files with 3 additions and 2 deletions

View File

@@ -1104,7 +1104,7 @@ public class ActionScript3Parser {
boolean isInternal = false;
NamespaceItem ns = packageInternalNs;
List<ParsedSymbol> preSymbols = new ArrayList<>();
while (s.isType(SymbolType.FINAL, SymbolType.DYNAMIC, SymbolType.PUBLIC, SymbolType.INTERNAL)) {
while (s.isType(SymbolType.FINAL, SymbolType.DYNAMIC, SymbolType.PUBLIC, SymbolType.INTERNAL, SymbolType.NATIVE)) {
if (s.type == SymbolType.FINAL) {
if (isFinal) {
throw new AVM2ParseException("Only one final keyword allowed", lexer.yyline());

View File

@@ -887,7 +887,7 @@ public class ActionScript3SimpleParser implements SimpleParser {
boolean isNative = false;
boolean isInternal = false;
List<ParsedSymbol> preSymbols = new ArrayList<>();
while (s.isType(SymbolType.FINAL, SymbolType.DYNAMIC, SymbolType.PUBLIC, SymbolType.INTERNAL)) {
while (s.isType(SymbolType.FINAL, SymbolType.DYNAMIC, SymbolType.PUBLIC, SymbolType.INTERNAL, SymbolType.NATIVE)) {
if (s.type == SymbolType.FINAL) {
if (isFinal) {
errors.add(new SimpleParseException("Only one final keyword allowed", lexer.yyline(), s.position));