mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 23:58:50 +00:00
Change import name determination rules
Use custom name if given, then directory name, then the package name
This commit is contained in:
+5
-3
@@ -2631,7 +2631,7 @@ bool is_string_an_identifier(String s) {
|
|||||||
return offset == s.len;
|
return offset == s.len;
|
||||||
}
|
}
|
||||||
|
|
||||||
String path_to_entity_name(String name, String fullpath) {
|
String path_to_entity_name(String name, String fullpath, bool strip_extension=true) {
|
||||||
if (name.len != 0) {
|
if (name.len != 0) {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
@@ -2650,6 +2650,7 @@ String path_to_entity_name(String name, String fullpath) {
|
|||||||
|
|
||||||
filename = substring(filename, slash, filename.len);
|
filename = substring(filename, slash, filename.len);
|
||||||
|
|
||||||
|
if (strip_extension) {
|
||||||
dot = filename.len;
|
dot = filename.len;
|
||||||
while (dot --> 0) {
|
while (dot --> 0) {
|
||||||
u8 c = filename[dot];
|
u8 c = filename[dot];
|
||||||
@@ -2661,6 +2662,7 @@ String path_to_entity_name(String name, String fullpath) {
|
|||||||
if (dot > 0) {
|
if (dot > 0) {
|
||||||
filename = substring(filename, 0, dot);
|
filename = substring(filename, 0, dot);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (is_string_an_identifier(filename)) {
|
if (is_string_an_identifier(filename)) {
|
||||||
return filename;
|
return filename;
|
||||||
@@ -2884,8 +2886,8 @@ void check_add_import_decl(CheckerContext *ctx, Ast *decl) {
|
|||||||
ptr_set_add(&parent_scope->imported, scope);
|
ptr_set_add(&parent_scope->imported, scope);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String import_name = path_to_entity_name(id->import_name.string, id->fullpath, false);
|
||||||
String import_name = id->import_name.string;
|
// String import_name = id->import_name.string;
|
||||||
if (import_name.len == 0) {
|
if (import_name.len == 0) {
|
||||||
import_name = scope->pkg->name;
|
import_name = scope->pkg->name;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user