mirror of
https://github.com/adelphes/android-dev-ext.git
synced 2025-12-23 09:59:25 +00:00
fix type checking of field and method declarations
This commit is contained in:
@@ -1,16 +1,18 @@
|
||||
const { ModuleBlock, TypeDeclBlock } = require('../parser9');
|
||||
const ParseProblem = require('../parsetypes/parse-problem');
|
||||
const {SourceType} = require('../source-type');
|
||||
const {JavaType, CEIType, TypeArgument, UnresolvedType} = require('java-mti')
|
||||
const {JavaType, ArrayType, CEIType, TypeArgument, UnresolvedType} = require('java-mti');
|
||||
const { AnyType } = require('../body-types');
|
||||
|
||||
/**
|
||||
* @param {JavaType} type
|
||||
*/
|
||||
function checkType(type, is_return_type, typeTokens, probs) {
|
||||
if (type instanceof UnresolvedType) {
|
||||
const typesig = type.typeSignature;
|
||||
if (/^\[*U/.test(typesig)) {
|
||||
probs.push(ParseProblem.Error(typeTokens, `Unresolved type '${type.label}'`))
|
||||
return;
|
||||
}
|
||||
const typesig = type.typeSignature;
|
||||
if (typesig === 'V' && !is_return_type) {
|
||||
probs.push(ParseProblem.Error(typeTokens, `'void' is not a valid type for variables`))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user