diff --git a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/watch/WatchRow.java b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/watch/WatchRow.java index e55da5b827..7466a95893 100644 --- a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/watch/WatchRow.java +++ b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/watch/WatchRow.java @@ -245,7 +245,7 @@ public class WatchRow { Language newLanguage = trace.getBaseLanguage(); if (language != newLanguage) { if (!(newLanguage instanceof SleighLanguage)) { - error = new RuntimeException("Not a sleigh-based langauge"); + error = new RuntimeException("Not a sleigh-based language"); return; } language = (SleighLanguage) newLanguage; diff --git a/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/DBTraceData.java b/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/DBTraceData.java index 82a6046074..c16c32a13e 100644 --- a/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/DBTraceData.java +++ b/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/DBTraceData.java @@ -37,7 +37,7 @@ public class DBTraceData extends AbstractDBTraceCodeUnit implements DBTraceDefinedDataAdapter { private static final String TABLE_NAME = "Data"; - static final String LANGUAGE_COLUMN_NAME = "Langauge"; + static final String LANGUAGE_COLUMN_NAME = "Language"; static final String DATATYPE_COLUMN_NAME = "DataType"; @DBAnnotatedColumn(LANGUAGE_COLUMN_NAME) @@ -75,7 +75,7 @@ public class DBTraceData extends AbstractDBTraceCodeUnit } language = space.manager.languageManager.getLanguageByKey(langKey); if (language == null) { - throw new IOException("Data table is corrupt. Missing langauge: " + langKey); + throw new IOException("Data table is corrupt. Missing language: " + langKey); } dataType = space.dataTypeManager.getDataType(dataTypeID); if (dataType == null) { diff --git a/Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/language/DBTraceLanguageManagerTest.java b/Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/language/DBTraceLanguageManagerTest.java index f84cfdf1d6..38858d115d 100644 --- a/Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/language/DBTraceLanguageManagerTest.java +++ b/Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/language/DBTraceLanguageManagerTest.java @@ -55,7 +55,7 @@ public class DBTraceLanguageManagerTest extends AbstractGhidraHeadlessIntegratio } @Test - public void testAddGuestLangauge() throws LanguageNotFoundException { + public void testAddGuestLanguage() throws LanguageNotFoundException { try (UndoableTransaction tid = b.startTransaction()) { assertEquals(0, manager.languageStore.getRecordCount()); manager.addGuestLanguage(b.getLanguage("x86:LE:32:default")); diff --git a/Ghidra/Features/Base/ghidra_scripts/ReloadSleighLanguage.java b/Ghidra/Features/Base/ghidra_scripts/ReloadSleighLanguage.java new file mode 100644 index 0000000000..5fb030ee61 --- /dev/null +++ b/Ghidra/Features/Base/ghidra_scripts/ReloadSleighLanguage.java @@ -0,0 +1,43 @@ +/* ### + * IP: GHIDRA + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Reloads the language specification associated with a program at runtime. +// @category sleigh +import ghidra.app.script.GhidraScript; +import ghidra.program.model.lang.Language; +import ghidra.util.Msg; + +import java.io.IOException; + +public class ReloadSleighLanguage extends GhidraScript { + + @Override + public void run() throws Exception { + if (currentProgram == null) { + return; + } + Language language = currentProgram.getLanguage(); + try { + language.reloadLanguage(monitor); + } + catch (IOException e) { + Msg.showError(this, this.state.getParamPanel(), "Reload Sleigh Language Failed", + e.getMessage()); + return; + } + currentProgram.setLanguage(language, currentProgram.getCompilerSpec().getCompilerSpecID(), + true, monitor); + } +} diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/ProgramUserDataDB.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/ProgramUserDataDB.java index 77a891dfd6..998d9f5f65 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/ProgramUserDataDB.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/ProgramUserDataDB.java @@ -274,7 +274,7 @@ class ProgramUserDataDB extends DomainObjectAdapterDB implements ProgramUserData /** * Language specified by languageName was not found. Check for - * valid language translation/migration. Old langauge version specified by + * valid language translation/migration. Old language version specified by * languageVersion. * @param openMode one of: * READ_ONLY: the original database will not be modified diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/disassemble/Disassembler.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/disassemble/Disassembler.java index 7a754f89a8..3ddf8321cf 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/disassemble/Disassembler.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/disassemble/Disassembler.java @@ -1711,10 +1711,10 @@ public class Disassembler implements DisassemblerConflictHandler { private static class InstructionContext implements ProcessorContext { private RegisterValue contextValue; - private Language langauge; + private Language language; InstructionContext(Language language, RegisterValue contextValue) { - this.langauge = language; + this.language = language; this.contextValue = contextValue; } @@ -1729,12 +1729,12 @@ public class Disassembler implements DisassemblerConflictHandler { @Override public List getRegisters() { - return langauge.getRegisters(); + return language.getRegisters(); } @Override public Register getRegister(String name) { - return langauge.getRegister(name); + return language.getRegister(name); } @Override diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/lang/RegisterBuilder.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/lang/RegisterBuilder.java index eca3c69911..0786ed1bfe 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/lang/RegisterBuilder.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/lang/RegisterBuilder.java @@ -167,7 +167,7 @@ public class RegisterBuilder { } /** - * Rename a register. This allows generic register names declared within the langauge + * Rename a register. This allows generic register names declared within the language * specification (*.slaspec) to be renamed for a processor variant specification (*.pspec). * @param oldName original register name * @param newName new register name diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/OldLanguageFactory.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/OldLanguageFactory.java index 2a1a784655..91dd9a6494 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/OldLanguageFactory.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/OldLanguageFactory.java @@ -214,7 +214,7 @@ public class OldLanguageFactory { LanguageService languageService = DefaultLanguageService.getLanguageService(); if (lang instanceof OldLanguage) { throw new LanguageNotFoundException( - "Can't create an Old Langauge file from an OldLanguage"); + "Can't create an Old Language file from an OldLanguage"); } LanguageDescription languageDescription = languageService.getLanguageDescription(lang.getLanguageID());