update typemap declarations to use CEIType instead of JavaType

This commit is contained in:
Dave Holoway
2020-06-16 18:21:14 +01:00
parent b61ef125fc
commit 26e54bba37
6 changed files with 57 additions and 57 deletions

View File

@@ -46,7 +46,7 @@ function flattenBlocks(blocks, isMethod) {
/** /**
* @param {SourceMethod | SourceConstructor | SourceInitialiser} method * @param {SourceMethod | SourceConstructor | SourceInitialiser} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function parseBody(method, imports, typemap) { function parseBody(method, imports, typemap) {
const body = method.body; const body = method.body;
@@ -149,7 +149,7 @@ function extractSourceTypes(tokens, typemap) {
/** /**
* @param {string} source * @param {string} source
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function parse(source, typemap) { function parse(source, typemap) {
const unit = new SourceUnit(); const unit = new SourceUnit();
@@ -190,7 +190,7 @@ function parse(source, typemap) {
/** /**
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {SourceUnit} unit * @param {SourceUnit} unit
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function parseUnit(tokens, unit, typemap) { function parseUnit(tokens, unit, typemap) {
let package_name = ''; let package_name = '';
@@ -282,7 +282,7 @@ function packageDeclaration(tokens) {
/** /**
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function importDeclaration(tokens, typemap) { function importDeclaration(tokens, typemap) {
tokens.mark(); tokens.mark();
@@ -332,7 +332,7 @@ function addLocals(tokens, mdecls, new_locals) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
* @returns {ResolvedIdent|Local[]|Statement} * @returns {ResolvedIdent|Local[]|Statement}
*/ */
function statement(tokens, mdecls, method, imports, typemap) { function statement(tokens, mdecls, method, imports, typemap) {
@@ -616,7 +616,7 @@ class ArrayIndexExpression extends Expression {
* @param {string} typeKind * @param {string} typeKind
* @param {{types:SourceType[]}} owner * @param {{types:SourceType[]}} owner
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function sourceType(modifiers, tokens, scope_or_pkgname, typeKind, owner, imports, typemap) { function sourceType(modifiers, tokens, scope_or_pkgname, typeKind, owner, imports, typemap) {
let package_name, scope; let package_name, scope;
@@ -660,7 +660,7 @@ function sourceType(modifiers, tokens, scope_or_pkgname, typeKind, owner, import
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {{types:SourceType[]}} owner * @param {{types:SourceType[]}} owner
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function typeBody(type, tokens, owner, imports, typemap) { function typeBody(type, tokens, owner, imports, typemap) {
for (;;) { for (;;) {
@@ -710,7 +710,7 @@ function typeBody(type, tokens, owner, imports, typemap) {
* @param {SourceType} type * @param {SourceType} type
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function fmc(modifiers, annotations, type_vars, type, tokens, imports, typemap) { function fmc(modifiers, annotations, type_vars, type, tokens, imports, typemap) {
let decl_type_ident = typeIdent(tokens, type, imports, typemap, { no_array_qualifiers: false, type_vars }); let decl_type_ident = typeIdent(tokens, type, imports, typemap, { no_array_qualifiers: false, type_vars });
@@ -811,7 +811,7 @@ function annotation(tokens, scope, imports, typemap) {
* @param {Token} kind_token * @param {Token} kind_token
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function typeDeclaration(package_name, scope, modifiers, typeKind, kind_token, tokens, imports, typemap) { function typeDeclaration(package_name, scope, modifiers, typeKind, kind_token, tokens, imports, typemap) {
let name = tokens.inc(); let name = tokens.inc();
@@ -843,7 +843,7 @@ function typeDeclaration(package_name, scope, modifiers, typeKind, kind_token, t
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function typeVariableList(owner, tokens, scope, imports, typemap) { function typeVariableList(owner, tokens, scope, imports, typemap) {
tokens.expectValue('<'); tokens.expectValue('<');
@@ -885,7 +885,7 @@ function typeVariableList(owner, tokens, scope, imports, typemap) {
* @param {SourceType} owner * @param {SourceType} owner
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function methodDeclaration(type_vars, owner, tokens, imports, typemap) { function methodDeclaration(type_vars, owner, tokens, imports, typemap) {
tokens.expectValue('('); tokens.expectValue('(');
@@ -924,7 +924,7 @@ function methodDeclaration(type_vars, owner, tokens, imports, typemap) {
* @param {SourceType} owner * @param {SourceType} owner
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function parameterDeclaration(type_vars, owner, tokens, imports, typemap) { function parameterDeclaration(type_vars, owner, tokens, imports, typemap) {
const modifiers = []; const modifiers = [];
@@ -957,7 +957,7 @@ function parameterDeclaration(type_vars, owner, tokens, imports, typemap) {
* @param {SourceType} type * @param {SourceType} type
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function enumValueList(type, tokens, imports, typemap) { function enumValueList(type, tokens, imports, typemap) {
for (;;) { for (;;) {
@@ -1002,7 +1002,7 @@ function enumValueList(type, tokens, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function statementBlock(tokens, mdecls, method, imports, typemap) { function statementBlock(tokens, mdecls, method, imports, typemap) {
const b = new Block(); const b = new Block();
@@ -1031,7 +1031,7 @@ function semicolon(tokens) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function statementKeyword(tokens, mdecls, method, imports, typemap) { function statementKeyword(tokens, mdecls, method, imports, typemap) {
let s; let s;
@@ -1134,7 +1134,7 @@ function statementKeyword(tokens, mdecls, method, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function bracketedTest(tokens, mdecls, scope, imports, typemap) { function bracketedTest(tokens, mdecls, scope, imports, typemap) {
tokens.expectValue('('); tokens.expectValue('(');
@@ -1148,7 +1148,7 @@ function bracketedTest(tokens, mdecls, scope, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function nonVarDeclStatement(tokens, mdecls, method, imports, typemap) { function nonVarDeclStatement(tokens, mdecls, method, imports, typemap) {
const s = statement(tokens, mdecls, method, imports, typemap); const s = statement(tokens, mdecls, method, imports, typemap);
@@ -1164,7 +1164,7 @@ function nonVarDeclStatement(tokens, mdecls, method, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function forStatement(s, tokens, mdecls, method, imports, typemap) { function forStatement(s, tokens, mdecls, method, imports, typemap) {
tokens.expectValue('('); tokens.expectValue('(');
@@ -1200,7 +1200,7 @@ function forStatement(s, tokens, mdecls, method, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function enhancedFor(s, tokens, mdecls, method, imports, typemap) { function enhancedFor(s, tokens, mdecls, method, imports, typemap) {
const colon = tokens.current; const colon = tokens.current;
@@ -1225,7 +1225,7 @@ function enhancedFor(s, tokens, mdecls, method, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function synchronizedStatement(s, tokens, mdecls, method, imports, typemap) { function synchronizedStatement(s, tokens, mdecls, method, imports, typemap) {
tokens.expectValue('('); tokens.expectValue('(');
@@ -1240,7 +1240,7 @@ function synchronizedStatement(s, tokens, mdecls, method, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function assertStatement(s, tokens, mdecls, method, imports, typemap) { function assertStatement(s, tokens, mdecls, method, imports, typemap) {
s.expression = expression(tokens, mdecls, method, imports, typemap); s.expression = expression(tokens, mdecls, method, imports, typemap);
@@ -1255,7 +1255,7 @@ function assertStatement(s, tokens, mdecls, method, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function catchFinallyBlocks(s, tokens, mdecls, method, imports, typemap) { function catchFinallyBlocks(s, tokens, mdecls, method, imports, typemap) {
for (;;) { for (;;) {
@@ -1320,7 +1320,7 @@ function catchFinallyBlocks(s, tokens, mdecls, method, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function catchType(tokens, mdecls, method, imports, typemap) { function catchType(tokens, mdecls, method, imports, typemap) {
const t = qualifiedTerm(tokens, mdecls, method, imports, typemap); const t = qualifiedTerm(tokens, mdecls, method, imports, typemap);
@@ -1337,7 +1337,7 @@ function catchType(tokens, mdecls, method, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function switchBlock(s, tokens, mdecls, method, imports, typemap) { function switchBlock(s, tokens, mdecls, method, imports, typemap) {
tokens.expectValue('('); tokens.expectValue('(');
@@ -1361,7 +1361,7 @@ function switchBlock(s, tokens, mdecls, method, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function caseBlock(s, tokens, mdecls, method, imports, typemap) { function caseBlock(s, tokens, mdecls, method, imports, typemap) {
const case_start_idx = s.cases.length; const case_start_idx = s.cases.length;
@@ -1386,7 +1386,7 @@ function caseBlock(s, tokens, mdecls, method, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function caseExpressionList(cases, tokens, mdecls, method, imports, typemap) { function caseExpressionList(cases, tokens, mdecls, method, imports, typemap) {
let c = caseExpression(cases, tokens, mdecls, method, imports, typemap); let c = caseExpression(cases, tokens, mdecls, method, imports, typemap);
@@ -1405,7 +1405,7 @@ function caseExpressionList(cases, tokens, mdecls, method, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {SourceMC} method * @param {SourceMC} method
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function caseExpression(cases, tokens, mdecls, method, imports, typemap) { function caseExpression(cases, tokens, mdecls, method, imports, typemap) {
/** @type {boolean|ResolvedIdent} */ /** @type {boolean|ResolvedIdent} */
@@ -1433,7 +1433,7 @@ function caseExpression(cases, tokens, mdecls, method, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function var_ident_list(mods, type, first_ident, tokens, mdecls, scope, imports, typemap) { function var_ident_list(mods, type, first_ident, tokens, mdecls, scope, imports, typemap) {
const new_locals = []; const new_locals = [];
@@ -1476,7 +1476,7 @@ function var_ident_list(mods, type, first_ident, tokens, mdecls, scope, imports,
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
* @returns {ResolvedIdent|Local[]} * @returns {ResolvedIdent|Local[]}
*/ */
function expression_or_var_decl(tokens, mdecls, scope, imports, typemap) { function expression_or_var_decl(tokens, mdecls, scope, imports, typemap) {
@@ -1497,7 +1497,7 @@ function expression_or_var_decl(tokens, mdecls, scope, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
* @returns {ResolvedIdent[]|Local[]} * @returns {ResolvedIdent[]|Local[]}
*/ */
function expression_list_or_var_decl(tokens, mdecls, scope, imports, typemap) { function expression_list_or_var_decl(tokens, mdecls, scope, imports, typemap) {
@@ -1539,7 +1539,7 @@ const operator_precedences = {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function expression(tokens, mdecls, scope, imports, typemap, precedence_stack = [13]) { function expression(tokens, mdecls, scope, imports, typemap, precedence_stack = [13]) {
tokens.mark(); tokens.mark();
@@ -1582,7 +1582,7 @@ function expression(tokens, mdecls, scope, imports, typemap, precedence_stack =
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function qualifiedTerm(tokens, mdecls, scope, imports, typemap) { function qualifiedTerm(tokens, mdecls, scope, imports, typemap) {
let matches = rootTerm(tokens, mdecls, scope, imports, typemap); let matches = rootTerm(tokens, mdecls, scope, imports, typemap);
@@ -1635,7 +1635,7 @@ function isCastExpression(token, matches) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
* @returns {ResolvedIdent} * @returns {ResolvedIdent}
*/ */
function rootTerm(tokens, mdecls, scope, imports, typemap) { function rootTerm(tokens, mdecls, scope, imports, typemap) {
@@ -1729,7 +1729,7 @@ function rootTerm(tokens, mdecls, scope, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function newTerm(tokens, mdecls, scope, imports, typemap) { function newTerm(tokens, mdecls, scope, imports, typemap) {
tokens.expectValue('new'); tokens.expectValue('new');
@@ -1785,7 +1785,7 @@ function newTerm(tokens, mdecls, scope, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
* @param {{isArrayLiteral: boolean}} [opts] * @param {{isArrayLiteral: boolean}} [opts]
*/ */
function expressionList(tokens, mdecls, scope, imports, typemap, opts) { function expressionList(tokens, mdecls, scope, imports, typemap, opts) {
@@ -1843,7 +1843,7 @@ function getTypeInheritanceList(type) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function qualifiers(matches, tokens, mdecls, scope, imports, typemap) { function qualifiers(matches, tokens, mdecls, scope, imports, typemap) {
for (;;) { for (;;) {
@@ -1879,7 +1879,7 @@ function qualifiers(matches, tokens, mdecls, scope, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function memberQualifier(matches, tokens, mdecls, scope, imports, typemap) { function memberQualifier(matches, tokens, mdecls, scope, imports, typemap) {
tokens.expectValue('.'); tokens.expectValue('.');
@@ -1916,7 +1916,7 @@ function memberQualifier(matches, tokens, mdecls, scope, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function arrayQualifiers(matches, tokens, mdecls, scope, imports, typemap) { function arrayQualifiers(matches, tokens, mdecls, scope, imports, typemap) {
while (tokens.isValue('[')) { while (tokens.isValue('[')) {
@@ -1941,7 +1941,7 @@ function arrayQualifiers(matches, tokens, mdecls, scope, imports, typemap) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function methodCallQualifier(matches, tokens, mdecls, scope, imports, typemap) { function methodCallQualifier(matches, tokens, mdecls, scope, imports, typemap) {
let args = []; let args = [];
@@ -1988,7 +1988,7 @@ function arrayTypeExpression(matches) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function resolveIdentifier(tokens, mdecls, scope, imports, typemap) { function resolveIdentifier(tokens, mdecls, scope, imports, typemap) {
const ident = tokens.current.value; const ident = tokens.current.value;
@@ -2016,7 +2016,7 @@ function checkIdentifierFound(tokens, ident, matches) {
* @param {MethodDeclarations} mdecls * @param {MethodDeclarations} mdecls
* @param {Scope} scope * @param {Scope} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<String,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function findIdentifier(ident, mdecls, scope, imports, typemap) { function findIdentifier(ident, mdecls, scope, imports, typemap) {
const matches = new ResolvedIdent(ident); const matches = new ResolvedIdent(ident);

View File

@@ -1,5 +1,5 @@
/** /**
* @typedef {import('java-mti').JavaType} JavaType * @typedef {import('java-mti').CEIType} CEIType
*/ */
const { ImportBlock } = require('../parser9'); const { ImportBlock } = require('../parser9');
@@ -14,7 +14,7 @@ const { ImportBlock } = require('../parser9');
/** /**
* @param {ImportBlock} import_decl * @param {ImportBlock} import_decl
* @param {RegExpMatchArray} matches * @param {RegExpMatchArray} matches
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
* @param {'owner-package'|'import'|'implicit-import'} import_kind * @param {'owner-package'|'import'|'implicit-import'} import_kind
*/ */
constructor(import_decl, matches, typemap, import_kind) { constructor(import_decl, matches, typemap, import_kind) {

View File

@@ -40,7 +40,7 @@ class SourceType extends CEIType {
* @param {ModuleBlock} mod * @param {ModuleBlock} mod
* @param {TypeDeclBlock} decl * @param {TypeDeclBlock} decl
* @param {string} qualified_type_name qualified $-separated type name * @param {string} qualified_type_name qualified $-separated type name
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
constructor(mod, decl, qualified_type_name, typemap) { constructor(mod, decl, qualified_type_name, typemap) {
super(decl.shortSignature, decl.kind(), mapmods(decl), decl.docs); super(decl.shortSignature, decl.kind(), mapmods(decl), decl.docs);

View File

@@ -1,5 +1,5 @@
/** /**
* @typedef {Map<string,JavaType>} TypeMap * @typedef {Map<string,CEIType>} TypeMap
*/ */
const { JavaType, PrimitiveType, ArrayType, CEIType, MethodBase, TypeVariable } = require('java-mti'); const { JavaType, PrimitiveType, ArrayType, CEIType, MethodBase, TypeVariable } = require('java-mti');
const { ResolvedImport } = require('./import-resolver'); const { ResolvedImport } = require('./import-resolver');
@@ -263,7 +263,7 @@ function resolveTypeIdents(types, fully_qualified_scope, resolved_imports, typem
* @param {TypeVariable[]} type_variables * @param {TypeVariable[]} type_variables
* @param {CEIType|MethodBase} scope * @param {CEIType|MethodBase} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {TypeMap} typemap
*/ */
function resolveTypeOrPackage(ident, type_variables, scope, imports, typemap) { function resolveTypeOrPackage(ident, type_variables, scope, imports, typemap) {
const types = []; const types = [];
@@ -344,7 +344,7 @@ function resolveTypeOrPackage(ident, type_variables, scope, imports, typemap) {
* @param {string} ident * @param {string} ident
* @param {JavaType[]} outer_types * @param {JavaType[]} outer_types
* @param {string} outer_package_name * @param {string} outer_package_name
* @param {Map<string,JavaType>} typemap * @param {TypeMap} typemap
*/ */
function resolveNextTypeOrPackage(ident, outer_types, outer_package_name, typemap) { function resolveNextTypeOrPackage(ident, outer_types, outer_package_name, typemap) {
const types = []; const types = [];

View File

@@ -14,7 +14,7 @@ const { AnyType } = require("./body-types");
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {CEIType|MethodBase} scope * @param {CEIType|MethodBase} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function typeIdentList(tokens, scope, imports, typemap) { function typeIdentList(tokens, scope, imports, typemap) {
let type = typeIdent(tokens, scope, imports, typemap); let type = typeIdent(tokens, scope, imports, typemap);
@@ -31,7 +31,7 @@ function typeIdentList(tokens, scope, imports, typemap) {
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {CEIType|MethodBase} scope * @param {CEIType|MethodBase} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
* @param {{no_array_qualifiers:boolean, type_vars:TypeVariable[]}} [opts] * @param {{no_array_qualifiers:boolean, type_vars:TypeVariable[]}} [opts]
*/ */
function typeIdent(tokens, scope, imports, typemap, opts) { function typeIdent(tokens, scope, imports, typemap, opts) {
@@ -44,7 +44,7 @@ function typeIdent(tokens, scope, imports, typemap, opts) {
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {CEIType|MethodBase} scope * @param {CEIType|MethodBase} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
* @param {{no_array_qualifiers:boolean, type_vars: TypeVariable[]}} [opts] * @param {{no_array_qualifiers:boolean, type_vars: TypeVariable[]}} [opts]
*/ */
function singleTypeIdent(tokens, scope, imports, typemap, opts) { function singleTypeIdent(tokens, scope, imports, typemap, opts) {
@@ -107,7 +107,7 @@ function singleTypeIdent(tokens, scope, imports, typemap, opts) {
* @param {JavaType[]} types * @param {JavaType[]} types
* @param {CEIType|MethodBase} scope * @param {CEIType|MethodBase} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
*/ */
function genericTypeArgs(tokens, types, scope, imports, typemap) { function genericTypeArgs(tokens, types, scope, imports, typemap) {
if (tokens.isValue('>')) { if (tokens.isValue('>')) {
@@ -144,7 +144,7 @@ function genericTypeArgs(tokens, types, scope, imports, typemap) {
* @param {TokenList} tokens * @param {TokenList} tokens
* @param {CEIType|MethodBase} scope * @param {CEIType|MethodBase} scope
* @param {ResolvedImport[]} imports * @param {ResolvedImport[]} imports
* @param {Map<string,JavaType>} typemap * @param {Map<string,CEIType>} typemap
* @returns {WildcardType} * @returns {WildcardType}
*/ */
function wildcardTypeArgument(tokens, scope, imports, typemap) { function wildcardTypeArgument(tokens, scope, imports, typemap) {

View File

@@ -17,7 +17,7 @@ const {
const { TextDocument } = require('vscode-languageserver-textdocument'); const { TextDocument } = require('vscode-languageserver-textdocument');
const { loadAndroidLibrary, JavaType } = require('java-mti'); const { loadAndroidLibrary, CEIType } = require('java-mti');
const { ParseProblem } = require('./java/parser'); const { ParseProblem } = require('./java/parser');
const { parse } = require('./java/body-parser3'); const { parse } = require('./java/body-parser3');
@@ -25,7 +25,7 @@ const { SourceUnit } = require('./java/source-type');
const { validate } = require('./java/validater'); const { validate } = require('./java/validater');
/** /**
* @typedef {Map<string, JavaType>} AndroidLibrary * @typedef {Map<string, CEIType>} AndroidLibrary
* @type {AndroidLibrary|Promise<AndroidLibrary>} * @type {AndroidLibrary|Promise<AndroidLibrary>}
*/ */
let androidLibrary = null; let androidLibrary = null;
@@ -43,7 +43,7 @@ let connection = createConnection(ProposedFeatures.all);
///** @type {LiveParseInfo[]} */ ///** @type {LiveParseInfo[]} */
//const liveParsers = []; //const liveParsers = [];
/** @type {{content: string, uri: string, result: {unit:SourceUnit, problems:*[]}, typemap:Map<string,JavaType>, positionAt:(n) => Position, indexAt:(p:Position) => number}} */ /** @type {{content: string, uri: string, result: {unit:SourceUnit, problems:*[]}, typemap:Map<string,CEIType>, positionAt:(n) => Position, indexAt:(p:Position) => number}} */
let parsed = null; let parsed = null;
function reparse(uri, content) { function reparse(uri, content) {
@@ -149,8 +149,8 @@ let hasDiagnosticRelatedInformationCapability = false;
connection.onInitialize((params) => { connection.onInitialize((params) => {
console.time('android-library-load') console.time('android-library-load')
androidLibrary = loadAndroidLibrary('android-25').then(lib => { androidLibrary = loadAndroidLibrary('android-25').then(lib => {
console.timeEnd('android-library-load') console.timeEnd('android-library-load')
return androidLibrary = lib; return androidLibrary = lib;
}, err => { }, err => {
console.log(`android library load failed: ${err.message}`); console.log(`android library load failed: ${err.message}`);
return androidLibrary = new Map(); return androidLibrary = new Map();