parseFileObject function
//解析基本数据类型 解析File 对象 ast
Implementation
//dynamic _parseLiteral(Map ast) {
// var valueType = ast['type'];
// if (valueType == astNodeNameValue(AstNodeName.StringLiteral)) {
// return _parseStringValue(ast);
// } else if (valueType == astNodeNameValue(AstNodeName.NumericLiteral)) {
// return _parseNumericValue(ast);
// } else if (valueType == astNodeNameValue(AstNodeName.BooleanLiteral)) {
// return _parseBooleanValue(ast);
// } else if (valueType == astNodeNameValue(AstNodeName.SetOrMapLiteral)) {
// return MapLiteral.fromAst(ast);
// } else if (valueType == astNodeNameValue(AstNodeName.ListLiteral)) {
// return ListLiteral.fromAst(ast);
// }
// return null;
//}
///解析File 对象 ast
File? parseFileObject(MethodInvocation fileMethod) {
var callee = fileMethod.callee;
if (callee?.isIdentifier==true && callee?.asIdentifier.name == 'File') {
var argumentList = fileMethod.argumentList;
if (argumentList != null &&
argumentList.isNotEmpty &&
argumentList[0]?.isStringLiteral==true) {
var path = argumentList[0]?.asStringLiteral.value;
return File(path??'');
}
}
return null;
}