Add key 'module' into interop definitions file

This commit is contained in:
Kirill Shmakov
2019-03-07 16:23:20 +03:00
parent 607288b089
commit fe9236f91e
8 changed files with 487 additions and 460 deletions
File diff suppressed because it is too large Load Diff
@@ -355,7 +355,7 @@ public class NativeDefinitionsParser implements PsiParser, LightPsiParser {
/* ********************************************************** */ /* ********************************************************** */
// COMPILER_OPTS | DEPENDS | ENTRY_POINT | EXCLUDED_FUNCTIONS // COMPILER_OPTS | DEPENDS | ENTRY_POINT | EXCLUDED_FUNCTIONS
// | EXCLUDED_MACROS | EXPORT_FORWARD_DECLARATIONS | HEADER_FILTER // | EXCLUDED_MACROS | EXPORT_FORWARD_DECLARATIONS | HEADER_FILTER
// | HEADERS | LIBRARY_PATHS | LINKER_OPTS | NON_STRICT_ENUMS // | HEADERS | LIBRARY_PATHS | LINKER_OPTS | MODULES | NON_STRICT_ENUMS
// | NO_STRING_CONVERSION | PACKAGE | STATIC_LIBRARIES | STRICT_ENUMS // | NO_STRING_CONVERSION | PACKAGE | STATIC_LIBRARIES | STRICT_ENUMS
public static boolean stringsKey(PsiBuilder b, int l) { public static boolean stringsKey(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "stringsKey")) return false; if (!recursion_guard_(b, l, "stringsKey")) return false;
@@ -371,6 +371,7 @@ public class NativeDefinitionsParser implements PsiParser, LightPsiParser {
if (!r) r = consumeToken(b, HEADERS); if (!r) r = consumeToken(b, HEADERS);
if (!r) r = consumeToken(b, LIBRARY_PATHS); if (!r) r = consumeToken(b, LIBRARY_PATHS);
if (!r) r = consumeToken(b, LINKER_OPTS); if (!r) r = consumeToken(b, LINKER_OPTS);
if (!r) r = consumeToken(b, MODULES);
if (!r) r = consumeToken(b, NON_STRICT_ENUMS); if (!r) r = consumeToken(b, NON_STRICT_ENUMS);
if (!r) r = consumeToken(b, NO_STRING_CONVERSION); if (!r) r = consumeToken(b, NO_STRING_CONVERSION);
if (!r) r = consumeToken(b, PACKAGE); if (!r) r = consumeToken(b, PACKAGE);
@@ -20,7 +20,6 @@ public interface NativeDefinitionsTypes {
IElementType ANDROID_ARM64 = new NativeDefinitionsTokenType("android_arm64"); IElementType ANDROID_ARM64 = new NativeDefinitionsTokenType("android_arm64");
IElementType ARM32 = new NativeDefinitionsTokenType("arm32"); IElementType ARM32 = new NativeDefinitionsTokenType("arm32");
IElementType ARM64 = new NativeDefinitionsTokenType("arm64"); IElementType ARM64 = new NativeDefinitionsTokenType("arm64");
IElementType BAD_CHARACTER = new NativeDefinitionsTokenType("BAD_CHARACTER");
IElementType CODE_CHARS = new NativeDefinitionsTokenType("CODE_CHARS"); IElementType CODE_CHARS = new NativeDefinitionsTokenType("CODE_CHARS");
IElementType COMMENT = new NativeDefinitionsTokenType("COMMENT"); IElementType COMMENT = new NativeDefinitionsTokenType("COMMENT");
IElementType COMPILER_OPTS = new NativeDefinitionsTokenType("compilerOpts"); IElementType COMPILER_OPTS = new NativeDefinitionsTokenType("compilerOpts");
@@ -53,6 +52,7 @@ public interface NativeDefinitionsTypes {
IElementType MINGW_X64 = new NativeDefinitionsTokenType("mingw_x64"); IElementType MINGW_X64 = new NativeDefinitionsTokenType("mingw_x64");
IElementType MIPS32 = new NativeDefinitionsTokenType("mips32"); IElementType MIPS32 = new NativeDefinitionsTokenType("mips32");
IElementType MIPSEL32 = new NativeDefinitionsTokenType("mipsel32"); IElementType MIPSEL32 = new NativeDefinitionsTokenType("mipsel32");
IElementType MODULES = new NativeDefinitionsTokenType("modules");
IElementType NON_STRICT_ENUMS = new NativeDefinitionsTokenType("nonStrictEnums"); IElementType NON_STRICT_ENUMS = new NativeDefinitionsTokenType("nonStrictEnums");
IElementType NO_STRING_CONVERSION = new NativeDefinitionsTokenType("noStringConversion"); IElementType NO_STRING_CONVERSION = new NativeDefinitionsTokenType("noStringConversion");
IElementType OSX = new NativeDefinitionsTokenType("osx"); IElementType OSX = new NativeDefinitionsTokenType("osx");
@@ -29,6 +29,7 @@
LIBRARY_PATHS="libraryPaths" LIBRARY_PATHS="libraryPaths"
LINKER="linker" LINKER="linker"
LINKER_OPTS="linkerOpts" LINKER_OPTS="linkerOpts"
MODULES="modules"
NON_STRICT_ENUMS="nonStrictEnums" NON_STRICT_ENUMS="nonStrictEnums"
NO_STRING_CONVERSION="noStringConversion" NO_STRING_CONVERSION="noStringConversion"
PACKAGE="package" PACKAGE="package"
@@ -81,7 +82,7 @@ stringValue ::= VALUE
private stringsDefinition_ ::= stringsKey platform_? SEPARATOR stringsValue private stringsDefinition_ ::= stringsKey platform_? SEPARATOR stringsValue
stringsKey ::= COMPILER_OPTS | DEPENDS | ENTRY_POINT | EXCLUDED_FUNCTIONS stringsKey ::= COMPILER_OPTS | DEPENDS | ENTRY_POINT | EXCLUDED_FUNCTIONS
| EXCLUDED_MACROS | EXPORT_FORWARD_DECLARATIONS | HEADER_FILTER | EXCLUDED_MACROS | EXPORT_FORWARD_DECLARATIONS | HEADER_FILTER
| HEADERS | LIBRARY_PATHS | LINKER_OPTS | NON_STRICT_ENUMS | HEADERS | LIBRARY_PATHS | LINKER_OPTS | MODULES | NON_STRICT_ENUMS
| NO_STRING_CONVERSION | PACKAGE | STATIC_LIBRARIES | STRICT_ENUMS | NO_STRING_CONVERSION | PACKAGE | STATIC_LIBRARIES | STRICT_ENUMS
stringsValue ::= VALUE stringsValue ::= VALUE
@@ -42,6 +42,7 @@ LANGUAGE="language"
LIBRARY_PATHS="libraryPaths" LIBRARY_PATHS="libraryPaths"
LINKER="linker" LINKER="linker"
LINKER_OPTS="linkerOpts" LINKER_OPTS="linkerOpts"
MODULES="modules"
NON_STRICT_ENUMS="nonStrictEnums" NON_STRICT_ENUMS="nonStrictEnums"
NO_STRING_CONVERSION="noStringConversion" NO_STRING_CONVERSION="noStringConversion"
PACKAGE="package" PACKAGE="package"
@@ -100,6 +101,7 @@ X64="x64"
{LIBRARY_PATHS} { yybegin(WAITING_PLATFORM); return LIBRARY_PATHS; } {LIBRARY_PATHS} { yybegin(WAITING_PLATFORM); return LIBRARY_PATHS; }
{LINKER} { yybegin(WAITING_PLATFORM); return LINKER; } {LINKER} { yybegin(WAITING_PLATFORM); return LINKER; }
{LINKER_OPTS} { yybegin(WAITING_PLATFORM); return LINKER_OPTS; } {LINKER_OPTS} { yybegin(WAITING_PLATFORM); return LINKER_OPTS; }
{MODULES} { yybegin(WAITING_PLATFORM); return MODULES; }
{NON_STRICT_ENUMS} { yybegin(WAITING_PLATFORM); return NON_STRICT_ENUMS; } {NON_STRICT_ENUMS} { yybegin(WAITING_PLATFORM); return NON_STRICT_ENUMS; }
{NO_STRING_CONVERSION} { yybegin(WAITING_PLATFORM); return NO_STRING_CONVERSION; } {NO_STRING_CONVERSION} { yybegin(WAITING_PLATFORM); return NO_STRING_CONVERSION; }
{PACKAGE} { yybegin(WAITING_PLATFORM); return PACKAGE; } {PACKAGE} { yybegin(WAITING_PLATFORM); return PACKAGE; }
@@ -115,6 +115,7 @@ object NativeDefinitionsSyntaxHighlighter : SyntaxHighlighterBase() {
NativeDefinitionsTypes.LIBRARY_PATHS -> KNOWN_PROPERTIES_KEYS NativeDefinitionsTypes.LIBRARY_PATHS -> KNOWN_PROPERTIES_KEYS
NativeDefinitionsTypes.LINKER -> KNOWN_PROPERTIES_KEYS NativeDefinitionsTypes.LINKER -> KNOWN_PROPERTIES_KEYS
NativeDefinitionsTypes.LINKER_OPTS -> KNOWN_PROPERTIES_KEYS NativeDefinitionsTypes.LINKER_OPTS -> KNOWN_PROPERTIES_KEYS
NativeDefinitionsTypes.MODULES -> KNOWN_PROPERTIES_KEYS
NativeDefinitionsTypes.NON_STRICT_ENUMS -> KNOWN_PROPERTIES_KEYS NativeDefinitionsTypes.NON_STRICT_ENUMS -> KNOWN_PROPERTIES_KEYS
NativeDefinitionsTypes.NO_STRING_CONVERSION -> KNOWN_PROPERTIES_KEYS NativeDefinitionsTypes.NO_STRING_CONVERSION -> KNOWN_PROPERTIES_KEYS
NativeDefinitionsTypes.PACKAGE -> KNOWN_PROPERTIES_KEYS NativeDefinitionsTypes.PACKAGE -> KNOWN_PROPERTIES_KEYS
@@ -30,6 +30,7 @@ nonStrictEnums.wasm32 = non strict
noStringConversion.linux_arm32_hfp = no string noStringConversion.linux_arm32_hfp = no string
strictEnums.android_arm64 = strict enums strictEnums.android_arm64 = strict enums
modules.osx = baba
--- ---
@@ -1,4 +1,4 @@
Definitions file for Kotlin/Native C interop(0,1401) Definitions file for Kotlin/Native C interop(0,1420)
PsiComment(NativeDefinitionsTokenType.COMMENT)('# In this test case all supported properties are used.')(0,54) PsiComment(NativeDefinitionsTokenType.COMMENT)('# In this test case all supported properties are used.')(0,54)
PsiWhiteSpace('\n')(54,55) PsiWhiteSpace('\n')(54,55)
NativeDefinitionsStringKeyImpl(STRING_KEY)(55,62) NativeDefinitionsStringKeyImpl(STRING_KEY)(55,62)
@@ -198,7 +198,16 @@ Definitions file for Kotlin/Native C interop(0,1401)
PsiWhiteSpace(' ')(944,945) PsiWhiteSpace(' ')(944,945)
NativeDefinitionsStringsValueImpl(STRINGS_VALUE)(945,957) NativeDefinitionsStringsValueImpl(STRINGS_VALUE)(945,957)
PsiElement(NativeDefinitionsTokenType.VALUE)('strict enums')(945,957) PsiElement(NativeDefinitionsTokenType.VALUE)('strict enums')(945,957)
PsiWhiteSpace('\n\n\n')(957,960) PsiWhiteSpace('\n\n')(957,959)
PsiElement(NativeDefinitionsTokenType.DELIM)('---\n')(960,964) NativeDefinitionsStringsKeyImpl(STRINGS_KEY)(959,966)
NativeDefinitionsCodeImpl(CODE)(964,1401) PsiElement(NativeDefinitionsTokenType.modules)('modules')(959,966)
PsiElement(NativeDefinitionsTokenType.CODE_CHARS)('\nstruct Hash { // Line comment.\n int data[2];\n};\n\n/**********************\n * Multiline comment. *\n **********************/\ninline static int strangeSum(const int* buffer, int bufferSize) {\n int result = 20;\n const char * stringLiteral = "This is a string";\n for (int i = 0; i < bufferSize; ++i) {\n result += stringLiteral[i % 10] & 1 == 0 ? (i << 1) : buffer[i / 2];\n if (stringLiter)\n }\n return result;\n}')(964,1401) PsiElement(NativeDefinitionsTokenType.osx)('.osx')(966,970)
PsiWhiteSpace(' ')(970,971)
PsiElement(NativeDefinitionsTokenType.SEPARATOR)('=')(971,972)
PsiWhiteSpace(' ')(972,973)
NativeDefinitionsStringsValueImpl(STRINGS_VALUE)(973,977)
PsiElement(NativeDefinitionsTokenType.VALUE)('baba')(973,977)
PsiWhiteSpace('\n\n')(977,979)
PsiElement(NativeDefinitionsTokenType.DELIM)('---\n')(979,983)
NativeDefinitionsCodeImpl(CODE)(983,1420)
PsiElement(NativeDefinitionsTokenType.CODE_CHARS)('\nstruct Hash { // Line comment.\n int data[2];\n};\n\n/**********************\n * Multiline comment. *\n **********************/\ninline static int strangeSum(const int* buffer, int bufferSize) {\n int result = 20;\n const char * stringLiteral = "This is a string";\n for (int i = 0; i < bufferSize; ++i) {\n result += stringLiteral[i % 10] & 1 == 0 ? (i << 1) : buffer[i / 2];\n if (stringLiter)\n }\n return result;\n}')(983,1420)